mediawiki/extensions/WikibaseLexeme: REL1_43 (log #1607460)

sourcepatches

This run took 171 seconds.

$ date
--- stdout ---
Thu Nov 14 16:34:10 UTC 2024

--- end ---
$ git clone file:///srv/git/mediawiki-extensions-WikibaseLexeme.git repo --depth=1 -b REL1_43
--- stderr ---
Cloning into 'repo'...
--- stdout ---

--- end ---
$ git config user.name libraryupgrader
--- stdout ---

--- end ---
$ git config user.email tools.libraryupgrader@tools.wmflabs.org
--- stdout ---

--- end ---
$ git submodule update --init
--- stderr ---
Submodule 'resources/special/new-lexeme' (https://phabricator.wikimedia.org/diffusion/NLSP/new-lexeme-special-page.git) registered for path 'resources/special/new-lexeme'
Cloning into '/src/repo/resources/special/new-lexeme'...
--- stdout ---
Submodule path 'resources/special/new-lexeme': checked out '0a9293702bb5993f1d02f51c3424947fbd7470e8'

--- end ---
$ grr init
--- stdout ---
Installed commit-msg hook.

--- end ---
$ git show-ref refs/heads/REL1_43
--- stdout ---
a7034db7c777cb5047b633b3d9f78a718aa7d975 refs/heads/REL1_43

--- end ---
$ /usr/bin/npm audit --json
--- stdout ---
{
  "auditReportVersion": 2,
  "vulnerabilities": {
    "request": {
      "name": "request",
      "severity": "moderate",
      "isDirect": true,
      "via": [
        {
          "source": 1096727,
          "name": "request",
          "dependency": "request",
          "title": "Server-Side Request Forgery in Request",
          "url": "https://github.com/advisories/GHSA-p8p7-x288-28g6",
          "severity": "moderate",
          "cwe": [
            "CWE-918"
          ],
          "cvss": {
            "score": 6.1,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N"
          },
          "range": "<=2.88.2"
        },
        "tough-cookie"
      ],
      "effects": [],
      "range": "*",
      "nodes": [
        "node_modules/request"
      ],
      "fixAvailable": false
    },
    "tough-cookie": {
      "name": "tough-cookie",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        {
          "source": 1097682,
          "name": "tough-cookie",
          "dependency": "tough-cookie",
          "title": "tough-cookie Prototype Pollution vulnerability",
          "url": "https://github.com/advisories/GHSA-72xf-g2v4-qvf3",
          "severity": "moderate",
          "cwe": [
            "CWE-1321"
          ],
          "cvss": {
            "score": 6.5,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N"
          },
          "range": "<4.1.3"
        }
      ],
      "effects": [
        "request"
      ],
      "range": "<4.1.3",
      "nodes": [
        "node_modules/request/node_modules/tough-cookie"
      ],
      "fixAvailable": false
    }
  },
  "metadata": {
    "vulnerabilities": {
      "info": 0,
      "low": 0,
      "moderate": 2,
      "high": 0,
      "critical": 0,
      "total": 2
    },
    "dependencies": {
      "prod": 1,
      "dev": 848,
      "optional": 5,
      "peer": 19,
      "peerOptional": 0,
      "total": 848
    }
  }
}

--- 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: 44 installs, 0 updates, 0 removals
  - Locking composer/pcre (3.3.2)
  - Locking composer/semver (3.4.3)
  - Locking composer/spdx-licenses (1.5.8)
  - Locking composer/xdebug-handler (3.0.5)
  - Locking davidrjonas/composer-lock-diff (1.7.0)
  - Locking dealerdirect/phpcodesniffer-composer-installer (v1.0.0)
  - Locking doctrine/deprecations (1.1.3)
  - Locking felixfbecker/advanced-json-rpc (v3.2.1)
  - Locking giorgiosironi/eris (0.14.0)
  - Locking hamcrest/hamcrest-php (v2.0.1)
  - Locking mediawiki/mediawiki-codesniffer (v45.0.0)
  - Locking mediawiki/mediawiki-phan-config (0.14.0)
  - Locking mediawiki/minus-x (1.1.3)
  - Locking mediawiki/phan-taint-check-plugin (6.0.0)
  - Locking microsoft/tolerant-php-parser (v0.1.2)
  - Locking netresearch/jsonmapper (v4.5.0)
  - Locking phan/phan (5.4.3)
  - Locking php-parallel-lint/php-console-color (v1.0.1)
  - Locking php-parallel-lint/php-console-highlighter (v1.0.0)
  - Locking php-parallel-lint/php-parallel-lint (v1.4.0)
  - Locking phpcsstandards/phpcsextra (1.2.1)
  - Locking phpcsstandards/phpcsutils (1.0.12)
  - Locking phpdocumentor/reflection-common (2.2.0)
  - Locking phpdocumentor/reflection-docblock (5.6.0)
  - Locking phpdocumentor/type-resolver (1.10.0)
  - Locking phpstan/phpdoc-parser (2.0.0)
  - Locking psr/container (2.0.2)
  - Locking psr/log (3.0.2)
  - Locking sabre/event (5.1.7)
  - Locking serialization/serialization (4.0.0)
  - Locking squizlabs/php_codesniffer (3.10.3)
  - Locking symfony/console (v7.1.8)
  - Locking symfony/deprecation-contracts (v3.5.0)
  - Locking symfony/polyfill-ctype (v1.31.0)
  - Locking symfony/polyfill-intl-grapheme (v1.31.0)
  - Locking symfony/polyfill-intl-normalizer (v1.31.0)
  - Locking symfony/polyfill-mbstring (v1.31.0)
  - Locking symfony/polyfill-php80 (v1.31.0)
  - Locking symfony/service-contracts (v3.5.0)
  - Locking symfony/string (v7.1.8)
  - Locking tysonandre/var_representation_polyfill (0.1.3)
  - Locking webmozart/assert (1.11.0)
  - Locking wikimedia/assert (v0.5.1)
  - Locking wmde/php-vuejs-templating (2.0.0)
Writing lock file
Installing dependencies from lock file (including require-dev)
Package operations: 44 installs, 0 updates, 0 removals
    0 [>---------------------------]    0 [->--------------------------]
  - Installing squizlabs/php_codesniffer (3.10.3): Extracting archive
  - Installing dealerdirect/phpcodesniffer-composer-installer (v1.0.0): Extracting archive
  - Installing composer/pcre (3.3.2): Extracting archive
  - Installing davidrjonas/composer-lock-diff (1.7.0): Extracting archive
  - Installing giorgiosironi/eris (0.14.0): Extracting archive
  - Installing hamcrest/hamcrest-php (v2.0.1): Extracting archive
  - Installing symfony/polyfill-php80 (v1.31.0): Extracting archive
  - Installing phpcsstandards/phpcsutils (1.0.12): Extracting archive
  - Installing phpcsstandards/phpcsextra (1.2.1): Extracting archive
  - Installing symfony/polyfill-mbstring (v1.31.0): Extracting archive
  - Installing composer/spdx-licenses (1.5.8): Extracting archive
  - Installing composer/semver (3.4.3): Extracting archive
  - Installing mediawiki/mediawiki-codesniffer (v45.0.0): Extracting archive
  - Installing tysonandre/var_representation_polyfill (0.1.3): Extracting archive
  - Installing symfony/polyfill-intl-normalizer (v1.31.0): Extracting archive
  - Installing symfony/polyfill-intl-grapheme (v1.31.0): Extracting archive
  - Installing symfony/polyfill-ctype (v1.31.0): Extracting archive
  - Installing symfony/string (v7.1.8): Extracting archive
  - Installing symfony/deprecation-contracts (v3.5.0): Extracting archive
  - Installing psr/container (2.0.2): Extracting archive
  - Installing symfony/service-contracts (v3.5.0): Extracting archive
  - Installing symfony/console (v7.1.8): Extracting archive
  - Installing sabre/event (5.1.7): Extracting archive
  - Installing netresearch/jsonmapper (v4.5.0): Extracting archive
  - Installing microsoft/tolerant-php-parser (v0.1.2): Extracting archive
  - Installing webmozart/assert (1.11.0): Extracting archive
  - Installing phpstan/phpdoc-parser (2.0.0): Extracting archive
  - Installing phpdocumentor/reflection-common (2.2.0): Extracting archive
  - Installing doctrine/deprecations (1.1.3): Extracting archive
  - Installing phpdocumentor/type-resolver (1.10.0): Extracting archive
  - Installing phpdocumentor/reflection-docblock (5.6.0): Extracting archive
  - Installing felixfbecker/advanced-json-rpc (v3.2.1): Extracting archive
  - Installing psr/log (3.0.2): Extracting archive
  - Installing composer/xdebug-handler (3.0.5): Extracting archive
  - Installing phan/phan (5.4.3): Extracting archive
  - Installing mediawiki/phan-taint-check-plugin (6.0.0): Extracting archive
  - Installing mediawiki/mediawiki-phan-config (0.14.0): Extracting archive
  - Installing mediawiki/minus-x (1.1.3): Extracting archive
  - Installing php-parallel-lint/php-console-color (v1.0.1): Extracting archive
  - Installing php-parallel-lint/php-console-highlighter (v1.0.0): Extracting archive
  - Installing php-parallel-lint/php-parallel-lint (v1.4.0): Extracting archive
  - Installing serialization/serialization (4.0.0): Extracting archive
  - Installing wikimedia/assert (v0.5.1): Extracting archive
  - Installing wmde/php-vuejs-templating (2.0.0): Extracting archive
  0/42 [>---------------------------]   0%
 23/42 [===============>------------]  54%
 35/42 [=======================>----]  83%
 42/42 [============================] 100%
3 package suggestions were added by new dependencies, use `composer suggest` to see details.
Generating autoload files
16 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 45.0.0 -> 45.0.0
$ /usr/bin/composer update
--- stderr ---
Loading composer repositories with package information
Updating dependencies
Nothing to modify in lock file
Installing dependencies from lock file (including require-dev)
Nothing to install, update or remove
Generating autoload files
16 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
No security vulnerability advisories found
--- stdout ---

--- end ---
Previously failing phpcs rules: {'MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment', 'MediaWiki.Usage.NullableType.ExplicitNullableTypes'}
$ vendor/bin/phpcs --report=json
--- stdout ---
{"totals":{"errors":77,"warnings":85,"fixable":77},"files":{"\/src\/repo\/src\/Domain\/Merge\/Exceptions\/LexemeLoadingException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Domain\/Merge\/Exceptions\/CrossReferencingException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Presentation\/ChangeOp\/Deserialization\/ValidationContext.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Domain\/Merge\/Exceptions\/PermissionDeniedException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/DataAccess\/ChangeOp\/ChangeOpSenseEdit.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?Summary $summary = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":42,"column":52}]},"\/src\/repo\/src\/Presentation\/ChangeOp\/Deserialization\/SenseIdDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Domain\/Merge\/Exceptions\/ReferenceSameLexemeException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Domain\/Model\/SenseId.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Domain\/Merge\/Exceptions\/MergingException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/DataAccess\/ChangeOp\/ChangeOpLanguage.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?Summary $summary = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":47,"column":52}]},"\/src\/repo\/src\/Domain\/Merge\/Exceptions\/DifferentLanguagesException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/WikibaseLexemeServices.php":{"errors":8,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?ContainerInterface $services = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":21,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?ContainerInterface $services = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":28,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?ContainerInterface $services = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":35,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?ContainerInterface $services = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":42,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?ContainerInterface $services = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":49,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?ContainerInterface $services = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":56,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?ContainerInterface $services = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":63,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?ContainerInterface $services = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":70,"column":9}]},"\/src\/repo\/src\/DataAccess\/ChangeOp\/Validation\/LemmaTermValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Domain\/Merge\/Exceptions\/LexemeSaveFailedException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Domain\/Merge\/Exceptions\/ModificationFailedException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Presentation\/ChangeOp\/Deserialization\/RepresentationsChangeOpDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Domain\/Merge\/Exceptions\/ConflictingLemmaValueException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Domain\/Model\/LexemeSubEntityId.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Presentation\/Diff\/ItemReferenceDifferenceVisualizer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Domain\/Model\/LexemePatchAccess.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/DataAccess\/ChangeOp\/ChangeOpSenseAdd.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?Summary $summary = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":47,"column":52}]},"\/src\/repo\/src\/MediaWiki\/Api\/Error\/ApiError.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/MediaWiki\/ParserOutput\/LexemeParserOutputUpdater.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/MediaWiki\/Scribunto\/WikibaseLexemeLibrary.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/MediaWiki\/Api\/Error\/LanguageInconsistent.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Domain\/Merge\/Exceptions\/LexemeNotFoundException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/MediaWiki\/Scribunto\/WikibaseLexemeEntityFormLibrary.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Domain\/Diff\/SenseDiffer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Domain\/Diff\/AddFormDiff.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?callable $valueConverter = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":64,"column":30}]},"\/src\/repo\/src\/Domain\/EntityReferenceExtractors\/LexemeStatementEntityReferenceExtractor.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Domain\/Merge\/LexemeSensesMerger.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Domain\/DummyObjects\/BlankSense.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/MediaWiki\/Scribunto\/WikibaseLexemeEntitySenseLibrary.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/DataAccess\/ChangeOp\/Validation\/LexemeTermSerializationValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/MediaWiki\/Api\/Error\/SenseNotFound.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/DataAccess\/ChangeOp\/ChangeOpRemoveForm.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?Summary $summary = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":53,"column":52}]},"\/src\/repo\/src\/Registrar.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/DataAccess\/ChangeOp\/ChangeOpGlossList.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?Summary $summary = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":40,"column":52}]},"\/src\/repo\/src\/Presentation\/View\/FormsView.php":{"errors":0,"warnings":2,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":77,"column":28},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":79,"column":28}]},"\/src\/repo\/src\/Presentation\/View\/Template\/VueTemplates.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/DataAccess\/Store\/MediaWikiPageSubEntityMetaDataAccessor.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Domain\/EntityReferenceExtractors\/SensesStatementEntityReferenceExtractor.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/DataAccess\/Store\/LemmaLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Presentation\/ChangeOp\/Deserialization\/EditSenseChangeOpDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Presentation\/Formatters\/SenseIdHtmlFormatter.php":{"errors":0,"warnings":1,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":73,"column":37}]},"\/src\/repo\/src\/Domain\/DummyObjects\/DummySenseId.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Presentation\/ChangeOp\/Deserialization\/LexemeChangeOpDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Domain\/Diff\/RemoveFormDiff.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?callable $valueConverter = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":64,"column":30}]},"\/src\/repo\/src\/Domain\/EntityReferenceExtractors\/LexicalCategoryItemIdExtractor.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/MediaWiki\/Api\/Error\/LexemeTermTextCanNotBeEmpty.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/MediaWiki\/Api\/Error\/InvalidItemId.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Domain\/DummyObjects\/BlankForm.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/DataAccess\/ChangeOp\/ChangeOpsFormsEdit.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?Summary $summary = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":60,"column":52}]},"\/src\/repo\/src\/Domain\/Merge\/LexemeMerger.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Domain\/Diff\/SenseDiff.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/DataAccess\/ChangeOp\/ChangeOpsSensesEdit.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?Summary $summary = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":60,"column":52}]},"\/src\/repo\/src\/MediaWiki\/Api\/Error\/UnknownLanguage.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/MediaWiki\/Scribunto\/WikibaseLexemeAbstractEntityLibrary.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Domain\/Merge\/Validator\/NoConflictingTermListValues.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/MediaWiki\/Api\/Error\/ParameterIsNotSenseId.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Presentation\/View\/Template\/LexemeTemplateFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/MediaWiki\/Api\/AddFormRequestParser.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Presentation\/ChangeOp\/Deserialization\/FormIdDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Presentation\/Diff\/FormDiffView.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/MediaWiki\/Scribunto\/WikibaseLexemeEntityLexemeLibrary.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/composer\/ErisGenerators\/LanguageCodeGenerator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/DataAccess\/Store\/FormTitleStoreLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Domain\/EntityReferenceExtractors\/GrammaticalFeatureItemIdsExtractor.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/DataAccess\/ChangeOp\/Validation\/LexemeTermLanguageValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/DataAccess\/ChangeOp\/ChangeOpLemmaRemove.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?Summary $summary = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":50,"column":52}]},"\/src\/repo\/src\/Domain\/DummyObjects\/NullSenseId.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/MediaWiki\/Api\/Error\/LexemeNotFound.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/MediaWiki\/Api\/Error\/ParameterIsNotLexemeId.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/DataAccess\/Store\/NullLabelDescriptionLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/DataAccess\/ChangeOp\/ChangeOpRemoveSense.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?Summary $summary = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":53,"column":52}]},"\/src\/repo\/src\/MediaWiki\/EntityLinkFormatters\/LexemeLinkFormatter.php":{"errors":3,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?array $labelData = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":50,"column":50},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?array $labelData = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":70,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?array $descriptionData = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":71,"column":9}]},"\/src\/repo\/src\/Presentation\/ChangeOp\/Deserialization\/LemmaChangeOpDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Domain\/DummyObjects\/DummyFormId.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/composer\/ErisGenerators\/ItemIdGenerator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/MediaWiki\/Config\/LexemeLanguageCodePropertyIdConfig.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Serialization\/SenseDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/composer\/EntityReferenceExtractors\/LanguageItemIdExtractorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Presentation\/ChangeOp\/Deserialization\/SenseChangeOpDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/MediaWiki\/Api\/Error\/JsonFieldHasWrongType.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/composer\/ErisGenerators\/PHPUnitTestCaseWrapper.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Domain\/Merge\/Validator\/FormMergeability.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Domain\/Model\/FormSet.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/DataAccess\/ChangeOp\/ChangeOpGloss.php":{"errors":2,"warnings":1,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?Summary $summary = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":38,"column":52},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?Summary $summary = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":55,"column":51},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":74,"column":50}]},"\/src\/repo\/src\/Domain\/DummyObjects\/NullFormId.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/MediaWiki\/Api\/Error\/ParameterIsNotFormId.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Serialization\/ExternalLexemeSerializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/ChangeOp\/Deserialization\/FormIdDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/Merge\/Validator\/NoConflictingTermListValuesTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/MediaWiki\/Api\/Error\/InvalidFormClaims.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Domain\/Diff\/LexemeDiff.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?callable $valueConverter = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":102,"column":30}]},"\/src\/repo\/tests\/phpunit\/composer\/EntityReferenceExtractors\/LexicalCategoryItemIdExtractorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/DataAccess\/ChangeOp\/ChangeOpFormAdd.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?Summary $summary = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":40,"column":52}]},"\/src\/repo\/WikibaseLexeme.datatypes.php":{"errors":0,"warnings":1,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":118,"column":71}]},"\/src\/repo\/src\/MediaWiki\/Api\/Summary\/SummaryAggregator.php":{"errors":0,"warnings":1,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":107,"column":18}]},"\/src\/repo\/src\/DataAccess\/ChangeOp\/ChangeOpLexicalCategory.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?Summary $summary = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":50,"column":52}]},"\/src\/repo\/tests\/phpunit\/mediawiki\/WikibaseLexemeIntegrationTestCase.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/WikibaseLexeme.i18n.alias.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/View\/TemplateModuleTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/MediaWiki\/Api\/Error\/JsonFieldIsNotAnItemId.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Presentation\/Formatters\/FormIdHtmlFormatter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Domain\/Diff\/Nonserializable.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/MediaWiki\/Content\/LexemeHandler.php":{"errors":2,"warnings":1,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?callable $legacyExportFormatDetector = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":63,"column":9},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":67,"column":19},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?EntityHolder $entityHolder = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":144,"column":42}]},"\/src\/repo\/src\/MediaWiki\/EntityLinkFormatters\/FormLinkFormatter.php":{"errors":3,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?array $labelData = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":53,"column":50},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?array $labelData = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":88,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?array $descriptionData = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":89,"column":9}]},"\/src\/repo\/src\/Presentation\/ChangeOp\/Deserialization\/LanguageChangeOpDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/DataAccess\/Store\/SenseStore.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/DataAccess\/ChangeOp\/ChangeOpRepresentationList.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?Summary $summary = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":40,"column":52}]},"\/src\/repo\/src\/Domain\/Storage\/SenseLabelDescriptionLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/DataAccess\/Store\/MediaWikiLexemeRedirector.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/MediaWiki\/Content\/LexemeLanguageNameLookupFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Presentation\/Diff\/SenseDiffView.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/DataAccess\/ChangeOp\/ChangeOpSenseClone.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?Summary $summary = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":32,"column":52}]},"\/src\/repo\/src\/Serialization\/FormSerializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Content\/LexemeHandlerTest.php":{"errors":3,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?SettingsArray $settings = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":64,"column":36},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?EntityDocument $entity = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":73,"column":42},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?EntityId $id = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":97,"column":35}]},"\/src\/repo\/tests\/phpunit\/mediawiki\/View\/Template\/LexemeTemplateFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/composer\/ErisGenerators\/FormSetGenerator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Domain\/Merge\/LexemeFormsMerger.php":{"errors":0,"warnings":1,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":54,"column":33}]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Store\/SenseTitleStoreLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/MediaWiki\/Api\/Error\/JsonFieldIsRequired.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/MediaWiki\/Api\/RemoveFormRequestParser.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/composer\/ErisGenerators\/FormGenerator.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?FormId $formId = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":38,"column":34}]},"\/src\/repo\/tests\/phpunit\/unit\/ChangeOp\/Deserialization\/ItemIdListDeserializerTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":62,"column":33}]},"\/src\/repo\/src\/Domain\/EntityReferenceExtractors\/LanguageItemIdExtractor.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/DataAccess\/Store\/FormRevisionLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/composer\/DataModel\/Serialization\/FormSerializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/composer\/DataModel\/LexemePatchAccessTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/DataAccess\/ChangeOp\/ChangeOpFormEdit.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?Summary $summary = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":42,"column":52}]},"\/src\/repo\/src\/Presentation\/ChangeOp\/Deserialization\/SenseListChangeOpDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/ChangeOp\/ChangeOpRemoveFormTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/DataAccess\/ChangeOp\/ChangeOpGrammaticalFeatures.php":{"errors":2,"warnings":3,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?Summary $summary = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":39,"column":52},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?Summary $summary = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":55,"column":49},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":71,"column":46},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":80,"column":46},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":89,"column":46}]},"\/src\/repo\/tests\/phpunit\/unit\/Merge\/Validator\/FormMergeabilityTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/composer\/ErisGenerators\/WikibaseLexemeGenerators.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?LexemeId $lexemeId = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":14,"column":36}]},"\/src\/repo\/src\/MediaWiki\/Content\/LexemeLanguageNameLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/MediaWiki\/Api\/AddSenseRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Api\/EditSenseElementsRequestTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Domain\/EntityReferenceExtractors\/FormsStatementEntityReferenceExtractor.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/ChangeOp\/ChangeOpSenseCloneTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/DataAccess\/ChangeOp\/ChangeOpLemmaEdit.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?Summary $summary = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":72,"column":52}]},"\/src\/repo\/src\/Domain\/Diff\/LexemeDiffer.php":{"errors":0,"warnings":2,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":302,"column":24},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":310,"column":24}]},"\/src\/repo\/src\/Domain\/Merge\/NoCrossReferencingLexemeStatements.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/DataAccess\/Store\/EntityLookupLemmaLookup.php":{"errors":0,"warnings":1,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":27,"column":61}]},"\/src\/repo\/tests\/phpunit\/unit\/DataModel\/NewForm.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/MediaWikiLexemeRedirectorIntegrationTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/MediaWiki\/Api\/EditSenseElements.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/DataAccess\/ChangeOp\/ChangeOpRemoveSenseGloss.php":{"errors":2,"warnings":1,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?Summary $summary = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":41,"column":52},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?Summary $summary = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":60,"column":51},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":69,"column":50}]},"\/src\/repo\/src\/Presentation\/Rdf\/LexemeStubRdfBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/ChangeOp\/ChangeOpRepresentationTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/LexemeDescriptionTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Scribunto\/WikibaseLexemeEntityFormLibraryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/DummyObjects\/DummyFormIdTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Scribunto\/WikibaseLexemeEntityLexemeLibraryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Domain\/Merge\/Exceptions\/DifferentLexicalCategoriesException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Scribunto\/WikibaseLexemeEntitySenseLibraryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Scribunto\/WikibaseLexemeLibraryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Presentation\/ChangeOp\/Deserialization\/FormChangeOpDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/ChangeOp\/Deserialization\/SenseIdDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/LexemePageTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/WikibaseLexeme.resources.php":{"errors":0,"warnings":1,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":275,"column":38}]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Content\/LexemeLanguageNameLookupAndFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Domain\/Model\/Form.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?StatementList $statementList = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":48,"column":9}]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Hooks\/InfoActionHookHandlerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/DataAccess\/ChangeOp\/AddSenseToLexemeChangeOp.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?Summary $summary = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":43,"column":51}]},"\/src\/repo\/src\/Presentation\/Diff\/LexemeDiffVisualizer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/DataAccess\/ChangeOp\/ChangeOpFormClone.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?Summary $summary = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":40,"column":52}]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Hooks\/Formatters\/LexemeLinkFormatterIntegrationTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Api\/RemoveFormRequestParserTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/LexemeNamespaceTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/DataAccess\/Store\/SenseTitleStoreLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Presentation\/Formatters\/LexemeIdHtmlFormatter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/DataAccess\/LexemeDescription.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?EntityId $id = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":49,"column":9}]},"\/src\/repo\/tests\/phpunit\/unit\/DataModel\/NewLexeme.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Config\/LexemeLanguageCodePropertyIdConfigTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/DummyObjects\/NullFormIdTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Presentation\/View\/LexemeView.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/DataAccess\/ChangeOp\/AddFormToLexemeChangeOp.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?Summary $summary = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":43,"column":50}]},"\/src\/repo\/src\/MediaWiki\/Api\/AddSenseRequestParser.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/MediaWiki\/Api\/AddForm.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/ChangeOp\/ChangeOpsFormsEditTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Api\/ApiUserBlockedTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Presentation\/ChangeOp\/Deserialization\/FormListChangeOpDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/MediaWiki\/Api\/AddSense.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/WikibaseLexemeHooksTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/MediaWiki\/Api\/RemoveSenseRequestParser.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Presentation\/Diff\/GrammaticalFeatureDiffVisualizer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Domain\/Diff\/ChangeFormDiffOp.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?callable $valueConverter = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":68,"column":30}]},"\/src\/repo\/tests\/phpunit\/mediawiki\/ChangeOp\/Deserialization\/LemmaChangeOpDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/composer\/ErisGenerators\/LexemeGenerator.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?LexemeId $lexemeId = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":49,"column":34}]},"\/src\/repo\/maintenance\/FixPagePropsSortkey.php":{"errors":0,"warnings":2,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":54,"column":55},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":80,"column":59}]},"\/src\/repo\/tests\/phpunit\/unit\/DataModel\/NewSenseTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/DataAccess\/ChangeOp\/ChangeOpRepresentation.php":{"errors":2,"warnings":1,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?Summary $summary = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":38,"column":52},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?Summary $summary = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":55,"column":49},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":74,"column":49}]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Api\/AddSenseRequestTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/composer\/EntityReferenceExtractors\/SensesStatementEntityReferenceExtractorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Presentation\/Formatters\/FormIdTextFormatter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/DummyObjects\/DummySenseIdTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Domain\/Model\/Lexeme.php":{"errors":7,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?LexemeId $id = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":54,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?TermList $lemmas = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":55,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?ItemId $lexicalCategory = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":56,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?ItemId $language = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":57,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?StatementList $statements = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":58,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?FormSet $forms = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":60,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?SenseSet $senses = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":62,"column":9}]},"\/src\/repo\/tests\/phpunit\/mediawiki\/ChangeOp\/ChangeOpSenseAddTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/MediaWiki\/Actions\/InfoActionHookHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/ChangeOp\/Deserialization\/FormChangeOpDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Scribunto\/WikibaseLexemeLibraryTestCase.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/ChangeOp\/ChangeOpGlossTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/composer\/DataModel\/Services\/Diff\/LexemeDifferTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/ChangeOp\/Deserialization\/ValidationContextTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Serialization\/LexemeDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Presentation\/ChangeOp\/Deserialization\/LexicalCategoryChangeOpDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Api\/Summary\/SummaryAggregatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Presentation\/Formatters\/RedirectedLexemeSubEntityIdHtmlFormatter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Presentation\/ChangeOp\/Deserialization\/EditFormChangeOpDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/MediaWiki\/Api\/EditSenseElementsRequestParser.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Domain\/Diff\/FormPatcher.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Interactors\/MergeLexemes\/MergeLexemesStatus.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/MediaWiki\/Actions\/LexemeHistoryAction.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/DummyObjects\/NullSenseIdTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/MediaWiki\/Content\/LexemeContent.php":{"errors":4,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?EntityHolder $lexemeHolder = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":51,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?EntityRedirect $redirect = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":52,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?Title $redirectTitle = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":53,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?Title $redirectTitle = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":205,"column":69}]},"\/src\/repo\/src\/DataAccess\/ChangeOp\/ChangeOpRemoveFormRepresentation.php":{"errors":2,"warnings":1,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?Summary $summary = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":41,"column":52},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?Summary $summary = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":60,"column":49},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":69,"column":49}]},"\/src\/repo\/tests\/phpunit\/composer\/EntityReferenceExtractors\/LexemeStatementEntityReferenceExtractorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Domain\/Diff\/FormDiff.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Presentation\/ChangeOp\/Deserialization\/ItemIdListDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/View\/FormsViewTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/composer\/ErisGenerators\/TermListGenerator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Api\/Error\/ApiErrorTranslationTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/DataModel\/Services\/Diff\/LexemePatcherTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/MediaWiki\/Actions\/ViewLexemeAction.php":{"errors":0,"warnings":1,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":19,"column":59}]},"\/src\/repo\/src\/Domain\/Diff\/FormDiffer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Presentation\/Formatters\/LexemeTermFormatter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/WikibaseLexemeApiTestCase.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/DummyObjects\/BlankFormTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Formatters\/LexemeIdHtmlFormatterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Domain\/Model\/Sense.php":{"errors":1,"warnings":1,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?StatementList $statementList = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":37,"column":9},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":40,"column":40}]},"\/src\/repo\/src\/MediaWiki\/Api\/RemoveFormRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/DataModel\/FormTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Presentation\/View\/SensesView.php":{"errors":0,"warnings":2,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":82,"column":28},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":84,"column":28}]},"\/src\/repo\/tests\/phpunit\/mediawiki\/LexemeDescriptionTestCase.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/ChangeOp\/AddFormToLexemeChangeOpTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/ChangeOp\/Deserialization\/LanguageChangeOpDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/composer\/Merge\/LexemeFormsMergerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/MediaWiki\/Api\/AddFormRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Hooks\/Formatters\/LexemeLinkFormatterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Domain\/Diff\/AddSenseDiff.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?callable $valueConverter = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":58,"column":30}]},"\/src\/repo\/tests\/phpunit\/unit\/DataModel\/Services\/Diff\/FormDifferTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Presentation\/ChangeOp\/Deserialization\/GlossesChangeOpDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Presentation\/View\/TemplateModule.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/ChangeOp\/ChangeOpLemmaRemoveTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/composer\/DataModel\/Serialization\/ResultBuilderLexemeTest.php":{"errors":0,"warnings":3,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":110,"column":38},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":111,"column":34},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":112,"column":52}]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Rdf\/LexemeRdfBuilderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Api\/AddFormRequestParserTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/composer\/EntityReferenceExtractors\/GrammaticalFeatureItemIdsExtractorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/WikibaseLexemeExtensionRegistrationTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/MediaWiki\/Api\/EditSenseElementsRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/DataAccess\/Store\/FormStore.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/ChangeOp\/Validation\/LexemeTermSerializationValidatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/DataModel\/Services\/Diff\/SenseDifferTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Presentation\/Formatters\/SenseIdTextFormatter.php":{"errors":0,"warnings":1,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":51,"column":37}]},"\/src\/repo\/tests\/phpunit\/mediawiki\/ChangeOp\/Deserialization\/GlossesChangeOpDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Domain\/Model\/LexemeId.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Domain\/Model\/Exceptions\/ConflictException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Domain\/Diff\/SensePatcher.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/DataModel\/SenseTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/composer\/ErisGenerators\/CartesianProduct.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/ChangeOp\/ChangeOpGlossListTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Formatters\/RedirectedLexemeSubEntityIdHtmlFormatterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/MediaWiki\/Api\/RemoveForm.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/MediaWiki\/Api\/RemoveSense.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/maintenance\/CreateReservedLexemes.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Api\/EditFormElementsRequestParserTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/DataModel\/NewLexemeTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/ChangeOp\/ChangeOpRemoveSenseGlossTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Presentation\/View\/LexemeViewFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/MediaWiki\/Api\/Error\/ParameterIsNotAJsonObject.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/ChangeOp\/ChangeOpFormAddTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/ChangeOp\/ChangeOpRemoveSenseTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Formatters\/LemmaTextSummaryFormatterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/Diff\/GrammaticalFeatureDiffVisualizerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/composer\/ErisGenerators\/TermGenerator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/composer\/DataModel\/Serialization\/SenseSerializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Presentation\/Rdf\/LexemeSpecificComponentsRdfBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/composer\/EntityReferenceExtractors\/FormsStatementEntityReferenceExtractorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/MediaWiki\/Api\/Error\/FormNotFound.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Diff\/LexemeDiffVisualizerIntegrationTest.php":{"errors":0,"warnings":3,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":132,"column":47},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":225,"column":47},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":319,"column":47}]},"\/src\/repo\/src\/MediaWiki\/Api\/Error\/InvalidSenseClaims.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Api\/RemoveFormTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":99,"column":56}]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Hooks\/Formatters\/FormLinkFormatterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/View\/SensesViewTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Store\/SenseStoreTest.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?Lexeme $expectedLexeme = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":323,"column":47}]},"\/src\/repo\/src\/DataAccess\/Store\/SenseRevisionLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/MediaWiki\/Api\/Error\/LexemeTermLanguageCanNotBeEmpty.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/ChangeOp\/ChangeOpRemoveFormRepresentationTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Presentation\/View\/LexemeMetaTagsCreator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/DataAccess\/EntityLemmaLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Presentation\/Rdf\/LexemeRdfBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/DataModel\/NewSense.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/composer\/DataModel\/Services\/Diff\/LexemeDifferPatcherTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/View\/LexemeViewFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Domain\/Diff\/LexemePatcher.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Api\/RemoveSenseRequestTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Domain\/Model\/SenseSet.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Rdf\/LexemeStubRdfBuilderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Interactors\/MergeLexemes\/MergeLexemesInteractor.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/Merge\/Exceptions\/LexemeNotFoundExceptionTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Store\/LexemeStoreIntegrationTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Domain\/Model\/FormId.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Presentation\/Content\/LemmaTextSummaryFormatter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Formatters\/SenseIdTextFormatterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/DataModel\/Serialization\/SenseDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Hooks\/Formatters\/FormLinkFormatterIntegrationTest.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?string $titleText = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":54,"column":52}]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Api\/RemoveSenseTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":99,"column":56}]},"\/src\/repo\/src\/MediaWiki\/Api\/MergeLexemes.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/MediaWiki\/Api\/EditFormElements.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/ChangeOp\/Deserialization\/SenseListChangeOpDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/ChangeOp\/Validation\/LexemeTermLanguageValidatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/MediaWiki\/Api\/RemoveSenseRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Api\/RemoveFormRequestTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/View\/LexemeMetaTagsCreatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Domain\/Diff\/ChangeSenseDiffOp.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?callable $valueConverter = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":62,"column":30}]},"\/src\/repo\/tests\/phpunit\/unit\/DataModel\/FormSetTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/ChangeOp\/AddSenseToLexemeChangeOpTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/DataModel\/SenseIdTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/ChangeOp\/ChangeOpRepresentationListTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/ChangeOp\/ChangeOpSenseEditTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Domain\/Diff\/RemoveSenseDiff.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?callable $valueConverter = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":58,"column":30}]},"\/src\/repo\/src\/MediaWiki\/Api\/EditFormElementsRequestParser.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/composer\/Merge\/MergeLexemesInteractorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Diff\/FormDiffViewTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Api\/AddFormRequestParserIntegrationTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/MediaWiki\/Api\/EditFormElementsRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Store\/SenseRevisionLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/ChangeOp\/ChangeOpFormCloneTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/composer\/DataModel\/Serialization\/StorageLexemeSerializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/WikibaseLexeme.mediawiki-services.php":{"errors":0,"warnings":21,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":48,"column":21},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":49,"column":21},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":51,"column":24},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":52,"column":24},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":55,"column":20},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":57,"column":21},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":58,"column":21},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":59,"column":21},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":60,"column":21},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":61,"column":21},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":63,"column":24},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":64,"column":22},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":65,"column":24},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":66,"column":21},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":68,"column":21},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":69,"column":21},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":70,"column":21},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":72,"column":21},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":73,"column":21},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":74,"column":21},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":75,"column":21}]},"\/src\/repo\/src\/WikibaseLexemeHooks.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/ChangeOp\/ChangeOpLanguageTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/ChangeOp\/ChangeOpsSensesEditTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/MediaWiki\/Specials\/SpecialNewLexeme.php":{"errors":0,"warnings":5,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":216,"column":36},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":227,"column":45},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":228,"column":43},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":233,"column":39},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":473,"column":23}]},"\/src\/repo\/tests\/phpunit\/unit\/DataModel\/SenseSetTest.php":{"errors":0,"warnings":2,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":112,"column":52},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":116,"column":67}]},"\/src\/repo\/WikibaseLexeme.datatypes.client.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Validators\/NoCrossReferencingLexemeStatementsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Formatters\/SenseIdHtmlFormatterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/composer\/DataModel\/Services\/Diff\/FormDifferPatcherTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/ChangeOp\/Deserialization\/SenseChangeOpDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Store\/MediaWikiPageSubEntityMetaDataAccessorTest.php":{"errors":0,"warnings":4,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":33,"column":70},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":34,"column":65},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":37,"column":56},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":52,"column":24}]},"\/src\/repo\/src\/MediaWiki\/Specials\/HTMLForm\/LemmaLanguageField.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Validators\/LemmaTermValidatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Specials\/SpecialNewLexemeTest.php":{"errors":0,"warnings":3,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":254,"column":26},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":296,"column":29},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":375,"column":45}]},"\/src\/repo\/tests\/phpunit\/mediawiki\/ChangeOp\/ChangeOpLexicalCategoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/DataModel\/FormIdTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Formatters\/FormIdHtmlFormatterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Formatters\/LexemeTermFormatterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/View\/LexemeViewTest.php":{"errors":2,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?StatementList $expectedStatements = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":68,"column":52},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?StatementList $expectedStatements = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":90,"column":37}]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Api\/EditSenseElementsRequestParserIntegrationTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Diff\/SenseDiffViewTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Rdf\/LexemeSpecificComponentsRdfBuilderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/ChangeOp\/ChangeOpGrammaticalFeaturesTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/ChangeOp\/ChangeOpFormEditTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/composer\/Merge\/LexemeSensesMergerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Specials\/HTMLForm\/LemmaLanguageFieldTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/composer\/DataModel\/Services\/Diff\/SenseDifferPatcherTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/ChangeOp\/ChangeOpLemmaEditTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/.phan\/config.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/DataModel\/LexemeIdTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/WikibaseLexeme.entitytypes.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Formatters\/FormIdTextFormatterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/resources\/templates.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/composer\/DataModel\/Services\/Diff\/LexemeDiffTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Specials\/LexemeSpecialEntityDataTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Diff\/ItemReferenceDifferenceVisualizerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/ChangeOp\/Deserialization\/FormListChangeOpDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/composer\/DataModel\/Serialization\/ExternalLexemeSerializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/WikibaseLexeme.entitytypes.repo.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Api\/SetClaimTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Api\/EditFormElementsTest.php":{"errors":0,"warnings":4,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":149,"column":44},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":161,"column":44},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":176,"column":46},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":193,"column":46}]},"\/src\/repo\/src\/MediaWiki\/Specials\/SpecialMergeLexemes.php":{"errors":0,"warnings":1,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":234,"column":25}]},"\/src\/repo\/src\/Serialization\/SenseSerializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/composer\/DataModel\/Services\/SenseLabelDescriptionLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Api\/AddSenseRequestParserTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Api\/EditFormElementsRequestParserIntegrationTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Api\/EditSenseElementsTest.php":{"errors":0,"warnings":2,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":135,"column":44},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":147,"column":44}]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Store\/FormStoreTest.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?Lexeme $expectedLexeme = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":322,"column":47}]},"\/src\/repo\/src\/Serialization\/StorageLexemeSerializer.php":{"errors":0,"warnings":1,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":94,"column":31}]},"\/src\/repo\/tests\/phpunit\/mediawiki\/ChangeOp\/Deserialization\/EditSenseChangeOpDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Diff\/LexemeDiffVisualizerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Api\/AddFormRequestTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Api\/EditFormElementsRequestTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Store\/FormTitleStoreLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/ChangeOp\/Deserialization\/LexicalCategoryChangeOpDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/maintenance\/DumpJsonTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Api\/LexemeGetEntitiesTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Content\/LexemeContentTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Api\/MergeLexemesTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Actions\/LexemeHistoryActionTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/composer\/ErisGenerators\/SenseGenerator.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?SenseId $senseId = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":32,"column":34}]},"\/src\/repo\/tests\/phpunit\/composer\/DataModel\/Serialization\/LexemeDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/EnabledEntityTypesTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Specials\/SpecialMergeLexemesTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":354,"column":44}]},"\/src\/repo\/tests\/phpunit\/composer\/WikibaseLexemeServicesTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Store\/FormRevisionLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/composer\/ErisGenerators\/ErisTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Api\/EditSenseElementsRequestParserTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Api\/SearchEntitiesIntegrationTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/composer\/ErisGenerators\/CartesianProductTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/ParserOutput\/LexemeEntityParserOutputGeneratorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Api\/LexemeEditPageTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/DataModel\/LexemeTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Api\/RemoveSenseRequestParserTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/DataModel\/LexemeSubEntityIdTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/composer\/Merge\/LexemeMergerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/composer\/DummyObjects\/BlankSenseTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/ChangeOp\/Deserialization\/EditFormChangeOpDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/ChangeOp\/Deserialization\/RepresentationsChangeOpDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Api\/LexemeEditEntityTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1104,"column":32}]},"\/src\/repo\/tests\/phpunit\/mediawiki\/ChangeOp\/Deserialization\/LexemeChangeOpDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Api\/AddSenseTest.php":{"errors":0,"warnings":3,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":99,"column":44},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":111,"column":44},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":123,"column":44}]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Api\/LexemeApiQueryBacklinksTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Api\/AddFormTest.php":{"errors":0,"warnings":3,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":113,"column":44},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":125,"column":44},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":137,"column":44}]}}}

--- end ---
PHPCS run failed
$ vendor/bin/phpcs --report=json
--- stdout ---
{"totals":{"errors":77,"warnings":85,"fixable":77},"files":{"\/src\/repo\/src\/Domain\/Merge\/Exceptions\/DifferentLanguagesException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Domain\/Merge\/Exceptions\/LexemeSaveFailedException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Domain\/Merge\/Exceptions\/LexemeLoadingException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Domain\/Merge\/Exceptions\/CrossReferencingException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Domain\/Merge\/Exceptions\/ConflictingLemmaValueException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Presentation\/ChangeOp\/Deserialization\/SenseIdDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Domain\/Merge\/Exceptions\/PermissionDeniedException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Domain\/EntityReferenceExtractors\/LexemeStatementEntityReferenceExtractor.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Domain\/Merge\/LexemeSensesMerger.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Domain\/DummyObjects\/BlankSense.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Presentation\/ChangeOp\/Deserialization\/ValidationContext.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Domain\/Merge\/Exceptions\/ReferenceSameLexemeException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/DataAccess\/ChangeOp\/ChangeOpLanguage.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?Summary $summary = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":47,"column":52}]},"\/src\/repo\/src\/WikibaseLexemeServices.php":{"errors":8,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?ContainerInterface $services = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":21,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?ContainerInterface $services = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":28,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?ContainerInterface $services = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":35,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?ContainerInterface $services = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":42,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?ContainerInterface $services = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":49,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?ContainerInterface $services = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":56,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?ContainerInterface $services = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":63,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?ContainerInterface $services = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":70,"column":9}]},"\/src\/repo\/src\/Domain\/EntityReferenceExtractors\/SensesStatementEntityReferenceExtractor.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Domain\/Model\/SenseId.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/MediaWiki\/ParserOutput\/LexemeParserOutputUpdater.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/MediaWiki\/Scribunto\/WikibaseLexemeLibrary.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/DataAccess\/ChangeOp\/ChangeOpSenseEdit.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?Summary $summary = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":42,"column":52}]},"\/src\/repo\/src\/Domain\/Diff\/AddFormDiff.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?callable $valueConverter = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":64,"column":30}]},"\/src\/repo\/src\/Presentation\/Diff\/ItemReferenceDifferenceVisualizer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/DataAccess\/ChangeOp\/Validation\/LemmaTermValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Domain\/DummyObjects\/DummySenseId.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/MediaWiki\/Api\/Error\/ApiError.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Domain\/Merge\/Exceptions\/MergingException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/MediaWiki\/Scribunto\/WikibaseLexemeEntityFormLibrary.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/MediaWiki\/Api\/Error\/LexemeTermTextCanNotBeEmpty.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Domain\/EntityReferenceExtractors\/LexicalCategoryItemIdExtractor.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Domain\/DummyObjects\/BlankForm.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/DataAccess\/ChangeOp\/ChangeOpRemoveForm.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?Summary $summary = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":53,"column":52}]},"\/src\/repo\/src\/DataAccess\/ChangeOp\/ChangeOpsFormsEdit.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?Summary $summary = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":60,"column":52}]},"\/src\/repo\/src\/MediaWiki\/Api\/Error\/UnknownLanguage.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Domain\/Merge\/Exceptions\/ModificationFailedException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/MediaWiki\/Scribunto\/WikibaseLexemeEntitySenseLibrary.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/MediaWiki\/Api\/Error\/LanguageInconsistent.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Presentation\/ChangeOp\/Deserialization\/RepresentationsChangeOpDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Domain\/Model\/LexemePatchAccess.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Presentation\/ChangeOp\/Deserialization\/LexemeChangeOpDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/DataAccess\/ChangeOp\/ChangeOpSenseAdd.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?Summary $summary = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":47,"column":52}]},"\/src\/repo\/src\/Domain\/Merge\/LexemeMerger.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/MediaWiki\/Api\/Error\/LexemeNotFound.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Domain\/EntityReferenceExtractors\/GrammaticalFeatureItemIdsExtractor.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Domain\/Model\/LexemeSubEntityId.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Domain\/Merge\/Exceptions\/LexemeNotFoundException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Domain\/DummyObjects\/NullSenseId.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Domain\/Merge\/Validator\/NoConflictingTermListValues.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/MediaWiki\/Api\/Error\/SenseNotFound.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/DataAccess\/Store\/MediaWikiPageSubEntityMetaDataAccessor.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/DataAccess\/Store\/LemmaLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Registrar.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Domain\/Diff\/SenseDiffer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/DataAccess\/ChangeOp\/ChangeOpsSensesEdit.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?Summary $summary = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":60,"column":52}]},"\/src\/repo\/src\/MediaWiki\/Scribunto\/WikibaseLexemeAbstractEntityLibrary.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Domain\/DummyObjects\/DummyFormId.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/MediaWiki\/Api\/AddFormRequestParser.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/MediaWiki\/EntityLinkFormatters\/LexemeLinkFormatter.php":{"errors":3,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?array $labelData = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":50,"column":50},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?array $labelData = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":70,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?array $descriptionData = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":71,"column":9}]},"\/src\/repo\/tests\/phpunit\/composer\/ErisGenerators\/LanguageCodeGenerator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/MediaWiki\/Api\/Error\/InvalidItemId.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/DataAccess\/ChangeOp\/Validation\/LexemeTermSerializationValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/MediaWiki\/Api\/Error\/JsonFieldHasWrongType.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Presentation\/Formatters\/SenseIdHtmlFormatter.php":{"errors":0,"warnings":1,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":73,"column":37}]},"\/src\/repo\/src\/DataAccess\/ChangeOp\/ChangeOpRemoveSense.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?Summary $summary = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":53,"column":52}]},"\/src\/repo\/src\/MediaWiki\/Scribunto\/WikibaseLexemeEntityLexemeLibrary.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Serialization\/SenseDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Presentation\/Diff\/FormDiffView.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Domain\/Diff\/RemoveFormDiff.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?callable $valueConverter = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":64,"column":30}]},"\/src\/repo\/src\/DataAccess\/Store\/FormTitleStoreLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Presentation\/View\/FormsView.php":{"errors":0,"warnings":2,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":77,"column":28},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":79,"column":28}]},"\/src\/repo\/src\/Domain\/DummyObjects\/NullFormId.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Presentation\/View\/Template\/VueTemplates.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/composer\/EntityReferenceExtractors\/LanguageItemIdExtractorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/MediaWiki\/Config\/LexemeLanguageCodePropertyIdConfig.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Domain\/Diff\/SenseDiff.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/MediaWiki\/Api\/Error\/InvalidFormClaims.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/MediaWiki\/Api\/Error\/ParameterIsNotSenseId.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Presentation\/ChangeOp\/Deserialization\/EditSenseChangeOpDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/Merge\/Validator\/NoConflictingTermListValuesTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/DataAccess\/Store\/NullLabelDescriptionLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Domain\/Merge\/Validator\/FormMergeability.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/composer\/ErisGenerators\/PHPUnitTestCaseWrapper.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/composer\/ErisGenerators\/ItemIdGenerator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Serialization\/ExternalLexemeSerializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/DataAccess\/Store\/SenseStore.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/composer\/EntityReferenceExtractors\/LexicalCategoryItemIdExtractorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/DataAccess\/Store\/MediaWikiLexemeRedirector.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/DataAccess\/ChangeOp\/ChangeOpGloss.php":{"errors":2,"warnings":1,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?Summary $summary = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":38,"column":52},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?Summary $summary = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":55,"column":51},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":74,"column":50}]},"\/src\/repo\/src\/DataAccess\/ChangeOp\/ChangeOpGlossList.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?Summary $summary = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":40,"column":52}]},"\/src\/repo\/src\/Presentation\/ChangeOp\/Deserialization\/SenseChangeOpDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/MediaWiki\/Api\/Error\/JsonFieldIsNotAnItemId.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/MediaWiki\/Api\/Error\/ParameterIsNotLexemeId.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Domain\/Storage\/SenseLabelDescriptionLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Presentation\/ChangeOp\/Deserialization\/LemmaChangeOpDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/DataAccess\/ChangeOp\/Validation\/LexemeTermLanguageValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Presentation\/View\/Template\/LexemeTemplateFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/MediaWiki\/EntityLinkFormatters\/FormLinkFormatter.php":{"errors":3,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?array $labelData = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":53,"column":50},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?array $labelData = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":88,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?array $descriptionData = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":89,"column":9}]},"\/src\/repo\/src\/Presentation\/ChangeOp\/Deserialization\/FormIdDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/MediaWiki\/Api\/Error\/JsonFieldIsRequired.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/ChangeOp\/Deserialization\/FormIdDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/MediaWiki\/Api\/Error\/ParameterIsNotFormId.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/DataAccess\/ChangeOp\/ChangeOpRepresentationList.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?Summary $summary = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":40,"column":52}]},"\/src\/repo\/src\/MediaWiki\/Api\/Summary\/SummaryAggregator.php":{"errors":0,"warnings":1,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":107,"column":18}]},"\/src\/repo\/src\/DataAccess\/ChangeOp\/ChangeOpLemmaRemove.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?Summary $summary = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":50,"column":52}]},"\/src\/repo\/tests\/phpunit\/mediawiki\/WikibaseLexemeIntegrationTestCase.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Domain\/Merge\/LexemeFormsMerger.php":{"errors":0,"warnings":1,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":54,"column":33}]},"\/src\/repo\/src\/MediaWiki\/Content\/LexemeHandler.php":{"errors":2,"warnings":1,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?callable $legacyExportFormatDetector = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":63,"column":9},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":67,"column":19},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?EntityHolder $entityHolder = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":144,"column":42}]},"\/src\/repo\/src\/Serialization\/FormSerializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/composer\/ErisGenerators\/FormGenerator.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?FormId $formId = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":38,"column":34}]},"\/src\/repo\/src\/Presentation\/ChangeOp\/Deserialization\/LanguageChangeOpDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/WikibaseLexeme.datatypes.php":{"errors":0,"warnings":1,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":118,"column":71}]},"\/src\/repo\/WikibaseLexeme.i18n.alias.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/DataAccess\/ChangeOp\/ChangeOpSenseClone.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?Summary $summary = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":32,"column":52}]},"\/src\/repo\/tests\/phpunit\/mediawiki\/View\/TemplateModuleTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/DataAccess\/ChangeOp\/ChangeOpFormAdd.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?Summary $summary = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":40,"column":52}]},"\/src\/repo\/tests\/phpunit\/composer\/DataModel\/Serialization\/FormSerializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/Merge\/Validator\/FormMergeabilityTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/composer\/ErisGenerators\/FormSetGenerator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Domain\/Diff\/LexemeDiff.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?callable $valueConverter = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":102,"column":30}]},"\/src\/repo\/src\/Domain\/Model\/FormSet.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/composer\/DataModel\/LexemePatchAccessTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Presentation\/Formatters\/FormIdHtmlFormatter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/MediaWiki\/Content\/LexemeLanguageNameLookupFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/ChangeOp\/Deserialization\/ItemIdListDeserializerTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":62,"column":33}]},"\/src\/repo\/src\/Domain\/Merge\/NoCrossReferencingLexemeStatements.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/View\/Template\/LexemeTemplateFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/MediaWiki\/Api\/RemoveFormRequestParser.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Domain\/Diff\/Nonserializable.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/DummyObjects\/DummyFormIdTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/DataAccess\/Store\/FormRevisionLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Domain\/Merge\/Exceptions\/DifferentLexicalCategoriesException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/composer\/ErisGenerators\/WikibaseLexemeGenerators.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?LexemeId $lexemeId = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":14,"column":36}]},"\/src\/repo\/tests\/phpunit\/mediawiki\/ChangeOp\/ChangeOpRemoveFormTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/MediaWiki\/Content\/LexemeLanguageNameLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/DataAccess\/ChangeOp\/ChangeOpLexicalCategory.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?Summary $summary = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":50,"column":52}]},"\/src\/repo\/src\/DataAccess\/ChangeOp\/ChangeOpLemmaEdit.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?Summary $summary = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":72,"column":52}]},"\/src\/repo\/src\/Domain\/EntityReferenceExtractors\/LanguageItemIdExtractor.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Api\/EditSenseElementsRequestTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/DataAccess\/LexemeDescription.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?EntityId $id = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":49,"column":9}]},"\/src\/repo\/src\/Presentation\/ChangeOp\/Deserialization\/SenseListChangeOpDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Presentation\/Diff\/SenseDiffView.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/ChangeOp\/ChangeOpSenseCloneTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/DataAccess\/Store\/EntityLookupLemmaLookup.php":{"errors":0,"warnings":1,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":27,"column":61}]},"\/src\/repo\/src\/MediaWiki\/Api\/AddSenseRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/ChangeOp\/ChangeOpRepresentationTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/WikibaseLexeme.resources.php":{"errors":0,"warnings":1,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":275,"column":38}]},"\/src\/repo\/tests\/phpunit\/mediawiki\/MediaWikiLexemeRedirectorIntegrationTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Store\/SenseTitleStoreLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/DataAccess\/ChangeOp\/ChangeOpRemoveSenseGloss.php":{"errors":2,"warnings":1,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?Summary $summary = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":41,"column":52},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?Summary $summary = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":60,"column":51},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":69,"column":50}]},"\/src\/repo\/src\/DataAccess\/ChangeOp\/ChangeOpFormEdit.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?Summary $summary = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":42,"column":52}]},"\/src\/repo\/tests\/phpunit\/unit\/DataModel\/NewForm.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/LexemeDescriptionTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/MediaWiki\/Api\/AddSense.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Domain\/Diff\/LexemeDiffer.php":{"errors":0,"warnings":2,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":302,"column":24},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":310,"column":24}]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Api\/RemoveFormRequestParserTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/DummyObjects\/NullFormIdTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/LexemePageTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Scribunto\/WikibaseLexemeEntityFormLibraryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Presentation\/ChangeOp\/Deserialization\/FormChangeOpDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/ChangeOp\/Deserialization\/SenseIdDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/DataAccess\/ChangeOp\/AddFormToLexemeChangeOp.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?Summary $summary = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":43,"column":50}]},"\/src\/repo\/src\/Domain\/EntityReferenceExtractors\/FormsStatementEntityReferenceExtractor.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/MediaWiki\/Api\/RemoveSenseRequestParser.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/DataModel\/NewLexeme.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Config\/LexemeLanguageCodePropertyIdConfigTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Hooks\/InfoActionHookHandlerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Scribunto\/WikibaseLexemeEntityLexemeLibraryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/MediaWiki\/Api\/EditSenseElements.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/DataAccess\/ChangeOp\/ChangeOpGrammaticalFeatures.php":{"errors":2,"warnings":3,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?Summary $summary = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":39,"column":52},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?Summary $summary = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":55,"column":49},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":71,"column":46},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":80,"column":46},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":89,"column":46}]},"\/src\/repo\/tests\/phpunit\/mediawiki\/WikibaseLexemeHooksTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Presentation\/View\/LexemeView.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/DataAccess\/Store\/SenseTitleStoreLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/DummyObjects\/DummySenseIdTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Scribunto\/WikibaseLexemeEntitySenseLibraryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/ChangeOp\/Deserialization\/LemmaChangeOpDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/maintenance\/FixPagePropsSortkey.php":{"errors":0,"warnings":2,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":54,"column":55},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":80,"column":59}]},"\/src\/repo\/tests\/phpunit\/unit\/DataModel\/NewSenseTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Api\/ApiUserBlockedTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Domain\/Model\/Form.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?StatementList $statementList = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":48,"column":9}]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Scribunto\/WikibaseLexemeLibraryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Api\/AddSenseRequestTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/DataAccess\/ChangeOp\/ChangeOpFormClone.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?Summary $summary = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":40,"column":52}]},"\/src\/repo\/tests\/phpunit\/composer\/ErisGenerators\/LexemeGenerator.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?LexemeId $lexemeId = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":49,"column":34}]},"\/src\/repo\/src\/Presentation\/Diff\/LexemeDiffVisualizer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Hooks\/Formatters\/LexemeLinkFormatterIntegrationTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/ChangeOp\/ChangeOpsFormsEditTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/MediaWiki\/Api\/AddSenseRequestParser.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/ChangeOp\/Deserialization\/FormChangeOpDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Presentation\/ChangeOp\/Deserialization\/FormListChangeOpDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/composer\/DataModel\/Services\/Diff\/LexemeDifferTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Domain\/Diff\/ChangeFormDiffOp.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?callable $valueConverter = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":68,"column":30}]},"\/src\/repo\/src\/Presentation\/Formatters\/LexemeIdHtmlFormatter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/DataAccess\/ChangeOp\/ChangeOpRepresentation.php":{"errors":2,"warnings":1,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?Summary $summary = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":38,"column":52},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?Summary $summary = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":55,"column":49},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":74,"column":49}]},"\/src\/repo\/tests\/phpunit\/composer\/EntityReferenceExtractors\/SensesStatementEntityReferenceExtractorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/MediaWiki\/Api\/EditSenseElementsRequestParser.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/DataAccess\/ChangeOp\/AddSenseToLexemeChangeOp.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?Summary $summary = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":43,"column":51}]},"\/src\/repo\/src\/Domain\/Diff\/FormDiffer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/DummyObjects\/NullSenseIdTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Presentation\/Rdf\/LexemeStubRdfBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/ChangeOp\/ChangeOpGlossTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Api\/Summary\/SummaryAggregatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Serialization\/LexemeDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Presentation\/Diff\/GrammaticalFeatureDiffVisualizer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/ChangeOp\/ChangeOpSenseAddTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/ChangeOp\/Deserialization\/ValidationContextTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Interactors\/MergeLexemes\/MergeLexemesStatus.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/DummyObjects\/BlankFormTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Domain\/Model\/Lexeme.php":{"errors":7,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?LexemeId $id = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":54,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?TermList $lemmas = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":55,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?ItemId $lexicalCategory = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":56,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?ItemId $language = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":57,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?StatementList $statements = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":58,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?FormSet $forms = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":60,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?SenseSet $senses = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":62,"column":9}]},"\/src\/repo\/tests\/phpunit\/mediawiki\/WikibaseLexemeApiTestCase.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Presentation\/Formatters\/FormIdTextFormatter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/DataModel\/FormTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Presentation\/ChangeOp\/Deserialization\/LexicalCategoryChangeOpDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Presentation\/ChangeOp\/Deserialization\/EditFormChangeOpDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/MediaWiki\/Actions\/InfoActionHookHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Domain\/Diff\/FormPatcher.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/View\/FormsViewTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/MediaWiki\/Content\/LexemeContent.php":{"errors":4,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?EntityHolder $lexemeHolder = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":51,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?EntityRedirect $redirect = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":52,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?Title $redirectTitle = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":53,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?Title $redirectTitle = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":205,"column":69}]},"\/src\/repo\/src\/DataAccess\/ChangeOp\/ChangeOpRemoveFormRepresentation.php":{"errors":2,"warnings":1,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?Summary $summary = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":41,"column":52},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?Summary $summary = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":60,"column":49},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":69,"column":49}]},"\/src\/repo\/tests\/phpunit\/composer\/EntityReferenceExtractors\/LexemeStatementEntityReferenceExtractorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Presentation\/Formatters\/RedirectedLexemeSubEntityIdHtmlFormatter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/composer\/ErisGenerators\/TermListGenerator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Domain\/Diff\/FormDiff.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Presentation\/View\/SensesView.php":{"errors":0,"warnings":2,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":82,"column":28},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":84,"column":28}]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Formatters\/LexemeIdHtmlFormatterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Api\/Error\/ApiErrorTranslationTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/composer\/Merge\/LexemeFormsMergerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/composer\/DataModel\/Serialization\/ResultBuilderLexemeTest.php":{"errors":0,"warnings":3,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":110,"column":38},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":111,"column":34},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":112,"column":52}]},"\/src\/repo\/tests\/phpunit\/mediawiki\/LexemeDescriptionTestCase.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Presentation\/ChangeOp\/Deserialization\/ItemIdListDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/MediaWiki\/Api\/RemoveFormRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/ChangeOp\/ChangeOpLemmaRemoveTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/ChangeOp\/Deserialization\/LanguageChangeOpDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/DataModel\/Services\/Diff\/LexemePatcherTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Presentation\/View\/TemplateModule.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/MediaWiki\/Actions\/LexemeHistoryAction.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Presentation\/Formatters\/LexemeTermFormatter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/ChangeOp\/AddFormToLexemeChangeOpTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Scribunto\/WikibaseLexemeLibraryTestCase.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/WikibaseLexemeExtensionRegistrationTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Presentation\/ChangeOp\/Deserialization\/GlossesChangeOpDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/DataAccess\/Store\/FormStore.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Content\/LexemeHandlerTest.php":{"errors":3,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?SettingsArray $settings = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":64,"column":36},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?EntityDocument $entity = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":73,"column":42},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?EntityId $id = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":97,"column":35}]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Api\/AddFormRequestParserTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/ChangeOp\/Validation\/LexemeTermSerializationValidatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/ChangeOp\/Deserialization\/GlossesChangeOpDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/MediaWiki\/Actions\/ViewLexemeAction.php":{"errors":0,"warnings":1,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":19,"column":59}]},"\/src\/repo\/src\/Domain\/Model\/Sense.php":{"errors":1,"warnings":1,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?StatementList $statementList = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":37,"column":9},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":40,"column":40}]},"\/src\/repo\/src\/Domain\/Diff\/AddSenseDiff.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?callable $valueConverter = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":58,"column":30}]},"\/src\/repo\/src\/MediaWiki\/Api\/AddFormRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/composer\/EntityReferenceExtractors\/GrammaticalFeatureItemIdsExtractorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/maintenance\/CreateReservedLexemes.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Rdf\/LexemeRdfBuilderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/DataModel\/SenseTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Hooks\/Formatters\/LexemeLinkFormatterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/DataModel\/Services\/Diff\/FormDifferTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/composer\/ErisGenerators\/CartesianProduct.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/MediaWiki\/Api\/EditSenseElementsRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/ChangeOp\/ChangeOpRemoveSenseGlossTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/ChangeOp\/ChangeOpGlossListTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Presentation\/View\/LexemeViewFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Formatters\/RedirectedLexemeSubEntityIdHtmlFormatterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/ChangeOp\/ChangeOpRemoveSenseTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Domain\/Model\/LexemeId.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Api\/EditFormElementsRequestParserTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Content\/LexemeLanguageNameLookupAndFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/Diff\/GrammaticalFeatureDiffVisualizerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/LexemeNamespaceTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Presentation\/Formatters\/SenseIdTextFormatter.php":{"errors":0,"warnings":1,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":51,"column":37}]},"\/src\/repo\/src\/Domain\/Diff\/SensePatcher.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/composer\/DataModel\/Serialization\/SenseSerializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Domain\/Diff\/LexemePatcher.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Domain\/Model\/Exceptions\/ConflictException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/MediaWiki\/Api\/RemoveForm.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/DataAccess\/Store\/SenseRevisionLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/DataModel\/Services\/Diff\/SenseDifferTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/ChangeOp\/ChangeOpFormAddTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/DataModel\/NewLexemeTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/MediaWiki\/Api\/AddForm.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/composer\/ErisGenerators\/TermGenerator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Diff\/LexemeDiffVisualizerIntegrationTest.php":{"errors":0,"warnings":3,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":132,"column":47},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":225,"column":47},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":319,"column":47}]},"\/src\/repo\/tests\/phpunit\/composer\/DataModel\/Services\/Diff\/LexemeDifferPatcherTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/composer\/EntityReferenceExtractors\/FormsStatementEntityReferenceExtractorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Formatters\/LemmaTextSummaryFormatterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/View\/SensesViewTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Domain\/Diff\/ChangeSenseDiffOp.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?callable $valueConverter = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":62,"column":30}]},"\/src\/repo\/src\/Interactors\/MergeLexemes\/MergeLexemesInteractor.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/ChangeOp\/ChangeOpRemoveFormRepresentationTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/DataModel\/NewSense.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Store\/SenseStoreTest.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?Lexeme $expectedLexeme = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":323,"column":47}]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Formatters\/SenseIdTextFormatterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/MediaWiki\/Api\/EditFormElements.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Api\/RemoveSenseTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":99,"column":56}]},"\/src\/repo\/src\/Presentation\/Rdf\/LexemeSpecificComponentsRdfBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Hooks\/Formatters\/FormLinkFormatterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/View\/LexemeViewFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Rdf\/LexemeStubRdfBuilderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Presentation\/View\/LexemeMetaTagsCreator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Domain\/Diff\/RemoveSenseDiff.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?callable $valueConverter = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":58,"column":30}]},"\/src\/repo\/tests\/phpunit\/unit\/DataAccess\/EntityLemmaLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/MediaWiki\/Api\/RemoveSenseRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Store\/LexemeStoreIntegrationTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Presentation\/Rdf\/LexemeRdfBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Api\/RemoveFormRequestTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Domain\/Model\/SenseSet.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/Merge\/Exceptions\/LexemeNotFoundExceptionTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/MediaWiki\/Api\/MergeLexemes.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Hooks\/Formatters\/FormLinkFormatterIntegrationTest.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?string $titleText = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":54,"column":52}]},"\/src\/repo\/src\/Presentation\/Content\/LemmaTextSummaryFormatter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Domain\/Model\/FormId.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/DataModel\/FormSetTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/DataModel\/Serialization\/SenseDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/MediaWiki\/Api\/EditFormElementsRequestParser.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/ChangeOp\/Validation\/LexemeTermLanguageValidatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/ChangeOp\/Deserialization\/SenseListChangeOpDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/ChangeOp\/ChangeOpSenseEditTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/ChangeOp\/AddSenseToLexemeChangeOpTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/View\/LexemeMetaTagsCreatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/MediaWiki\/Api\/EditFormElementsRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/composer\/Merge\/MergeLexemesInteractorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/ChangeOp\/ChangeOpRepresentationListTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Api\/AddFormRequestParserIntegrationTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/MediaWiki\/Api\/RemoveSense.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/DataModel\/SenseIdTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Diff\/FormDiffViewTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/WikibaseLexemeHooks.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/MediaWiki\/Specials\/SpecialNewLexeme.php":{"errors":0,"warnings":5,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":216,"column":36},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":227,"column":45},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":228,"column":43},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":233,"column":39},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":473,"column":23}]},"\/src\/repo\/tests\/phpunit\/composer\/DataModel\/Services\/Diff\/FormDifferPatcherTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/MediaWiki\/Api\/Error\/ParameterIsNotAJsonObject.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/ChangeOp\/ChangeOpsSensesEditTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/ChangeOp\/ChangeOpLanguageTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Api\/RemoveFormTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":99,"column":56}]},"\/src\/repo\/tests\/phpunit\/unit\/DataModel\/SenseSetTest.php":{"errors":0,"warnings":2,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":112,"column":52},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":116,"column":67}]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Store\/SenseRevisionLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/MediaWiki\/Api\/Error\/FormNotFound.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/MediaWiki\/Api\/Error\/InvalidSenseClaims.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/WikibaseLexeme.mediawiki-services.php":{"errors":0,"warnings":21,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":48,"column":21},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":49,"column":21},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":51,"column":24},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":52,"column":24},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":55,"column":20},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":57,"column":21},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":58,"column":21},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":59,"column":21},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":60,"column":21},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":61,"column":21},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":63,"column":24},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":64,"column":22},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":65,"column":24},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":66,"column":21},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":68,"column":21},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":69,"column":21},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":70,"column":21},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":72,"column":21},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":73,"column":21},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":74,"column":21},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":75,"column":21}]},"\/src\/repo\/src\/MediaWiki\/Specials\/HTMLForm\/LemmaLanguageField.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/composer\/DataModel\/Serialization\/StorageLexemeSerializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Api\/RemoveSenseRequestTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/MediaWiki\/Api\/Error\/LexemeTermLanguageCanNotBeEmpty.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/WikibaseLexeme.datatypes.client.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/ChangeOp\/ChangeOpFormCloneTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Specials\/SpecialNewLexemeTest.php":{"errors":0,"warnings":3,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":254,"column":26},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":296,"column":29},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":375,"column":45}]},"\/src\/repo\/tests\/phpunit\/unit\/DataModel\/FormIdTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/ChangeOp\/ChangeOpLexicalCategoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Formatters\/FormIdHtmlFormatterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Validators\/NoCrossReferencingLexemeStatementsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Rdf\/LexemeSpecificComponentsRdfBuilderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Api\/EditSenseElementsRequestParserIntegrationTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Store\/MediaWikiPageSubEntityMetaDataAccessorTest.php":{"errors":0,"warnings":4,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":33,"column":70},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":34,"column":65},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":37,"column":56},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":52,"column":24}]},"\/src\/repo\/tests\/phpunit\/composer\/DataModel\/Services\/Diff\/SenseDifferPatcherTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Diff\/SenseDiffViewTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Specials\/HTMLForm\/LemmaLanguageFieldTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Formatters\/SenseIdHtmlFormatterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/ChangeOp\/Deserialization\/SenseChangeOpDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/ChangeOp\/ChangeOpLemmaEditTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/ChangeOp\/ChangeOpFormEditTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Validators\/LemmaTermValidatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/composer\/Merge\/LexemeSensesMergerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/.phan\/config.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/DataModel\/LexemeIdTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/View\/LexemeViewTest.php":{"errors":2,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?StatementList $expectedStatements = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":68,"column":52},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?StatementList $expectedStatements = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":90,"column":37}]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Formatters\/FormIdTextFormatterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/ChangeOp\/ChangeOpGrammaticalFeaturesTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Api\/EditFormElementsRequestParserIntegrationTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/composer\/DataModel\/Services\/Diff\/LexemeDiffTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Formatters\/LexemeTermFormatterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Api\/SetClaimTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Diff\/ItemReferenceDifferenceVisualizerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/WikibaseLexeme.entitytypes.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/MediaWiki\/Specials\/SpecialMergeLexemes.php":{"errors":0,"warnings":1,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":234,"column":25}]},"\/src\/repo\/resources\/templates.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Api\/AddFormRequestTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/composer\/DataModel\/Serialization\/ExternalLexemeSerializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/ChangeOp\/Deserialization\/FormListChangeOpDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Api\/AddSenseRequestParserTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/WikibaseLexeme.entitytypes.repo.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Store\/FormStoreTest.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?Lexeme $expectedLexeme = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":322,"column":47}]},"\/src\/repo\/src\/Serialization\/SenseSerializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Specials\/LexemeSpecialEntityDataTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/composer\/DataModel\/Services\/SenseLabelDescriptionLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Api\/LexemeGetEntitiesTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Store\/FormTitleStoreLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Api\/EditFormElementsTest.php":{"errors":0,"warnings":4,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":149,"column":44},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":161,"column":44},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":176,"column":46},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":193,"column":46}]},"\/src\/repo\/src\/Serialization\/StorageLexemeSerializer.php":{"errors":0,"warnings":1,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":94,"column":31}]},"\/src\/repo\/tests\/phpunit\/maintenance\/DumpJsonTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/ChangeOp\/Deserialization\/EditSenseChangeOpDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Store\/FormRevisionLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Diff\/LexemeDiffVisualizerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/composer\/ErisGenerators\/SenseGenerator.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?SenseId $senseId = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":32,"column":34}]},"\/src\/repo\/tests\/phpunit\/composer\/ErisGenerators\/ErisTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/ChangeOp\/Deserialization\/LexicalCategoryChangeOpDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Actions\/LexemeHistoryActionTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/EnabledEntityTypesTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Content\/LexemeContentTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Specials\/SpecialMergeLexemesTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":354,"column":44}]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Api\/EditSenseElementsTest.php":{"errors":0,"warnings":2,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":135,"column":44},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":147,"column":44}]},"\/src\/repo\/tests\/phpunit\/composer\/DataModel\/Serialization\/LexemeDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/composer\/WikibaseLexemeServicesTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/composer\/ErisGenerators\/CartesianProductTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Api\/MergeLexemesTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Api\/EditFormElementsRequestTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Api\/EditSenseElementsRequestParserTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/ParserOutput\/LexemeEntityParserOutputGeneratorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Api\/SearchEntitiesIntegrationTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Api\/LexemeEditPageTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Api\/RemoveSenseRequestParserTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/DataModel\/LexemeTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/DataModel\/LexemeSubEntityIdTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/composer\/Merge\/LexemeMergerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/composer\/DummyObjects\/BlankSenseTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/ChangeOp\/Deserialization\/EditFormChangeOpDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/ChangeOp\/Deserialization\/RepresentationsChangeOpDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Api\/LexemeEditEntityTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1104,"column":32}]},"\/src\/repo\/tests\/phpunit\/mediawiki\/ChangeOp\/Deserialization\/LexemeChangeOpDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Api\/AddSenseTest.php":{"errors":0,"warnings":3,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":99,"column":44},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":111,"column":44},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":123,"column":44}]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Api\/LexemeApiQueryBacklinksTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/mediawiki\/Api\/AddFormTest.php":{"errors":0,"warnings":3,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":113,"column":44},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":125,"column":44},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":137,"column":44}]}}}

--- 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
16 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 --exclude resources/special/new-lexeme
> phpcs -sp --cache
> minus-x check .
--- stdout ---
PHP 8.2.20 | 10 parallel jobs
............................................................  60/416 ( 14%)
............................................................ 120/416 ( 28%)
............................................................ 180/416 ( 43%)
............................................................ 240/416 ( 57%)
............................................................ 300/416 ( 72%)
............................................................ 360/416 ( 86%)
........................................................     416/416 (100%)


Checked 416 files in 1.9 seconds
No syntax error found
............................................................ 60 / 60 (100%)


Time: 490ms; Memory: 22MB

MinusX
======
Processing /src/repo...
.............................................................
.............................................................
.............................................................
.............................................................
.............................................................
.............................................................
.............................................................
.............................................................
.............................................................
.............................................................
.............................................................
.............................................................
.............................................................
.............................................................
.....................................
All good!

--- end ---
$ /usr/bin/npm audit --json
--- stdout ---
{
  "auditReportVersion": 2,
  "vulnerabilities": {
    "request": {
      "name": "request",
      "severity": "moderate",
      "isDirect": true,
      "via": [
        {
          "source": 1096727,
          "name": "request",
          "dependency": "request",
          "title": "Server-Side Request Forgery in Request",
          "url": "https://github.com/advisories/GHSA-p8p7-x288-28g6",
          "severity": "moderate",
          "cwe": [
            "CWE-918"
          ],
          "cvss": {
            "score": 6.1,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N"
          },
          "range": "<=2.88.2"
        },
        "tough-cookie"
      ],
      "effects": [],
      "range": "*",
      "nodes": [
        "node_modules/request"
      ],
      "fixAvailable": false
    },
    "tough-cookie": {
      "name": "tough-cookie",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        {
          "source": 1097682,
          "name": "tough-cookie",
          "dependency": "tough-cookie",
          "title": "tough-cookie Prototype Pollution vulnerability",
          "url": "https://github.com/advisories/GHSA-72xf-g2v4-qvf3",
          "severity": "moderate",
          "cwe": [
            "CWE-1321"
          ],
          "cvss": {
            "score": 6.5,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N"
          },
          "range": "<4.1.3"
        }
      ],
      "effects": [
        "request"
      ],
      "range": "<4.1.3",
      "nodes": [
        "node_modules/request/node_modules/tough-cookie"
      ],
      "fixAvailable": false
    }
  },
  "metadata": {
    "vulnerabilities": {
      "info": 0,
      "low": 0,
      "moderate": 2,
      "high": 0,
      "critical": 0,
      "total": 2
    },
    "dependencies": {
      "prod": 1,
      "dev": 848,
      "optional": 5,
      "peer": 19,
      "peerOptional": 0,
      "total": 848
    }
  }
}

--- end ---
Attempting to npm audit fix
$ /usr/bin/npm audit fix --dry-run --only=dev --json
--- stderr ---
npm WARN invalid config only="dev" set in command line options
npm WARN invalid config Must be one of: null, prod, production
--- stdout ---
{
  "added": 848,
  "removed": 0,
  "changed": 0,
  "audited": 849,
  "funding": 183,
  "audit": {
    "auditReportVersion": 2,
    "vulnerabilities": {
      "request": {
        "name": "request",
        "severity": "moderate",
        "isDirect": true,
        "via": [
          {
            "source": 1096727,
            "name": "request",
            "dependency": "request",
            "title": "Server-Side Request Forgery in Request",
            "url": "https://github.com/advisories/GHSA-p8p7-x288-28g6",
            "severity": "moderate",
            "cwe": [
              "CWE-918"
            ],
            "cvss": {
              "score": 6.1,
              "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N"
            },
            "range": "<=2.88.2"
          },
          "tough-cookie"
        ],
        "effects": [],
        "range": "*",
        "nodes": [
          "node_modules/request"
        ],
        "fixAvailable": false
      },
      "tough-cookie": {
        "name": "tough-cookie",
        "severity": "moderate",
        "isDirect": false,
        "via": [
          {
            "source": 1097682,
            "name": "tough-cookie",
            "dependency": "tough-cookie",
            "title": "tough-cookie Prototype Pollution vulnerability",
            "url": "https://github.com/advisories/GHSA-72xf-g2v4-qvf3",
            "severity": "moderate",
            "cwe": [
              "CWE-1321"
            ],
            "cvss": {
              "score": 6.5,
              "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N"
            },
            "range": "<4.1.3"
          }
        ],
        "effects": [
          "request"
        ],
        "range": "<4.1.3",
        "nodes": [
          "node_modules/request/node_modules/tough-cookie"
        ],
        "fixAvailable": false
      }
    },
    "metadata": {
      "vulnerabilities": {
        "info": 0,
        "low": 0,
        "moderate": 2,
        "high": 0,
        "critical": 0,
        "total": 2
      },
      "dependencies": {
        "prod": 1,
        "dev": 848,
        "optional": 5,
        "peer": 19,
        "peerOptional": 0,
        "total": 848
      }
    }
  }
}

--- end ---
{"added": 848, "removed": 0, "changed": 0, "audited": 849, "funding": 183, "audit": {"auditReportVersion": 2, "vulnerabilities": {"request": {"name": "request", "severity": "moderate", "isDirect": true, "via": [{"source": 1096727, "name": "request", "dependency": "request", "title": "Server-Side Request Forgery in Request", "url": "https://github.com/advisories/GHSA-p8p7-x288-28g6", "severity": "moderate", "cwe": ["CWE-918"], "cvss": {"score": 6.1, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N"}, "range": "<=2.88.2"}, "tough-cookie"], "effects": [], "range": "*", "nodes": ["node_modules/request"], "fixAvailable": false}, "tough-cookie": {"name": "tough-cookie", "severity": "moderate", "isDirect": false, "via": [{"source": 1097682, "name": "tough-cookie", "dependency": "tough-cookie", "title": "tough-cookie Prototype Pollution vulnerability", "url": "https://github.com/advisories/GHSA-72xf-g2v4-qvf3", "severity": "moderate", "cwe": ["CWE-1321"], "cvss": {"score": 6.5, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N"}, "range": "<4.1.3"}], "effects": ["request"], "range": "<4.1.3", "nodes": ["node_modules/request/node_modules/tough-cookie"], "fixAvailable": false}}, "metadata": {"vulnerabilities": {"info": 0, "low": 0, "moderate": 2, "high": 0, "critical": 0, "total": 2}, "dependencies": {"prod": 1, "dev": 848, "optional": 5, "peer": 19, "peerOptional": 0, "total": 848}}}}
$ /usr/bin/npm audit fix --only=dev
--- stderr ---
npm WARN invalid config only="dev" set in command line options
npm WARN invalid config Must be one of: null, prod, production
npm WARN deprecated har-validator@5.1.5: this library is no longer supported
npm WARN deprecated grunt-jasmine-nodejs@1.6.1: Deprecated in favor of npm scripts.
npm WARN deprecated glob@8.1.0: Glob versions prior to v9 are no longer supported
npm WARN deprecated glob@7.2.0: Glob versions prior to v9 are no longer supported
npm WARN deprecated formidable@1.2.6: Please upgrade to latest, formidable@v2 or formidable@v3! Check these notes: https://bit.ly/2ZEqIau
npm WARN deprecated uuid@3.4.0: Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.
npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142
npm WARN deprecated superagent@6.1.0: Please upgrade to v9.0.0+ as we have fixed a public vulnerability with formidable dependency. Note that v9.0.0+ requires Node.js v14.18.0+. See https://github.com/ladjs/superagent/pull/1800 for insight. This project is supported and maintained by the team at Forward Email @ https://forwardemail.net
--- stdout ---

added 847 packages, and audited 848 packages in 28s

183 packages are looking for funding
  run `npm fund` for details

# npm audit report

request  *
Severity: moderate
Server-Side Request Forgery in Request - https://github.com/advisories/GHSA-p8p7-x288-28g6
Depends on vulnerable versions of tough-cookie
No fix available
node_modules/request

tough-cookie  <4.1.3
Severity: moderate
tough-cookie Prototype Pollution vulnerability - https://github.com/advisories/GHSA-72xf-g2v4-qvf3
No fix available
node_modules/request/node_modules/tough-cookie

2 moderate severity vulnerabilities

Some issues need review, and may require choosing
a different dependency.

--- end ---
Verifying that tests still pass
$ /usr/bin/npm ci
--- stderr ---
npm WARN deprecated har-validator@5.1.5: this library is no longer supported
npm WARN deprecated grunt-jasmine-nodejs@1.6.1: Deprecated in favor of npm scripts.
npm WARN deprecated glob@8.1.0: Glob versions prior to v9 are no longer supported
npm WARN deprecated glob@7.2.0: Glob versions prior to v9 are no longer supported
npm WARN deprecated formidable@1.2.6: Please upgrade to latest, formidable@v2 or formidable@v3! Check these notes: https://bit.ly/2ZEqIau
npm WARN deprecated uuid@3.4.0: Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.
npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142
npm WARN deprecated superagent@6.1.0: Please upgrade to v9.0.0+ as we have fixed a public vulnerability with formidable dependency. Note that v9.0.0+ requires Node.js v14.18.0+. See https://github.com/ladjs/superagent/pull/1800 for insight. This project is supported and maintained by the team at Forward Email @ https://forwardemail.net
--- stdout ---

added 847 packages, and audited 848 packages in 18s

183 packages are looking for funding
  run `npm fund` for details

2 moderate severity vulnerabilities

Some issues need review, and may require choosing
a different dependency.

Run `npm audit` for details.

--- end ---
$ /usr/bin/npm test
--- stderr ---
[Vue warn]: Avoid app logic that relies on enumerating keys on a component instance. The keys will be empty in production mode to avoid performance overhead.
[Vue warn]: Avoid app logic that relies on enumerating keys on a component instance. The keys will be empty in production mode to avoid performance overhead.
[Vue warn]: Avoid app logic that relies on enumerating keys on a component instance. The keys will be empty in production mode to avoid performance overhead.
[Vue warn]: Avoid app logic that relies on enumerating keys on a component instance. The keys will be empty in production mode to avoid performance overhead.
[Vue warn]: Avoid app logic that relies on enumerating keys on a component instance. The keys will be empty in production mode to avoid performance overhead.
The CJS build of Vite's Node API is deprecated. See https://vitejs.dev/guide/troubleshooting.html#vite-cjs-node-api-deprecated for more details.
DEPRECATION WARNING: Sass's behavior for declarations that appear after nested
rules will be changing to match the behavior specified by CSS in an upcoming
version. To keep the existing behavior, move the declaration above the nested
rule. To opt into the new behavior, wrap the declaration in `& {}`.

More info: https://sass-lang.com/d/mixed-decls

    ╷
6   │ ┌     & > * + * {
7   │ │         margin-top: $dimension-layout-xsmall;
8   │ │     }
    │ └─── nested rule
... │
11  │       padding: $dimension-layout-small;
    │       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ declaration
    ╵
    src/components/NewLexemeForm.vue 11:2  root stylesheet

DEPRECATION WARNING: Sass's behavior for declarations that appear after nested
rules will be changing to match the behavior specified by CSS in an upcoming
version. To keep the existing behavior, move the declaration above the nested
rule. To opt into the new behavior, wrap the declaration in `& {}`.

More info: https://sass-lang.com/d/mixed-decls

    ╷
6   │ ┌     & > * + * {
7   │ │         margin-top: $dimension-layout-xsmall;
8   │ │     }
    │ └─── nested rule
... │
14  │       border-style: $border-style-base;
    │       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ declaration
    ╵
    src/components/NewLexemeForm.vue 14:2  root stylesheet

DEPRECATION WARNING: Sass's behavior for declarations that appear after nested
rules will be changing to match the behavior specified by CSS in an upcoming
version. To keep the existing behavior, move the declaration above the nested
rule. To opt into the new behavior, wrap the declaration in `& {}`.

More info: https://sass-lang.com/d/mixed-decls

    ╷
6   │ ┌     & > * + * {
7   │ │         margin-top: $dimension-layout-xsmall;
8   │ │     }
    │ └─── nested rule
... │
15  │       border-width: $border-width-thin;
    │       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ declaration
    ╵
    src/components/NewLexemeForm.vue 15:2  root stylesheet

DEPRECATION WARNING: Sass's behavior for declarations that appear after nested
rules will be changing to match the behavior specified by CSS in an upcoming
version. To keep the existing behavior, move the declaration above the nested
rule. To opt into the new behavior, wrap the declaration in `& {}`.

More info: https://sass-lang.com/d/mixed-decls

    ╷
6   │ ┌     & > * + * {
7   │ │         margin-top: $dimension-layout-xsmall;
8   │ │     }
    │ └─── nested rule
... │
16  │       border-radius: $border-radius-base;
    │       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ declaration
    ╵
    src/components/NewLexemeForm.vue 16:2  root stylesheet

DEPRECATION WARNING: Sass's behavior for declarations that appear after nested
rules will be changing to match the behavior specified by CSS in an upcoming
version. To keep the existing behavior, move the declaration above the nested
rule. To opt into the new behavior, wrap the declaration in `& {}`.

More info: https://sass-lang.com/d/mixed-decls

    ╷
6   │ ┌     & > * + * {
7   │ │         margin-top: $dimension-layout-xsmall;
8   │ │     }
    │ └─── nested rule
... │
17  │       border-color: $border-color-base-subtle;
    │       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ declaration
    ╵
    src/components/NewLexemeForm.vue 17:2  root stylesheet
--- stdout ---

> test
> run-s test:*


> test:grunt
> grunt test

Running "eslint:all" (eslint) task

/src/repo/cypress/support/pageObjects/FormsSection.ts
  143:2  warning  Missing JSDoc @return declaration   jsdoc/require-returns
  144:1  warning  Missing JSDoc @param "formId" type  jsdoc/require-param-type

/src/repo/resources/entityChangers/FormChanger.js
  1:1  warning  Missing JSDoc @param "wb" declaration  jsdoc/require-param

/src/repo/resources/entityChangers/SenseChanger.js
  1:1  warning  Missing JSDoc @param "wb" declaration  jsdoc/require-param

/src/repo/resources/jquery.wikibase.lexemeformview.js
  287:1  warning  Missing JSDoc @param "lemmas" type           jsdoc/require-param-type
  288:1  warning  Missing JSDoc @param "formIndex" type        jsdoc/require-param-type
  289:1  warning  Missing JSDoc @param "formId" type           jsdoc/require-param-type
  290:1  warning  Missing JSDoc @param "representations" type  jsdoc/require-param-type

/src/repo/resources/jquery.wikibase.lexemeview.js
  25:1  warning  Expected 0 trailing lines  jsdoc/tag-lines

/src/repo/resources/serialization/FormSerializer.js
  12:1  warning  The type 'serialization' is undefined  jsdoc/no-undefined-types

/src/repo/resources/serialization/LexemeDeserializer.js
  10:1  warning  The type 'SERIALIZER' is undefined  jsdoc/no-undefined-types

/src/repo/resources/serialization/SenseSerializer.js
  12:1  warning  The type 'serialization' is undefined  jsdoc/no-undefined-types

/src/repo/resources/special/NewLexeme.js
  6:2  warning  Unused eslint-disable directive (no problems were reported from 'no-undef')

/src/repo/resources/special/NewLexemeFallback.js
  8:3  warning  NodeList.forEach not supported by Chrome<51, Firefox<50, Safari<10, IE & others. Use Array.prototype.forEach.call instead  mediawiki/no-nodelist-unsupported-methods

/src/repo/resources/view/ViewFactoryFactory.js
  17:1  warning  Syntax error in type: []  jsdoc/valid-types

/src/repo/resources/widgets/GlossWidget.js
  34:1  warning  Syntax error in type: [{ value: string, language: string }]  jsdoc/valid-types

/src/repo/tests/qunit/datamodel/Form.tests.js
  1:1  warning  Missing JSDoc @param "wb" declaration  jsdoc/require-param

/src/repo/tests/qunit/datamodel/Sense.tests.js
  1:1  warning  Missing JSDoc @param "wb" declaration  jsdoc/require-param

/src/repo/tests/qunit/entityChangers/FormChanger.tests.js
  1:1  warning  Missing JSDoc @param "wb" declaration  jsdoc/require-param

/src/repo/tests/qunit/entityChangers/SenseChanger.tests.js
  1:1  warning  Missing JSDoc @param "wb" declaration  jsdoc/require-param

/src/repo/tests/qunit/jquery.wikibase.lexemeformlistview.tests.js
  1:1  warning  Missing JSDoc @param "wb" declaration  jsdoc/require-param

/src/repo/tests/qunit/jquery.wikibase.lexemeformview.tests.js
  1:1  warning  Missing JSDoc @param "require" declaration  jsdoc/require-param
  1:1  warning  Missing JSDoc @param "wb" declaration       jsdoc/require-param

/src/repo/tests/qunit/jquery.wikibase.senselistview.tests.js
  1:1  warning  Missing JSDoc @param "wb" declaration  jsdoc/require-param

/src/repo/tests/qunit/jquery.wikibase.senseview.tests.js
  1:1  warning  Missing JSDoc @param "wb" declaration  jsdoc/require-param

/src/repo/tests/qunit/serialization/LexemeDeserializer.tests.js
  1:1  warning  Missing JSDoc @param "wb" declaration  jsdoc/require-param

/src/repo/tests/qunit/widgets/GrammaticalFeatureListWidget.tests.js
  1:1  warning  Missing JSDoc @param "QUnit" declaration    jsdoc/require-param
  1:1  warning  Missing JSDoc @param "require" declaration  jsdoc/require-param
  1:1  warning  Missing JSDoc @param "sinon" declaration    jsdoc/require-param

✖ 29 problems (0 errors, 29 warnings)
  0 errors and 17 warnings potentially fixable with the `--fix` option.


Running "banana:WikibaseLexeme" (banana) task
>> The "fr" translation has 2 translations with trailing whitespace:
>> * wikibaselexeme-formidformatter-separator-multiple-representation
>> * wikibaselexeme-presentation-lexeme-display-label-separator-multiple-lemma
>> 3 message directories checked.

Running "jasmine_nodejs:all" (jasmine_nodejs) task

>> Executing 127 defined specs...

Test Suites & Specs:

1) RepresentationWidget
   ✔ cannot remove representation if not in edit mode
   ✔ shows only the representation it contains when editing the widget with some representation
   ✔ detects redundant representation languages and marks the widget
   ✔ adds a new representation with lemma language when editing the widget with no representations and one lemma
   ✔ is not in edit mode after being created
   ✔ switches to edit mode when editing
   ✔ is not in edit mode after editing is stopped
   ✔ adds an empty representation on add
   ✔ can remove a representation
   ✔ adds a representation with unique lemmas language on add after delete
   ✔ cannot add representation if not in edit mode
   ✔ adds a new empty representation when editing the widget with no representations and multiple lemmas
   ✔ can carry redundant representations
   ✔ detects redundant representation languages and can mark the individual languages

2) store
   ✔ creates initial state

3) RedundantLanguageIndicator
   ✔ creates mixin watch handler that updates redundantLanguages with respective language values
   ✔ creates mixin definition with watch that fires immediately
   ✔ creates mixin property hasRedundantLanguage returning true for existing redundantLanguages
   ✔ creates mixin property hasRedundantLanguage returning false for empty redundantLanguages
   ✔ creates mixin definition with watch on desired property
   ✔ creates mixin definition that adds a redundantLanguages property to data
   ✔ creates mixin definition providing computed property hasRedundantLanguage
   ✔ creates mixin definition method isRedundantLanguage returning false for empty redundantLanguages
   ✔ creates mixin watch handler not taking offence in repeated empty language
   ✔ creates mixin watch handler that can find multiple redundant languages
   ✔ creates mixin definition providing method to determine if language isRedundantLanguage
   ✔ creates mixin definition with watch that monitors the property recursively

4) actionTypes
   ✔ uses unique ids for all action types

5) actions
   ✔ ADD_REPRESENTATION on state having no representations and multiple lemmas mutates to empty values
   ✔ UPDATE_REPRESENTATION_VALUE delegates to mutation
   ✔ ADD_REPRESENTATION on state having existing representation and one lemma mutates to empty values
   ✔ UPDATE_REPRESENTATION_LANGUAGE delegates to mutation
   ✔ ADD_REPRESENTATION on state having no representations and one lemma mutates to empty values and derives lemma language
   ✔ REPLACE_ALL_REPRESENTATIONS delegates to mutation
   ✔ REMOVE_REPRESENTATION delegates to mutation

6) mutations
   ✔ REPLACE_ALL_REPRESENTATIONS replaces representations of correct form
   ✔ UPDATE_REPRESENTATION_VALUE changes correct representation value
   ✔ DERIVE_REPRESENTATION_LANGUAGE_FROM_LEMMA changes representation language correctly
   ✔ UPDATE_REPRESENTATION_LANGUAGE changes correct representation language
   ✔ REMOVE_REPRESENTATION removes representation leaving others with updated index
   ✔ ADD_REPRESENTATION adds a new representation to the right form

7) LexemeSubEntityId

   8) getIdSuffix
      ✔ returns the Form id suffix
      ✔ returns the Sense id suffix

9) focusElement
   ✔ returns a callback without doing anything else

   10) callback
      ✔ calls focus on selected element
      ✔ can handle missing element

11) LexemeHeader.newLexemeHeaderStore
   ✔ action save calls API with correct parameters when removing an item from the state
   ✔ action save calls API with correct parameters when adding, editing and removing lemmas
   ✔ action save on success processes tempuser values when present
   ✔ mutation startSaving switches the isSaving flag to true
   ✔ failed save returns rejected promise with first error object if API returns multiple errors
   ✔ action save calls API with correct parameters when editing several existing lemmas
   ✔ mutation updateLanguage changes lexical category and the link to given values
   ✔ mutation updateLanguage changes language and languageLink to given values
   ✔ failed save returns rejected promise with a single error object
   ✔ action save calls API with correct parameters and changes state using data from response
   ✔ action save calls API with correct parameters when editing one of several existing lemmas
   ✔ mutation updateLemmas changes lemmas to given values
   ✔ action save calls API with correct parameters when removing one of several existing lemmas
   ✔ action save on success mutates the state to start saving, updates state and finishes saving
   ✔ mutation finishSaving switches the isSaving flag to false
   ✔ action save calls API with correct parameters when editing an existing lemma
   ✔ mutation updateRevisionId changes baseRevId to given value

12) InvalidLanguageIndicator
   ✔ creates mixin definition with watch that does not fire immediately
   ✔ creates mixin definition with watch that monitors the property recursively
   ✔ creates mixin definition that adds an InvalidLanguages property to data
   ✔ creates mixin property hasInvalidLanguage returning true for existing InvalidLanguages
   ✔ creates mixin definition with watch on desired property
   ✔ creates mixin watch handler that updates InvalidLanguages with respective language values
   ✔ creates mixin watch handler that can find multiple invalid languages
   ✔ creates mixin watch handler not taking offence in empty language
   ✔ creates mixin definition providing computed property hasInvalidLanguage
   ✔ creates mixin definition providing method to determine if language isInvalidLanguage
   ✔ creates mixin definition method isInvalidLanguage returning false for empty InvalidLanguages
   ✔ creates mixin property hasInvalidLanguage returning false for empty InvalidLanguages

13) wikibase.lexeme.widgets.LexemeHeader
   ✔ switch to edit mode
   ✔ shows save button enabled when not unsaveable
   ✔ save lemma list
   ✔ cancel edit mode

   14) isUnsaveable
      ✔ returns true when there are changes but also lemmas with redundant languages
      ✔ returns true when there are no changes
      ✔ returns true when there are changes but saving is ongoing
      ✔ returns false by default

   15) hasChanges
      ✔ returns true when lexical category changes
      ✔ returns true when language changes
      ✔ returns false by default
      ✔ ignores added empty lemmas
      ✔ returns true when lemmas change

   ✔ updates language and lexical category on save

   ✔ shows save button disabled without changes

   ✔ attempting to save with empty lemmas fails

   ✔ passes language and lexical category to LanguageAndLexicalCategoryWidget

   ✔ save lemma list with error

   ✔ binds to lemma-widget hasRedundantLanguage event

   ✔ passes lemmas to LemmaWidget

   ✔ shows save button disabled when unsaveable

16) ItemSelectorWrapper
   ✔ passes the item ID to the entityselector widget on mount

17) GlossWidget
   ✔ create with no glosses - when switched to edit mode empty gloss is added
   ✔ switch to edit mode
   ✔ removes empty glosses when saved
   ✔ remove a gloss
   ✔ initialize widget with one gloss
   ✔ stop editing
   ✔ add a new gloss

18) mutationTypes
   ✔ uses unique ids for all mutation types

19) LanguageAndLexicalCategoryWidget
   ✔ shows the language and the lexical category
   ✔ switches to edit mode and back

20) LemmaList
   ✔ getLemmas
   ✔ length
   ✔ remove
   ✔ add

   21) equals
      ✔ ignores empty lemmas
      ✔ returns false for LemmaList with different lemmas
      ✔ returns false for LemmaList of different length
      ✔ returns false for objects that are not of type LemmaList
      ✔ returns true for LemmaList with same lemmas

   22) copy
      ✔ clones Lemmas
      ✔ creates an identical LemmaList

23) wikibase.lexeme.widgets.LemmaWidget
   ✔ detects redundant lemma languages to mark the widget
   ✔ detects redundant lemma language to mark the individual languages
   ✔ add a new lemma
   ✔ marks-up the lemma term with the lemma language
   ✔ can carry redundant lemma languages
   ✔ edit mode is false
   ✔ remove a lemma
   ✔ initialize widget with one lemma
   ✔ edit mode is true

>> Done!


Summary:

Suites:  23 of 23
Specs:   127 of 127
Expects: 0 (0 failures)
Finished in 0.955 seconds

>> Successful!

Running "jasmine_nodejs_reset" task

Running "stylelint:all" (stylelint) task
>> Linted 7 files without errors

Done.

> test:snl-distnodiff
> run-s snl:install snl:build snl:cp snl:diff


> snl:install
> npm -C $npm_package_config_snl_src i


> new-lexeme-special-page@0.0.1 prepare
> husky


added 1160 packages, and audited 1161 packages in 34s

206 packages are looking for funding
  run `npm fund` for details

4 vulnerabilities (2 moderate, 2 high)

To address all issues, run:
  npm audit fix

Run `npm audit` for details.

> snl:build
> npm -C $npm_package_config_snl_src run build


> new-lexeme-special-page@0.0.1 build
> vite build

vite v5.4.0 building for production...
transforming...
✓ 100 modules transformed.
rendering chunks...
computing gzip size...
dist/style.css                 27.27 kB │ gzip:  4.20 kB
dist/SpecialNewLexeme.cjs.js  104.34 kB │ gzip: 34.83 kB
✓ built in 2.98s

> snl:cp
> run-p snl:cp:*


> snl:cp:css
> cp $npm_package_config_snl_src/dist/$npm_package_config_snl_css $npm_package_config_snl_dist/


> snl:cp:cjs
> cp $npm_package_config_snl_src/dist/$npm_package_config_snl_cjs $npm_package_config_snl_dist/


> snl:diff
> git diff --exit-code $npm_package_config_snl_dist


> test:snl-main
> git -C $npm_package_config_snl_src branch --contains HEAD main | grep -q .


> test:mwlibs
> echo 'disabled (T297381)' # ZUUL_BRANCH=${ZUUL_BRANCH:-master} lib-version-check

disabled (T297381)

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

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

$ git add .
--- stdout ---

--- end ---
$ git commit -F /tmp/tmp93vuj4rb
--- stdout ---
On branch REL1_43
Your branch is up to date with 'origin/REL1_43'.

nothing to commit, working tree clean

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