This run took 340 seconds.
$ date
--- stdout ---
Sun Nov 30 00:44:37 UTC 2025
--- end ---
$ git clone file:///srv/git/mediawiki-core.git repo --depth=1 -b master
--- stderr ---
Cloning into 'repo'...
Updating files: 62% (7550/12114)
Updating files: 63% (7632/12114)
Updating files: 64% (7753/12114)
Updating files: 65% (7875/12114)
Updating files: 66% (7996/12114)
Updating files: 67% (8117/12114)
Updating files: 68% (8238/12114)
Updating files: 69% (8359/12114)
Updating files: 70% (8480/12114)
Updating files: 71% (8601/12114)
Updating files: 72% (8723/12114)
Updating files: 73% (8844/12114)
Updating files: 74% (8965/12114)
Updating files: 75% (9086/12114)
Updating files: 76% (9207/12114)
Updating files: 77% (9328/12114)
Updating files: 78% (9449/12114)
Updating files: 79% (9571/12114)
Updating files: 80% (9692/12114)
Updating files: 81% (9813/12114)
Updating files: 82% (9934/12114)
Updating files: 83% (10055/12114)
Updating files: 84% (10176/12114)
Updating files: 85% (10297/12114)
Updating files: 86% (10419/12114)
Updating files: 87% (10540/12114)
Updating files: 88% (10661/12114)
Updating files: 89% (10782/12114)
Updating files: 90% (10903/12114)
Updating files: 91% (11024/12114)
Updating files: 92% (11145/12114)
Updating files: 93% (11267/12114)
Updating files: 94% (11388/12114)
Updating files: 95% (11509/12114)
Updating files: 96% (11630/12114)
Updating files: 97% (11751/12114)
Updating files: 98% (11872/12114)
Updating files: 99% (11993/12114)
Updating files: 100% (12114/12114)
Updating files: 100% (12114/12114), done.
--- stdout ---
--- end ---
$ git config user.name libraryupgrader
--- stdout ---
--- end ---
$ git config user.email tools.libraryupgrader@tools.wmflabs.org
--- stdout ---
--- end ---
$ git submodule update --init
--- stdout ---
--- end ---
$ grr init
--- stdout ---
Installed commit-msg hook.
--- end ---
$ git show-ref refs/heads/master
--- stdout ---
906b9c71b8e318a406e64cd15adea2874cd2b104 refs/heads/master
--- end ---
$ /usr/bin/npm audit --json
--- stdout ---
{
"auditReportVersion": 2,
"vulnerabilities": {
"axios": {
"name": "axios",
"severity": "high",
"isDirect": false,
"via": [
{
"source": 1097679,
"name": "axios",
"dependency": "axios",
"title": "Axios Cross-Site Request Forgery Vulnerability",
"url": "https://github.com/advisories/GHSA-wf5p-g6vw-rhxx",
"severity": "moderate",
"cwe": [
"CWE-352"
],
"cvss": {
"score": 6.5,
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N"
},
"range": ">=0.8.1 <0.28.0"
},
{
"source": 1108262,
"name": "axios",
"dependency": "axios",
"title": "Axios is vulnerable to DoS attack through lack of data size check",
"url": "https://github.com/advisories/GHSA-4hjh-wcwx-xvwj",
"severity": "high",
"cwe": [
"CWE-770"
],
"cvss": {
"score": 7.5,
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
},
"range": "<0.30.2"
},
{
"source": 1111034,
"name": "axios",
"dependency": "axios",
"title": "axios Requests Vulnerable To Possible SSRF and Credential Leakage via Absolute URL",
"url": "https://github.com/advisories/GHSA-jr5f-v2jv-69x6",
"severity": "high",
"cwe": [
"CWE-918"
],
"cvss": {
"score": 0,
"vectorString": null
},
"range": "<0.30.0"
}
],
"effects": [
"openapi-validator"
],
"range": "<=0.30.1",
"nodes": [
"node_modules/axios"
],
"fixAvailable": {
"name": "chai-openapi-response-validator",
"version": "0.14.1",
"isSemVerMajor": true
}
},
"chai-openapi-response-validator": {
"name": "chai-openapi-response-validator",
"severity": "high",
"isDirect": true,
"via": [
"openapi-validator"
],
"effects": [],
"range": "0.11.2 || >=0.14.2-alpha.0",
"nodes": [
"node_modules/chai-openapi-response-validator"
],
"fixAvailable": {
"name": "chai-openapi-response-validator",
"version": "0.14.1",
"isSemVerMajor": true
}
},
"glob": {
"name": "glob",
"severity": "high",
"isDirect": false,
"via": [
{
"source": 1109842,
"name": "glob",
"dependency": "glob",
"title": "glob CLI: Command injection via -c/--cmd executes matches with shell:true",
"url": "https://github.com/advisories/GHSA-5j98-mcp5-4vw2",
"severity": "high",
"cwe": [
"CWE-78"
],
"cvss": {
"score": 7.5,
"vectorString": "CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H"
},
"range": ">=10.2.0 <10.5.0"
}
],
"effects": [],
"range": "10.2.0 - 10.4.5",
"nodes": [
"node_modules/glob"
],
"fixAvailable": true
},
"js-yaml": {
"name": "js-yaml",
"severity": "moderate",
"isDirect": false,
"via": [
{
"source": 1109801,
"name": "js-yaml",
"dependency": "js-yaml",
"title": "js-yaml has prototype pollution in merge (<<)",
"url": "https://github.com/advisories/GHSA-mh29-5h37-fv8m",
"severity": "moderate",
"cwe": [
"CWE-1321"
],
"cvss": {
"score": 5.3,
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N"
},
"range": "<3.14.2"
},
{
"source": 1109802,
"name": "js-yaml",
"dependency": "js-yaml",
"title": "js-yaml has prototype pollution in merge (<<)",
"url": "https://github.com/advisories/GHSA-mh29-5h37-fv8m",
"severity": "moderate",
"cwe": [
"CWE-1321"
],
"cvss": {
"score": 5.3,
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N"
},
"range": ">=4.0.0 <4.1.1"
}
],
"effects": [],
"range": "<3.14.2 || >=4.0.0 <4.1.1",
"nodes": [
"node_modules/@istanbuljs/load-nyc-config/node_modules/js-yaml",
"node_modules/grunt/node_modules/js-yaml",
"node_modules/js-yaml"
],
"fixAvailable": true
},
"openapi-validator": {
"name": "openapi-validator",
"severity": "high",
"isDirect": false,
"via": [
"axios"
],
"effects": [
"chai-openapi-response-validator"
],
"range": ">=0.14.2-alpha.0",
"nodes": [
"node_modules/openapi-validator"
],
"fixAvailable": {
"name": "chai-openapi-response-validator",
"version": "0.14.1",
"isSemVerMajor": true
}
}
},
"metadata": {
"vulnerabilities": {
"info": 0,
"low": 0,
"moderate": 1,
"high": 4,
"critical": 0,
"total": 5
},
"dependencies": {
"prod": 1,
"dev": 1786,
"optional": 38,
"peer": 2,
"peerOptional": 0,
"total": 1786
}
}
}
--- 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.
> MediaWiki\Composer\VersionChecker::onEvent
Loading composer repositories with package information
Updating dependencies
Lock file operations: 141 installs, 0 updates, 0 removals
- Locking composer/pcre (3.3.2)
- Locking composer/semver (3.4.4)
- Locking composer/spdx-licenses (1.5.9)
- Locking composer/xdebug-handler (3.0.5)
- Locking dealerdirect/phpcodesniffer-composer-installer (v1.2.0)
- Locking doctrine/dbal (3.10.3)
- Locking doctrine/deprecations (1.1.5)
- Locking doctrine/event-manager (2.0.1)
- Locking doctrine/instantiator (2.0.0)
- Locking doctrine/sql-formatter (1.5.3)
- Locking felixfbecker/advanced-json-rpc (v3.2.1)
- Locking giorgiosironi/eris (0.14.1)
- Locking guzzlehttp/guzzle (7.10.0)
- Locking guzzlehttp/promises (2.3.0)
- Locking guzzlehttp/psr7 (2.8.0)
- Locking hamcrest/hamcrest-php (v2.1.1)
- Locking johnkary/phpunit-speedtrap (v4.0.1)
- Locking justinrainbow/json-schema (5.3.0)
- Locking lcobucci/clock (2.2.0)
- Locking lcobucci/jwt (4.1.5)
- Locking liuggio/statsd-php-client (v1.0.18)
- Locking mck89/peast (v1.17.4)
- Locking mediawiki/mediawiki-codesniffer (v48.0.0)
- Locking mediawiki/mediawiki-phan-config (0.17.0)
- Locking mediawiki/minus-x (1.1.3)
- Locking mediawiki/phan-taint-check-plugin (7.0.0)
- Locking microsoft/tolerant-php-parser (v0.1.2)
- Locking monolog/monolog (2.9.3)
- Locking myclabs/deep-copy (1.13.4)
- Locking netresearch/jsonmapper (v4.5.0)
- Locking nikic/php-parser (v5.6.2)
- Locking oojs/oojs-ui (v0.53.0)
- Locking pear/console_getopt (v1.4.3)
- Locking pear/mail (v2.0.0)
- Locking pear/mail_mime (1.10.12)
- Locking pear/net_smtp (1.12.1)
- Locking pear/net_socket (v1.2.2)
- Locking pear/net_url2 (v2.2.3)
- Locking pear/pear-core-minimal (v1.10.16)
- Locking pear/pear_exception (v1.0.2)
- Locking phan/phan (5.5.1)
- Locking phar-io/manifest (2.0.4)
- Locking phar-io/version (3.2.1)
- Locking php-parallel-lint/php-console-color (v1.0.1)
- Locking php-parallel-lint/php-console-highlighter (v1.0.0)
- Locking php-parallel-lint/php-parallel-lint (v1.4.0)
- Locking phpcsstandards/phpcsextra (1.4.0)
- Locking phpcsstandards/phpcsutils (1.1.1)
- Locking phpdocumentor/reflection-common (2.2.0)
- Locking phpdocumentor/reflection-docblock (5.6.5)
- Locking phpdocumentor/type-resolver (1.12.0)
- Locking phpstan/phpdoc-parser (2.3.0)
- Locking phpunit/php-code-coverage (9.2.32)
- Locking phpunit/php-file-iterator (3.0.6)
- Locking phpunit/php-invoker (3.1.1)
- Locking phpunit/php-text-template (2.0.4)
- Locking phpunit/php-timer (5.0.3)
- Locking phpunit/phpunit (9.6.21)
- Locking psr/cache (3.0.0)
- Locking psr/clock (1.0.0)
- Locking psr/container (2.0.2)
- Locking psr/http-client (1.0.3)
- Locking psr/http-factory (1.1.0)
- Locking psr/http-message (1.1)
- Locking psr/log (1.1.4)
- Locking psy/psysh (v0.12.15)
- Locking ralouphie/getallheaders (3.0.3)
- Locking sabre/event (5.1.7)
- Locking sebastian/cli-parser (1.0.2)
- Locking sebastian/code-unit (1.0.8)
- Locking sebastian/code-unit-reverse-lookup (2.0.3)
- Locking sebastian/comparator (4.0.9)
- Locking sebastian/complexity (2.0.3)
- Locking sebastian/diff (4.0.6)
- Locking sebastian/environment (5.1.5)
- Locking sebastian/exporter (4.0.8)
- Locking sebastian/global-state (5.0.8)
- Locking sebastian/lines-of-code (1.0.4)
- Locking sebastian/object-enumerator (4.0.4)
- Locking sebastian/object-reflector (2.0.4)
- Locking sebastian/recursion-context (4.0.6)
- Locking sebastian/resource-operations (3.0.4)
- Locking sebastian/type (3.2.1)
- Locking sebastian/version (3.0.2)
- Locking seld/jsonlint (1.11.0)
- Locking squizlabs/php_codesniffer (3.13.2)
- Locking stella-maris/clock (0.1.7)
- Locking symfony/console (v7.4.0)
- Locking symfony/deprecation-contracts (v3.6.0)
- Locking symfony/polyfill-php82 (v1.33.0)
- Locking symfony/polyfill-php83 (v1.33.0)
- Locking symfony/polyfill-php84 (v1.33.0)
- Locking symfony/polyfill-php85 (v1.33.0)
- Locking symfony/service-contracts (v3.6.1)
- Locking symfony/string (v7.3.4)
- Locking symfony/var-dumper (v7.4.0)
- Locking symfony/yaml (v6.4.26)
- Locking theseer/tokenizer (1.3.1)
- Locking tysonandre/var_representation_polyfill (0.1.3)
- Locking webmozart/assert (1.12.1)
- Locking wikimedia/alea (1.0.0)
- Locking wikimedia/assert (v0.5.1)
- Locking wikimedia/at-ease (v3.0.0)
- Locking wikimedia/base-convert (v2.0.2)
- Locking wikimedia/bcp-47-code (v2.0.1)
- Locking wikimedia/cdb (3.0.0)
- Locking wikimedia/cldr-plural-rule-parser (v3.0.0)
- Locking wikimedia/codex (v0.7.1)
- Locking wikimedia/common-passwords (v0.5.1)
- Locking wikimedia/composer-merge-plugin (v2.1.0)
- Locking wikimedia/css-sanitizer (v6.1.0)
- Locking wikimedia/cssjanus (v2.3.0)
- Locking wikimedia/html-formatter (4.1.0)
- Locking wikimedia/idle-dom (v2.1.0)
- Locking wikimedia/ip-utils (5.0.0)
- Locking wikimedia/json-codec (v4.0.0)
- Locking wikimedia/langconv (0.5.0)
- Locking wikimedia/less.php (v5.2.2)
- Locking wikimedia/minify (2.9.0)
- Locking wikimedia/normalized-exception (v2.1.1)
- Locking wikimedia/object-factory (v5.0.1)
- Locking wikimedia/parsoid (v0.23.0-a7)
- Locking wikimedia/php-session-serializer (v3.0.2)
- Locking wikimedia/purtle (v2.0.0)
- Locking wikimedia/relpath (4.0.2)
- Locking wikimedia/remex-html (5.1.0)
- Locking wikimedia/request-timeout (v3.0.0)
- Locking wikimedia/running-stat (v2.1.0)
- Locking wikimedia/scoped-callback (v5.0.0)
- Locking wikimedia/services (4.0.0)
- Locking wikimedia/shellbox (4.3.0)
- Locking wikimedia/testing-access-wrapper (3.0.0)
- Locking wikimedia/timestamp (v5.0.0)
- Locking wikimedia/utfnormal (4.0.0)
- Locking wikimedia/wait-condition-loop (v2.0.2)
- Locking wikimedia/wikipeg (5.0.1)
- Locking wikimedia/wrappedstring (v4.0.1)
- Locking wikimedia/xmp-reader (0.10.2)
- Locking wikimedia/zest-css (4.1.0)
- Locking wmde/hamcrest-html-matchers (v1.1.0)
- Locking zordius/lightncandy (v1.2.6)
Writing lock file
Installing dependencies from lock file (including require-dev)
Package operations: 141 installs, 0 updates, 0 removals
0 [>---------------------------] 0 [->--------------------------]
- Installing wikimedia/composer-merge-plugin (v2.1.0): Extracting archive
- Installing squizlabs/php_codesniffer (3.13.2): Extracting archive
- Installing dealerdirect/phpcodesniffer-composer-installer (v1.2.0): Extracting archive
- Installing composer/pcre (3.3.2): Extracting archive
- Installing psr/log (1.1.4): Extracting archive
- Installing psr/cache (3.0.0): Extracting archive
- Installing doctrine/event-manager (2.0.1): Extracting archive
- Installing doctrine/deprecations (1.1.5): Extracting archive
- Installing doctrine/dbal (3.10.3): Extracting archive
- Installing doctrine/sql-formatter (1.5.3): Extracting archive
- Installing giorgiosironi/eris (0.14.1): Extracting archive
- Installing guzzlehttp/promises (2.3.0): Extracting archive
- Installing sebastian/version (3.0.2): Extracting archive
- Installing sebastian/type (3.2.1): Extracting archive
- Installing sebastian/resource-operations (3.0.4): Extracting archive
- Installing sebastian/recursion-context (4.0.6): Extracting archive
- Installing sebastian/object-reflector (2.0.4): Extracting archive
- Installing sebastian/object-enumerator (4.0.4): Extracting archive
- Installing sebastian/global-state (5.0.8): Extracting archive
- Installing sebastian/exporter (4.0.8): Extracting archive
- Installing sebastian/environment (5.1.5): Extracting archive
- Installing sebastian/diff (4.0.6): Extracting archive
- Installing sebastian/comparator (4.0.9): Extracting archive
- Installing sebastian/code-unit (1.0.8): Extracting archive
- Installing sebastian/cli-parser (1.0.2): Extracting archive
- Installing phpunit/php-timer (5.0.3): Extracting archive
- Installing phpunit/php-text-template (2.0.4): Extracting archive
- Installing phpunit/php-invoker (3.1.1): Extracting archive
- Installing phpunit/php-file-iterator (3.0.6): Extracting archive
- Installing theseer/tokenizer (1.3.1): Extracting archive
- Installing nikic/php-parser (v5.6.2): Extracting archive
- Installing sebastian/lines-of-code (1.0.4): Extracting archive
- Installing sebastian/complexity (2.0.3): Extracting archive
- Installing sebastian/code-unit-reverse-lookup (2.0.3): Extracting archive
- Installing phpunit/php-code-coverage (9.2.32): Extracting archive
- Installing phar-io/version (3.2.1): Extracting archive
- Installing phar-io/manifest (2.0.4): Extracting archive
- Installing myclabs/deep-copy (1.13.4): Extracting archive
- Installing doctrine/instantiator (2.0.0): Extracting archive
- Installing phpunit/phpunit (9.6.21): Extracting archive
- Installing johnkary/phpunit-speedtrap (v4.0.1): Extracting archive
- Installing psr/clock (1.0.0): Extracting archive
- Installing stella-maris/clock (0.1.7): Extracting archive
- Installing lcobucci/clock (2.2.0): Extracting archive
- Installing lcobucci/jwt (4.1.5): Extracting archive
- Installing mck89/peast (v1.17.4): Extracting archive
- Installing phpcsstandards/phpcsutils (1.1.1): Extracting archive
- Installing phpcsstandards/phpcsextra (1.4.0): Extracting archive
- Installing composer/spdx-licenses (1.5.9): Extracting archive
- Installing composer/semver (3.4.4): Extracting archive
- Installing mediawiki/mediawiki-codesniffer (v48.0.0): Extracting archive
- Installing tysonandre/var_representation_polyfill (0.1.3): Extracting archive
- Installing symfony/string (v7.3.4): Extracting archive
- Installing symfony/deprecation-contracts (v3.6.0): Extracting archive
- Installing psr/container (2.0.2): Extracting archive
- Installing symfony/service-contracts (v3.6.1): Extracting archive
- Installing symfony/console (v7.4.0): 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.12.1): Extracting archive
- Installing phpstan/phpdoc-parser (2.3.0): Extracting archive
- Installing phpdocumentor/reflection-common (2.2.0): Extracting archive
- Installing phpdocumentor/type-resolver (1.12.0): Extracting archive
- Installing phpdocumentor/reflection-docblock (5.6.5): Extracting archive
- Installing felixfbecker/advanced-json-rpc (v3.2.1): Extracting archive
- Installing composer/xdebug-handler (3.0.5): Extracting archive
- Installing phan/phan (5.5.1): Extracting archive
- Installing mediawiki/phan-taint-check-plugin (7.0.0): Extracting archive
- Installing mediawiki/mediawiki-phan-config (0.17.0): Extracting archive
- Installing mediawiki/minus-x (1.1.3): Extracting archive
- Installing oojs/oojs-ui (v0.53.0): Extracting archive
- Installing pear/pear_exception (v1.0.2): Extracting archive
- Installing pear/console_getopt (v1.4.3): Extracting archive
- Installing pear/pear-core-minimal (v1.10.16): Extracting archive
- Installing pear/mail (v2.0.0): Extracting archive
- Installing pear/mail_mime (1.10.12): Extracting archive
- Installing pear/net_socket (v1.2.2): Extracting archive
- Installing pear/net_smtp (1.12.1): 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 psr/http-message (1.1): Extracting archive
- Installing psr/http-client (1.0.3): Extracting archive
- Installing psr/http-factory (1.1.0): Extracting archive
- Installing symfony/var-dumper (v7.4.0): Extracting archive
- Installing psy/psysh (v0.12.15): Extracting archive
- Installing ralouphie/getallheaders (3.0.3): Extracting archive
- Installing seld/jsonlint (1.11.0): Extracting archive
- Installing symfony/polyfill-php85 (v1.33.0): Extracting archive
- Installing symfony/yaml (v6.4.26): Extracting archive
- Installing wikimedia/alea (1.0.0): Extracting archive
- Installing wikimedia/at-ease (v3.0.0): Extracting archive
- Installing wikimedia/cdb (3.0.0): Extracting archive
- Installing wikimedia/cldr-plural-rule-parser (v3.0.0): Extracting archive
- Installing zordius/lightncandy (v1.2.6): Extracting archive
- Installing wikimedia/scoped-callback (v5.0.0): Extracting archive
- Installing wikimedia/services (4.0.0): Extracting archive
- Installing guzzlehttp/psr7 (2.8.0): Extracting archive
- Installing wikimedia/codex (v0.7.1): Extracting archive
- Installing wikimedia/common-passwords (v0.5.1): Extracting archive
- Installing wikimedia/utfnormal (4.0.0): Extracting archive
- Installing wikimedia/css-sanitizer (v6.1.0): Extracting archive
- Installing wikimedia/cssjanus (v2.3.0): Extracting archive
- Installing wikimedia/html-formatter (4.1.0): Extracting archive
- Installing wikimedia/assert (v0.5.1): Extracting archive
- Installing wikimedia/langconv (0.5.0): Extracting archive
- Installing wikimedia/less.php (v5.2.2): Extracting archive
- Installing pear/net_url2 (v2.2.3): Extracting archive
- Installing wikimedia/minify (2.9.0): Extracting archive
- Installing wikimedia/zest-css (4.1.0): Extracting archive
- Installing wikimedia/wikipeg (5.0.1): Extracting archive
- Installing wikimedia/remex-html (5.1.0): Extracting archive
- Installing wikimedia/object-factory (v5.0.1): Extracting archive
- Installing wikimedia/json-codec (v4.0.0): Extracting archive
- Installing wikimedia/base-convert (v2.0.2): Extracting archive
- Installing wikimedia/ip-utils (5.0.0): Extracting archive
- Installing wikimedia/idle-dom (v2.1.0): Extracting archive
- Installing wikimedia/bcp-47-code (v2.0.1): Extracting archive
- Installing symfony/polyfill-php84 (v1.33.0): Extracting archive
- Installing symfony/polyfill-php83 (v1.33.0): Extracting archive
- Installing symfony/polyfill-php82 (v1.33.0): Extracting archive
- Installing liuggio/statsd-php-client (v1.0.18): Extracting archive
- Installing justinrainbow/json-schema (5.3.0): Extracting archive
- Installing wikimedia/parsoid (v0.23.0-a7): Extracting archive
- Installing wikimedia/php-session-serializer (v3.0.2): Extracting archive
- Installing wikimedia/purtle (v2.0.0): Extracting archive
- Installing wikimedia/relpath (4.0.2): Extracting archive
- Installing wikimedia/normalized-exception (v2.1.1): Extracting archive
- Installing wikimedia/request-timeout (v3.0.0): Extracting archive
- Installing wikimedia/running-stat (v2.1.0): Extracting archive
- Installing monolog/monolog (2.9.3): Extracting archive
- Installing guzzlehttp/guzzle (7.10.0): Extracting archive
- Installing wikimedia/shellbox (4.3.0): Extracting archive
- Installing wikimedia/testing-access-wrapper (3.0.0): Extracting archive
- Installing wikimedia/wait-condition-loop (v2.0.2): Extracting archive
- Installing wikimedia/wrappedstring (v4.0.1): Extracting archive
- Installing wikimedia/timestamp (v5.0.0): Extracting archive
- Installing wikimedia/xmp-reader (0.10.2): Extracting archive
- Installing hamcrest/hamcrest-php (v2.1.1): Extracting archive
- Installing wmde/hamcrest-html-matchers (v1.1.0): Extracting archive
0/138 [>---------------------------] 0%
29/138 [=====>----------------------] 21%
45/138 [=========>------------------] 32%
59/138 [===========>----------------] 42%
73/138 [==============>-------------] 52%
93/138 [==================>---------] 67%
106/138 [=====================>------] 76%
114/138 [=======================>----] 82%
131/138 [==========================>-] 94%
138/138 [============================] 100%
27 package suggestions were added by new dependencies, use `composer suggest` to see details.
Generating optimized autoload files
53 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
> MediaWiki\Composer\ComposerVendorHtaccessCreator::onEvent
--- stdout ---
PHP CodeSniffer Config installed_paths set to ../../mediawiki/mediawiki-codesniffer,../../phpcsstandards/phpcsextra,../../phpcsstandards/phpcsutils
--- end ---
Upgrading n:eslint-config-wikimedia from 0.31.0 -> 0.32.2
Upgrading n:jsdoc from 4.0.4 -> 4.0.5
$ /usr/bin/npm install
--- stderr ---
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE package: '@wikimedia/codex@2.3.3',
npm WARN EBADENGINE required: { node: '>=20.19.1', npm: '>=10.8.2' },
npm WARN EBADENGINE current: { node: 'v20.19.2', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE package: '@wikimedia/codex-icons@2.3.3',
npm WARN EBADENGINE required: { node: '>=20.19.1', npm: '>=10.8.2' },
npm WARN EBADENGINE current: { node: 'v20.19.2', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN deprecated osenv@0.1.5: This package is no longer supported.
npm WARN deprecated inflight@1.0.6: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.
npm WARN deprecated @humanwhocodes/config-array@0.13.0: Use @eslint/config-array instead
npm WARN deprecated rimraf@3.0.2: Rimraf versions prior to v4 are no longer supported
npm WARN deprecated abab@2.0.6: Use your platform's native atob() and btoa() methods instead
npm WARN deprecated supertest@7.1.0: Please upgrade to supertest v7.1.3+, see release notes at https://github.com/forwardemail/supertest/releases/tag/v7.1.3 - maintenance is supported by Forward Email @ https://forwardemail.net
npm WARN deprecated @humanwhocodes/object-schema@2.0.3: Use @eslint/object-schema instead
npm WARN deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported
npm WARN deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported
npm WARN deprecated glob@8.1.0: Glob versions prior to v9 are no longer supported
npm WARN deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported
npm WARN deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported
npm WARN deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported
npm WARN deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported
npm WARN deprecated glob@7.1.7: Glob versions prior to v9 are no longer supported
npm WARN deprecated glob@7.1.7: Glob versions prior to v9 are no longer supported
npm WARN deprecated domexception@4.0.0: Use your platform's native DOMException instead
npm WARN deprecated node-domexception@1.0.0: Use your platform's native DOMException instead
npm WARN deprecated superagent@9.0.2: Please upgrade to superagent v10.2.2+, see release notes at https://github.com/forwardemail/superagent/releases/tag/v10.2.2 - maintenance is supported by Forward Email @ https://forwardemail.net
npm WARN deprecated eslint@8.57.1: This version is no longer supported. Please see https://eslint.org/version-support for other options.
--- stdout ---
added 1752 packages, and audited 1753 packages in 38s
230 packages are looking for funding
run `npm fund` for details
5 vulnerabilities (1 moderate, 4 high)
To address issues that do not require attention, run:
npm audit fix
To address all issues (including breaking changes), run:
npm audit fix --force
Run `npm audit` for details.
--- end ---
$ package-lock-lint /src/repo/package-lock.json
--- stdout ---
Checking /src/repo/package-lock.json
--- end ---
$ /usr/bin/npm install grunt-eslint@24.3.0 --save-exact
--- stderr ---
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE package: '@wikimedia/codex@2.3.3',
npm WARN EBADENGINE required: { node: '>=20.19.1', npm: '>=10.8.2' },
npm WARN EBADENGINE current: { node: 'v20.19.2', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE package: '@wikimedia/codex-icons@2.3.3',
npm WARN EBADENGINE required: { node: '>=20.19.1', npm: '>=10.8.2' },
npm WARN EBADENGINE current: { node: 'v20.19.2', npm: '9.2.0' }
npm WARN EBADENGINE }
--- stdout ---
up to date, audited 1753 packages in 6s
230 packages are looking for funding
run `npm fund` for details
5 vulnerabilities (1 moderate, 4 high)
To address issues that do not require attention, run:
npm audit fix
To address all issues (including breaking changes), run:
npm audit fix --force
Run `npm audit` for details.
--- end ---
$ package-lock-lint /src/repo/package-lock.json
--- stdout ---
Checking /src/repo/package-lock.json
--- end ---
$ ./node_modules/.bin/eslint --ext .js --ext .json --ext .vue . --fix
--- stderr ---
[baseline-browser-mapping] The data in this module is over two months old. To ensure accurate Baseline data, please update: `npm i baseline-browser-mapping@latest -D`
--- stdout ---
/src/repo/resources/src/jquery.lengthLimit.js
41:1 warning Syntax error in namepath: '$.fn.trimByteLength' jsdoc/valid-types
/src/repo/resources/src/jquery/jquery.makeCollapsible.js
441:1 warning Syntax error in namepath: ~'wikipage.collapsibleContent' jsdoc/valid-types
/src/repo/resources/src/mediawiki.action.edit/edit.js
12:1 warning Syntax error in namepath: ~'wikipage.editform' jsdoc/valid-types
/src/repo/resources/src/mediawiki.action/mediawiki.action.view.postEdit.js
21:1 warning Syntax error in namepath: ~'postEdit' jsdoc/valid-types
36:1 warning Syntax error in namepath: ~'postEdit.afterRemoval' jsdoc/valid-types
/src/repo/resources/src/mediawiki.api/index.js
213:1 warning The type 'JSON.parse' is undefined jsdoc/no-undefined-types
/src/repo/resources/src/mediawiki.authenticationPopup/AuthPopup.js
181:1 warning The type 'AuthPopup.CheckLoggedIn' is undefined jsdoc/no-undefined-types
/src/repo/resources/src/mediawiki.authenticationPopup/index.js
38:1 warning The type 'userinfo' is undefined jsdoc/no-undefined-types
/src/repo/resources/src/mediawiki.base/errorLogger.js
8:1 warning Syntax error in namepath: ~'global.error' jsdoc/valid-types
22:1 warning Syntax error in namepath: ~'error.caught' jsdoc/valid-types
/src/repo/resources/src/mediawiki.base/log.js
14:1 warning Found more than one @return declaration jsdoc/require-returns
14:1 warning Found more than one @return declaration jsdoc/require-returns-check
/src/repo/resources/src/mediawiki.base/mediawiki.base.js
224:1 warning The type 'mediawiki.inspect.runReports' is undefined jsdoc/no-undefined-types
250:1 warning The type 'mediawiki.inspect.js.html' is undefined jsdoc/no-undefined-types
/src/repo/resources/src/mediawiki.cookie/jar.js
74:23 warning Avoid direct access to document.cookie. Use mw.cookie instead mediawiki/no-cookie
93:23 warning Avoid direct access to document.cookie. Use mw.cookie instead mediawiki/no-cookie
/src/repo/resources/src/mediawiki.diff/inlineFormatToggle.js
150:1 warning Syntax error in namepath: ~'wikipage.diff.wikitextDiffBody' jsdoc/valid-types
162:1 warning Syntax error in namepath: ~'wikipage.diff.diffTypeSwitch' jsdoc/valid-types
/src/repo/resources/src/mediawiki.diff/undoButtonToggle.js
5:1 warning Missing JSDoc @param "$undoButton" type jsdoc/require-param-type
/src/repo/resources/src/mediawiki.editRecovery/edit.js
184:1 warning Syntax error in namepath: ~'editRecovery.loadEnd' jsdoc/valid-types
/src/repo/resources/src/mediawiki.htmlform/cond-state.js
48:1 warning Found more than one @return declaration jsdoc/require-returns-check
/src/repo/resources/src/mediawiki.htmlform/htmlform.js
5:1 warning Syntax error in namepath: ~'htmlform.enhance' jsdoc/valid-types
/src/repo/resources/src/mediawiki.inspect.js
112:2 warning Found more than one @return declaration jsdoc/require-returns
112:2 warning Found more than one @return declaration jsdoc/require-returns-check
309:18 warning Avoid direct access to localStorage. Use mw.storage instead mediawiki/no-storage
/src/repo/resources/src/mediawiki.jqueryMsg/mediawiki.jqueryMsg.js
148:1 warning Found more than one @return declaration jsdoc/require-returns
148:1 warning Found more than one @return declaration jsdoc/require-returns-check
338:2 warning @throws should have a type jsdoc/require-throws-type
/src/repo/resources/src/mediawiki.language.months/months.js
44:1 warning The type 'Months' is undefined jsdoc/no-undefined-types
/src/repo/resources/src/mediawiki.notification.convertmessagebox.js
13:1 warning Syntax error in namepath: (require("mediawiki.notification.convertmessagebox")) jsdoc/valid-types
/src/repo/resources/src/mediawiki.notification/notification.js
75:1 warning Missing JSDoc @param "message" type jsdoc/require-param-type
76:1 warning Missing JSDoc @param "options" type jsdoc/require-param-type
/src/repo/resources/src/mediawiki.page.gallery.slideshow.js
138:22 warning OOUI button has no label. Even icon-only buttons should set a label with invisibleLabel set to true mediawiki/no-unlabeled-buttonwidget
143:22 warning OOUI button has no label. Even icon-only buttons should set a label with invisibleLabel set to true mediawiki/no-unlabeled-buttonwidget
148:24 warning OOUI button has no label. Even icon-only buttons should set a label with invisibleLabel set to true mediawiki/no-unlabeled-buttonwidget
/src/repo/resources/src/mediawiki.page.preview.js
416:1 warning Syntax error in namepath: ~'wikipage.tableOfContents' jsdoc/valid-types
697:1 warning The type 'Hooks.wikipage.categories' is undefined jsdoc/no-undefined-types
698:1 warning The type 'Hooks.wikipage.content' is undefined jsdoc/no-undefined-types
699:1 warning The type 'Hooks.wikipage.diff' is undefined jsdoc/no-undefined-types
700:1 warning The type 'Hooks.wikipage.indicators' is undefined jsdoc/no-undefined-types
701:1 warning The type 'Hooks.wikipage.tableOfContents' is undefined jsdoc/no-undefined-types
/src/repo/resources/src/mediawiki.page.ready/enableSearchDialog.js
19:21 warning Found non-literal argument in require security/detect-non-literal-require
/src/repo/resources/src/mediawiki.page.ready/ready.js
98:1 warning Syntax error in namepath: ~'wikipage.indicators' jsdoc/valid-types
118:1 warning Syntax error in namepath: ~'wikipage.content' jsdoc/valid-types
139:1 warning Syntax error in namepath: ~'wikipage.categories' jsdoc/valid-types
152:1 warning The type 'Hooks.wikipage.content' is undefined jsdoc/no-undefined-types
155:1 warning Syntax error in namepath: ~'wikipage.diff' jsdoc/valid-types
186:1 warning Syntax error in namepath: ~'skin.logout' jsdoc/valid-types
296:21 warning Found non-literal argument in require security/detect-non-literal-require
331:7 warning Avoid direct access to sessionStorage. Use mw.storage.session instead mediawiki/no-storage
/src/repo/resources/src/mediawiki.page.watch.ajax/watch-ajax.js
128:1 warning Syntax error in namepath: ~'wikipage.watchlistChange' jsdoc/valid-types
152:1 warning The type 'Hooks.wikipage.watchlistChange' is undefined jsdoc/no-undefined-types
178:1 warning The type 'Hooks.wikipage.watchlistChange' is undefined jsdoc/no-undefined-types
/src/repo/resources/src/mediawiki.rcfilters/Controller.js
330:1 warning Found more than one @return declaration jsdoc/require-returns
330:1 warning Found more than one @return declaration jsdoc/require-returns-check
550:1 warning Syntax error in namepath: ~'RcFilters.highlight.enable' jsdoc/valid-types
/src/repo/resources/src/mediawiki.rcfilters/dm/FilterItem.js
81:1 warning Found more than one @return declaration jsdoc/require-returns
81:1 warning Found more than one @return declaration jsdoc/require-returns-check
335:1 warning The type 'update' is undefined jsdoc/no-undefined-types
351:1 warning The type 'update' is undefined jsdoc/no-undefined-types
366:1 warning The type 'update' is undefined jsdoc/no-undefined-types
/src/repo/resources/src/mediawiki.rcfilters/dm/FiltersViewModel.js
1200:1 warning The type 'searchChange' is undefined jsdoc/no-undefined-types
/src/repo/resources/src/mediawiki.rcfilters/mw.rcfilters.js
209:1 warning Syntax error in namepath: ~'structuredChangeFilters.ui.initialized' jsdoc/valid-types
/src/repo/resources/src/mediawiki.rcfilters/ui/FilterMenuHeaderWidget.js
33:20 warning OOUI button has no label. Even icon-only buttons should set a label with invisibleLabel set to true mediawiki/no-unlabeled-buttonwidget
42:18 warning OOUI button has no label. Even icon-only buttons should set a label with invisibleLabel set to true mediawiki/no-unlabeled-buttonwidget
62:26 warning OOUI button has no label. Even icon-only buttons should set a label with invisibleLabel set to true mediawiki/no-unlabeled-buttonwidget
67:32 warning OOUI button has no label. Even icon-only buttons should set a label with invisibleLabel set to true mediawiki/no-unlabeled-buttonwidget
72:30 warning OOUI button has no label. Even icon-only buttons should set a label with invisibleLabel set to true mediawiki/no-unlabeled-buttonwidget
/src/repo/resources/src/mediawiki.rcfilters/ui/FilterTagMultiselectWidget.js
107:21 warning OOUI button has no label. Even icon-only buttons should set a label with invisibleLabel set to true mediawiki/no-unlabeled-buttonwidget
112:24 warning OOUI button has no label. Even icon-only buttons should set a label with invisibleLabel set to true mediawiki/no-unlabeled-buttonwidget
427:1 warning Syntax error in namepath: ~'RcFilters.popup.open' jsdoc/valid-types
/src/repo/resources/src/mediawiki.rcfilters/ui/FilterWrapperWidget.js
69:28 warning OOUI button has no label. Even icon-only buttons should set a label with invisibleLabel set to true mediawiki/no-unlabeled-buttonwidget
/src/repo/resources/src/mediawiki.rcfilters/ui/HighlightColorPickerWidget.js
36:17 warning OOUI button has no label. Even icon-only buttons should set a label with invisibleLabel set to true mediawiki/no-unlabeled-buttonwidget
/src/repo/resources/src/mediawiki.rcfilters/ui/ItemMenuOptionWidget.js
59:19 warning OOUI button has no label. Even icon-only buttons should set a label with invisibleLabel set to true mediawiki/no-unlabeled-buttonwidget
/src/repo/resources/src/mediawiki.rcfilters/ui/SavedLinksListItemWidget.js
27:20 warning OOUI button has no label. Even icon-only buttons should set a label with invisibleLabel set to true mediawiki/no-unlabeled-buttonwidget
59:20 warning OOUI button has no label. Even icon-only buttons should set a label with invisibleLabel set to true mediawiki/no-unlabeled-buttonwidget
/src/repo/resources/src/mediawiki.searchSuggest/searchSuggest.js
36:1 warning The type 'ResponseMetaData' is undefined jsdoc/no-undefined-types
43:1 warning The type 'ResponseFunction' is undefined jsdoc/no-undefined-types
/src/repo/resources/src/mediawiki.skinning.typeaheadSearch/App.vue
76:3 warning Prop 'router' requires default value to be set vue/require-default-prop
225:1 warning The type 'AbortableSearchFetch' is undefined jsdoc/no-undefined-types
309:1 warning The type 'SearchSubmitEvent' is undefined jsdoc/no-undefined-types
/src/repo/resources/src/mediawiki.skinning.typeaheadSearch/fetch.js
21:1 warning The type 'RequestInit' is undefined jsdoc/no-undefined-types
/src/repo/resources/src/mediawiki.skinning.typeaheadSearch/instrumentation.js
2:1 warning The type 'FetchEndEvent' is undefined jsdoc/no-undefined-types
16:1 warning The type 'SuggestionClickEvent' is undefined jsdoc/no-undefined-types
16:1 warning The type 'SearchSubmitEvent' is undefined jsdoc/no-undefined-types
/src/repo/resources/src/mediawiki.skinning.typeaheadSearch/restSearchClient.js
4:1 warning Syntax error in type: import('./urlGenerator.js').UrlGenerator jsdoc/valid-types
11:1 warning The type 'RestResult' is undefined jsdoc/no-undefined-types
17:1 warning The type 'SearchResult' is undefined jsdoc/no-undefined-types
86:1 warning The type 'fetchRecommendationByTitle' is undefined jsdoc/no-undefined-types
100:1 warning The type 'fetchRecommendationByTitle' is undefined jsdoc/no-undefined-types
/src/repo/resources/src/mediawiki.skinning.typeaheadSearch/urlGenerator.js
2:1 warning The type 'Record' is undefined jsdoc/no-undefined-types
9:1 warning The type 'RestResult' is undefined jsdoc/no-undefined-types
9:1 warning The type 'SearchResult' is undefined jsdoc/no-undefined-types
30:1 warning The type 'RestResult' is undefined jsdoc/no-undefined-types
30:1 warning The type 'SearchResult' is undefined jsdoc/no-undefined-types
/src/repo/resources/src/mediawiki.special.apisandbox/ApiSandbox.js
501:9 warning OOUI button has no label. Even icon-only buttons should set a label with invisibleLabel set to true mediawiki/no-unlabeled-buttonwidget
/src/repo/resources/src/mediawiki.special.apisandbox/ApiSandboxLayout.js
44:1 warning Found more than one @return declaration jsdoc/require-returns
44:1 warning Found more than one @return declaration jsdoc/require-returns-check
403:19 warning OOUI button has no label. Even icon-only buttons should set a label with invisibleLabel set to true mediawiki/no-unlabeled-buttonwidget
584:7 warning OOUI button has no label. Even icon-only buttons should set a label with invisibleLabel set to true mediawiki/no-unlabeled-buttonwidget
/src/repo/resources/src/mediawiki.special.block/init.js
26:1 warning Syntax error in namepath: ~'SpecialBlock.block' jsdoc/valid-types
36:1 warning Syntax error in namepath: ~'SpecialBlock.form' jsdoc/valid-types
/src/repo/resources/src/mediawiki.storage/index.js
50:18 warning Avoid direct access to localStorage. Use mw.storage instead mediawiki/no-storage
55:18 warning Avoid direct access to sessionStorage. Use mw.storage.session instead mediawiki/no-storage
/src/repo/resources/src/mediawiki.template.js
26:1 warning The type 'TemplateRenderer' is undefined jsdoc/no-undefined-types
40:1 warning The type 'TemplateRenderFunction' is undefined jsdoc/no-undefined-types
45:1 warning The type 'TemplateCompileFunction' is undefined jsdoc/no-undefined-types
61:1 warning The type 'TemplateCompiler' is undefined jsdoc/no-undefined-types
88:1 warning The type 'TemplateCompiler' is undefined jsdoc/no-undefined-types
107:1 warning The type 'TemplateRenderer' is undefined jsdoc/no-undefined-types
125:1 warning The type 'TemplateRenderer' is undefined jsdoc/no-undefined-types
147:1 warning The type 'TemplateRenderer' is undefined jsdoc/no-undefined-types
/src/repo/resources/src/mediawiki.util/util.js
589:1 warning The type 'Hooks.util.addPortlet' is undefined jsdoc/no-undefined-types
628:1 warning Syntax error in namepath: ~'util.addPortlet' jsdoc/valid-types
702:1 warning The type 'Hooks.util.addPortletLink' is undefined jsdoc/no-undefined-types
797:1 warning Syntax error in namepath: ~'util.addPortletLink' jsdoc/valid-types
1078:2 warning Missing JSDoc @return declaration jsdoc/require-returns
/src/repo/resources/src/mediawiki.widgets.datetime/CalendarWidget.js
114:5 warning OOUI button has no label. Even icon-only buttons should set a label with invisibleLabel set to true mediawiki/no-unlabeled-buttonwidget
120:5 warning OOUI button has no label. Even icon-only buttons should set a label with invisibleLabel set to true mediawiki/no-unlabeled-buttonwidget
/src/repo/resources/src/mediawiki.widgets.datetime/DateTimeFormatter.js
268:1 warning The type 'FieldSpecificationObject' is undefined jsdoc/no-undefined-types
632:1 warning The type 'CalendarGridData' is undefined jsdoc/no-undefined-types
/src/repo/resources/src/mediawiki.widgets.datetime/DateTimeInputWidget.js
449:23 warning OOUI button has no label. Even icon-only buttons should set a label with invisibleLabel set to true mediawiki/no-unlabeled-buttonwidget
/src/repo/resources/src/mediawiki.widgets.datetime/DiscordianDateTimeFormatter.js
74:1 warning The type 'FieldSpecificationObject' is undefined jsdoc/no-undefined-types
/src/repo/resources/src/mediawiki.widgets.datetime/ProlepticGregorianDateTimeFormatter.js
306:1 warning The type 'FieldSpecificationObject' is undefined jsdoc/no-undefined-types
/src/repo/resources/src/mediawiki.widgets/Table/mw.widgets.RowWidget.js
47:23 warning OOUI button has no label. Even icon-only buttons should set a label with invisibleLabel set to true mediawiki/no-unlabeled-buttonwidget
/src/repo/resources/src/mediawiki.widgets/mw.widgets.CalendarWidget.js
355:22 warning OOUI button has no label. Even icon-only buttons should set a label with invisibleLabel set to true mediawiki/no-unlabeled-buttonwidget
363:19 warning OOUI button has no label. Even icon-only buttons should set a label with invisibleLabel set to true mediawiki/no-unlabeled-buttonwidget
369:21 warning OOUI button has no label. Even icon-only buttons should set a label with invisibleLabel set to true mediawiki/no-unlabeled-buttonwidget
375:21 warning OOUI button has no label. Even icon-only buttons should set a label with invisibleLabel set to true mediawiki/no-unlabeled-buttonwidget
/src/repo/resources/src/mediawiki.widgets/mw.widgets.ExpiryInputWidget.js
36:5 warning OOUI button has no label. Even icon-only buttons should set a label with invisibleLabel set to true mediawiki/no-unlabeled-buttonwidget
40:5 warning OOUI button has no label. Even icon-only buttons should set a label with invisibleLabel set to true mediawiki/no-unlabeled-buttonwidget
/src/repo/resources/src/mediawiki.widgets/mw.widgets.NamespaceInputWidget.js
50:1 warning The type 'DropdownOptions' is undefined jsdoc/no-undefined-types
/src/repo/resources/src/startup/mediawiki.loader.js
61:1 warning Syntax error in namepath: ~'resourceloader.exception' jsdoc/valid-types
/src/repo/tests/qunit/data/testrunner.js
112:2 warning Missing JSDoc @return declaration jsdoc/require-returns
/src/repo/tests/qunit/resources/startup/mw.loader.test.js
30:5 warning Avoid direct access to localStorage. Use mw.storage instead mediawiki/no-storage
1072:3 warning Avoid direct access to localStorage. Use mw.storage instead mediawiki/no-storage
1081:3 warning Avoid direct access to localStorage. Use mw.storage instead mediawiki/no-storage
1090:3 warning Avoid direct access to localStorage. Use mw.storage instead mediawiki/no-storage
1103:3 warning Avoid direct access to localStorage. Use mw.storage instead mediawiki/no-storage
/src/repo/tests/selenium/specs/page.js
79:1 warning This line has a length of 103. Maximum allowed is 100 max-len
/src/repo/tests/selenium/wdio-mediawiki/Api.js
65:1 warning Missing JSDoc @param "params" type jsdoc/require-param-type
/src/repo/tests/selenium/wdio-mediawiki/PrometheusFileReporter.js
158:3 warning Found writeFileSync from package "fs" with non literal argument at index 0 security/detect-non-literal-fs-filename
173:22 warning Found readdirSync from package "fs" with non literal argument at index 0 security/detect-non-literal-fs-filename
178:28 warning Found readFileSync from package "fs" with non literal argument at index 0 security/detect-non-literal-fs-filename
260:3 warning Found writeFileSync from package "fs" with non literal argument at index 0 security/detect-non-literal-fs-filename
/src/repo/tests/selenium/wdio-mediawiki/Util.js
32:1 warning This line has a length of 103. Maximum allowed is 100 max-len
/src/repo/tests/selenium/wdio-mediawiki/api/Cookies.js
13:1 warning The type 'Iterable' is undefined jsdoc/no-undefined-types
/src/repo/tests/selenium/wdio-mediawiki/wdio-defaults.conf.js
109:1 warning This line has a length of 108. Maximum allowed is 100 max-len
✖ 148 problems (0 errors, 148 warnings)
--- end ---
$ ./node_modules/.bin/eslint --ext .js --ext .json --ext .vue . -f json
--- stderr ---
[baseline-browser-mapping] The data in this module is over two months old. To ensure accurate Baseline data, please update: `npm i baseline-browser-mapping@latest -D`
--- stdout ---
[{"filePath":"/src/repo/.eslintrc.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/.stylelintrc.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/.svgo.config.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/.vsls.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/Gruntfile.js","messages":[],"suppressedMessages":[{"ruleId":"security/detect-non-literal-fs-filename","severity":1,"message":"Found existsSync from package \"fs\" with non literal argument at index 0","line":32,"column":9,"nodeType":"CallExpression","endLine":32,"endColumn":33,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"security/detect-non-literal-fs-filename","severity":1,"message":"Found existsSync from package \"fs\" with non literal argument at index 0","line":37,"column":9,"nodeType":"CallExpression","endLine":37,"endColumn":34,"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/bundlesize.config.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/composer.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/docs/.eslintrc.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/docs/abstract-schema-changes.schema.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/docs/abstract-schema-table.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/docs/abstract-schema.schema.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/docs/extension.schema.v1.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/docs/extension.schema.v2.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/docs/rest/discovery-1.0.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/docs/rest/mwapi-1.0.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/docs/rest/mwapi-1.1.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/includes/Api/i18n/en.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/includes/Api/i18n/qqq.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/includes/Installer/i18n/en.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/includes/Installer/i18n/qqq.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/includes/Rest/Handler/Schema/ContentLintErrors.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/includes/Rest/Handler/Schema/ExistingPageBare.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/includes/Rest/Handler/Schema/ExistingPageHtml.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/includes/Rest/Handler/Schema/ExistingPageSource.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/includes/Rest/Handler/Schema/ExistingRevisionHtml.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/includes/Rest/Handler/Schema/MediaFile.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/includes/Rest/Handler/Schema/MediaLinks.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/includes/Rest/Handler/Schema/ModuleSpec.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/includes/Rest/Handler/Schema/NewPage.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/includes/Rest/Handler/Schema/PageHistory.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/includes/Rest/Handler/Schema/PageHistoryCount.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/includes/Rest/Handler/Schema/PageLanguageLinks.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/includes/Rest/Handler/Schema/RevisionCompare.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/includes/Rest/Handler/Schema/RevisionMetaDataBare.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/includes/Rest/Handler/Schema/RevisionMetaDataWithSource.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/includes/Rest/Handler/Schema/SearchResults.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/includes/Rest/content.v1.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/includes/Rest/coreDevelopmentRoutes.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/includes/Rest/coreRoutes.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/includes/Rest/i18n/en.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/includes/Rest/i18n/qqq.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/includes/Rest/site.v1.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/includes/Rest/specs.v0.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/includes/libs/Leximorph/data/formal-indexes.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/includes/libs/Leximorph/data/grammarTransformations/bs.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/includes/libs/Leximorph/data/grammarTransformations/dsb.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/includes/libs/Leximorph/data/grammarTransformations/et.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/includes/libs/Leximorph/data/grammarTransformations/he.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/includes/libs/Leximorph/data/grammarTransformations/hsb.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/includes/libs/Leximorph/data/grammarTransformations/hu.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/includes/libs/Leximorph/data/grammarTransformations/ka.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/includes/libs/Leximorph/data/grammarTransformations/ku.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/includes/libs/Leximorph/data/grammarTransformations/la.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/includes/libs/Leximorph/data/grammarTransformations/mn.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/includes/libs/Leximorph/data/grammarTransformations/nb.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/includes/libs/Leximorph/data/grammarTransformations/nn.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/includes/libs/Leximorph/data/grammarTransformations/rsk.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/includes/libs/Leximorph/data/grammarTransformations/ru.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/includes/libs/Leximorph/data/grammarTransformations/sl.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/includes/libs/Leximorph/data/grammarTransformations/sv.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/includes/libs/Leximorph/data/grammarTransformations/uk.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/includes/libs/Leximorph/data/language-fallback-mappings.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/includes/libs/ParamValidator/i18n/en.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/includes/libs/ParamValidator/i18n/qqq.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/jsdoc.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/languages/data/grammarTransformations/et.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/languages/data/grammarTransformations/he.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/languages/data/grammarTransformations/ka.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/languages/data/grammarTransformations/ku.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/languages/data/grammarTransformations/mn.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/languages/data/grammarTransformations/nb.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/languages/data/grammarTransformations/nn.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/languages/data/grammarTransformations/rsk.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/languages/data/grammarTransformations/ru.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/languages/data/grammarTransformations/sv.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/languages/data/grammarTransformations/uk.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/languages/i18n/botpasswords/en.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/languages/i18n/botpasswords/qqq.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/languages/i18n/codex/en.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/languages/i18n/codex/qqq.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/languages/i18n/datetime/en.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/languages/i18n/datetime/qqq.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/languages/i18n/en.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/languages/i18n/exif/en.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/languages/i18n/exif/qqq.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/languages/i18n/interwiki/en.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/languages/i18n/interwiki/qqq.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/languages/i18n/languageconverter/en.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/languages/i18n/languageconverter/qqq.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/languages/i18n/nontranslatable/en.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/languages/i18n/nontranslatable/qqq.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/languages/i18n/preferences/en.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/languages/i18n/preferences/qqq.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/languages/i18n/qqq.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/maintenance/mediawiki.Title/.eslintrc.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/maintenance/mediawiki.Title/generateJsToUpperCaseList.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-len","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/mw-config/.eslintrc.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/mw-config/config.js","messages":[],"suppressedMessages":[{"ruleId":"no-useless-escape","severity":2,"message":"Unnecessary escape character: \\[.","line":8,"column":17,"nodeType":"Literal","messageId":"unnecessaryEscape","endLine":8,"endColumn":18,"suggestions":[{"messageId":"removeEscape","fix":{"range":[169,170],"text":""},"desc":"Remove the `\\`. This maintains the current functionality."},{"messageId":"escapeBackslash","fix":{"range":[169,169],"text":"\\"},"desc":"Replace the `\\` with `\\\\` to include the actual backslash character."}],"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-sizzle","severity":2,"message":"Selector extensions are not allowed","line":27,"column":9,"nodeType":"CallExpression","endLine":27,"endColumn":33,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-animate-toggle","severity":2,"message":"Prefer CSS transitions to .hide","line":30,"column":5,"nodeType":"CallExpression","endLine":30,"endColumn":37,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-animate-toggle","severity":2,"message":"Prefer CSS transitions to .show","line":32,"column":5,"nodeType":"CallExpression","endLine":32,"endColumn":28,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-animate-toggle","severity":2,"message":"Prefer CSS transitions to .show","line":47,"column":5,"nodeType":"CallExpression","endLine":47,"endColumn":28,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-animate-toggle","severity":2,"message":"Prefer CSS transitions to .hide","line":50,"column":5,"nodeType":"CallExpression","endLine":50,"endColumn":28,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-animate-toggle","severity":2,"message":"Prefer CSS transitions to .hide","line":58,"column":5,"nodeType":"CallExpression","endLine":58,"endColumn":28,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-animate-toggle","severity":2,"message":"Prefer CSS transitions to .show","line":61,"column":5,"nodeType":"CallExpression","endLine":61,"endColumn":28,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-slide","severity":2,"message":"Prefer CSS transitions to .slideDown","line":78,"column":5,"nodeType":"CallExpression","endLine":78,"endColumn":86,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-slide","severity":2,"message":"Prefer CSS transitions to .slideUp","line":81,"column":5,"nodeType":"CallExpression","endLine":81,"endColumn":83,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-animate-toggle","severity":2,"message":"Prefer CSS transitions to .show","line":97,"column":5,"nodeType":"CallExpression","endLine":97,"endColumn":25,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-animate-toggle","severity":2,"message":"Prefer CSS transitions to .hide","line":100,"column":5,"nodeType":"CallExpression","endLine":100,"endColumn":25,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-class-state","severity":2,"message":"Where possible, maintain application state in JS to avoid slower DOM queries","line":270,"column":4,"nodeType":"CallExpression","endLine":272,"endColumn":55,"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/package-lock.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/package.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/.eslintrc.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/jquery.lengthLimit.js","messages":[{"ruleId":"jsdoc/valid-types","severity":1,"message":"Syntax error in namepath: '$.fn.trimByteLength'","line":41,"column":1,"nodeType":"Block","endLine":41,"endColumn":1}],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"/**\n * Limit string length.\n *\n * This module provides {@link jQuery} plugins that place different types of limits on strings.\n * To use the plugins, load the module with {@link mw.loader}.\n *\n * For other methods for managing strings, see {@link module:mediawiki.String}.\n *\n * @example\n * mw.loader.using( 'jquery.lengthLimit' ).then( () => {\n * // Create an input that only accepts values <= 4 bytes. For example: 💪💪 is not a permitted value.\n * $( '<input type=\"text\" value=\"💪\">' ).byteLimit( 4 ).appendTo(document.body);\n * } );\n *\n * @module jquery.lengthLimit\n */\n( function () {\n\n\tconst\n\t\teventKeys = [\n\t\t\t'keyup.lengthLimit',\n\t\t\t'keydown.lengthLimit',\n\t\t\t'change.lengthLimit',\n\t\t\t'mouseup.lengthLimit',\n\t\t\t'cut.lengthLimit',\n\t\t\t'paste.lengthLimit',\n\t\t\t'focus.lengthLimit',\n\t\t\t'blur.lengthLimit'\n\t\t].join( ' ' ),\n\t\ttrimByteLength = require( 'mediawiki.String' ).trimByteLength,\n\t\ttrimCodePointLength = require( 'mediawiki.String' ).trimCodePointLength;\n\n\t/**\n\t * Utility function to trim down a string, based on byteLimit\n\t * and given a safe start position.\n\t *\n\t * It supports insertion anywhere in the string, so \"foo\" to \"fobaro\" if\n\t * limit is 4 will result in \"fobo\", not \"foba\". Basically emulating the\n\t * native maxlength by reconstructing where the insertion occurred.\n\t *\n\t * @method '$.fn.trimByteLength'\n\t * @memberof module:jquery.lengthLimit\n\t * @deprecated Use {@link module:mediawiki.String.trimByteLength require( 'mediawiki.String' ).trimByteLength}\n\t * instead.\n\t * @static\n\t * @param {string} safeVal Known value that was previously returned by this\n\t * function, if none, pass empty string.\n\t * @param {string} newVal New value that may have to be trimmed down.\n\t * @param {number} byteLimit Number of bytes the value may be in size.\n\t * @param {Function} [filterFunction] See jQuery#byteLimit.\n\t * @return {module:mediawiki.String~StringTrimmed}\n\t */\n\tmw.log.deprecate( $, 'trimByteLength', trimByteLength,\n\t\t'Use require( \\'mediawiki.String\\' ).trimByteLength instead.', '$.trimByteLength' );\n\n\tfunction lengthLimit( trimFn, limit, filterFunction ) {\n\t\tconst allowNativeMaxlength = trimFn === trimByteLength;\n\n\t\t// If the first argument is the function,\n\t\t// set filterFunction to the first argument's value and ignore the second argument.\n\t\tif ( typeof limit === 'function' ) {\n\t\t\tfilterFunction = limit;\n\t\t\tlimit = undefined;\n\t\t// Either way, verify it is a function so we don't have to call\n\t\t// isFunction again after this.\n\t\t} else if ( !filterFunction || typeof filterFunction !== 'function' ) {\n\t\t\tfilterFunction = undefined;\n\t\t}\n\n\t\t// The following is specific to each element in the collection.\n\t\treturn this.each( ( i, el ) => {\n\t\t\tconst $el = $( el );\n\n\t\t\t// If no limit was passed to lengthLimit(), use the maxlength value.\n\t\t\t// Can't re-use 'limit' variable because it's in the higher scope\n\t\t\t// that would affect the next each() iteration as well.\n\t\t\t// Note that we use attribute to read the value instead of property,\n\t\t\t// because in Chrome the maxLength property by default returns the\n\t\t\t// highest supported value (no indication that it is being enforced\n\t\t\t// by choice). We don't want to bind all of this for some ridiculously\n\t\t\t// high default number, unless it was explicitly set in the HTML.\n\t\t\t// Also cast to a (primitive) number (most commonly because the maxlength\n\t\t\t// attribute contains a string, but theoretically the limit parameter\n\t\t\t// could be something else as well).\n\t\t\tconst elLimit = Number( limit === undefined ? $el.attr( 'maxlength' ) : limit );\n\n\t\t\t// If there is no (valid) limit passed or found in the property,\n\t\t\t// skip this. The < 0 check is required for Firefox, which returns\n\t\t\t// -1 (instead of undefined) for maxLength if it is not set.\n\t\t\tif ( !elLimit || elLimit < 0 ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( filterFunction ) {\n\t\t\t\t// Save function for reference\n\t\t\t\t$el.data( 'lengthLimit.callback', filterFunction );\n\t\t\t}\n\n\t\t\t// Remove old event handlers (if there are any)\n\t\t\t$el.off( '.lengthLimit' );\n\n\t\t\tif ( filterFunction || !allowNativeMaxlength ) {\n\t\t\t\t// Disable the native maxLength (if there is any), because it interferes\n\t\t\t\t// with the (differently calculated) character/byte limit.\n\t\t\t\t// Aside from being differently calculated,\n\t\t\t\t// we also support a callback which can make it to allow longer\n\t\t\t\t// values (e.g. count \"Foo\" from \"User:Foo\").\n\t\t\t\t// maxLength is a strange property. Removing or setting the property to\n\t\t\t\t// undefined directly doesn't work. Instead, it can only be unset internally\n\t\t\t\t// by the browser when removing the associated attribute (Firefox/Chrome).\n\t\t\t\t// https://bugs.chromium.org/p/chromium/issues/detail?id=136004\n\t\t\t\t$el.removeAttr( 'maxlength' );\n\n\t\t\t} else {\n\t\t\t\t// For $.byteLimit only, if we don't have a callback,\n\t\t\t\t// the byteLimit can only be lower than the native maxLength limit\n\t\t\t\t// (that is, there are no characters less than 1 byte in size). So lets (re-)enforce\n\t\t\t\t// the native limit for efficiency when possible (it will make the while-loop below\n\t\t\t\t// faster by there being less left to interate over). This does not work for $.codePointLimit\n\t\t\t\t// (code units for surrogates represent half a character each).\n\t\t\t\t$el.attr( 'maxlength', elLimit );\n\t\t\t}\n\n\t\t\t// Safe base value, used to determine the path between the previous state\n\t\t\t// and the state that triggered the event handler below - and enforce the\n\t\t\t// limit approppiately (e.g. don't chop from the end if text was inserted\n\t\t\t// at the beginning of the string).\n\t\t\tlet prevSafeVal = '';\n\n\t\t\t// We need to listen to after the change has already happened because we've\n\t\t\t// learned that trying to guess the new value and canceling the event\n\t\t\t// accordingly doesn't work because the new value is not always as simple as:\n\t\t\t// oldValue + String.fromCharCode( e.which ); because of cut, paste, select-drag\n\t\t\t// replacements, and custom input methods and what not.\n\t\t\t// Even though we only trim input after it was changed (never prevent it), we do\n\t\t\t// listen on events that input text, because there are cases where the text has\n\t\t\t// changed while text is being entered and keyup/change will not be fired yet\n\t\t\t// (such as holding down a single key, fires keydown, and after each keydown,\n\t\t\t// we can trim the previous one).\n\t\t\t// See https://www.w3.org/TR/DOM-Level-3-Events/#events-keyboard-event-order for\n\t\t\t// the order and characteristics of the key events.\n\n\t\t\tfunction enforceLimit() {\n\t\t\t\tconst res = trimFn(\n\t\t\t\t\tprevSafeVal,\n\t\t\t\t\tthis.value,\n\t\t\t\t\telLimit,\n\t\t\t\t\tfilterFunction\n\t\t\t\t);\n\n\t\t\t\t// Only set value property if it was trimmed, because whenever the\n\t\t\t\t// value property is set, the browser needs to re-initiate the text context,\n\t\t\t\t// which moves the cursor at the end the input, moving it away from wherever it was.\n\t\t\t\t// This is a side-effect of limiting after the fact.\n\t\t\t\tif ( res.trimmed === true ) {\n\t\t\t\t\tthis.value = res.newVal;\n\t\t\t\t\t// Trigger a 'change' event to let other scripts attached to this node know that the value\n\t\t\t\t\t// was changed. This will also call ourselves again, but that's okay, it'll be a no-op.\n\t\t\t\t\t$el.trigger( 'change' );\n\t\t\t\t}\n\t\t\t\t// Always adjust prevSafeVal to reflect the input value. Not doing this could cause\n\t\t\t\t// trimFn to compare the new value to an empty string instead of the\n\t\t\t\t// old value, resulting in trimming always from the end (T42850).\n\t\t\t\tprevSafeVal = res.newVal;\n\t\t\t}\n\n\t\t\t$el.on( eventKeys, function ( e ) {\n\t\t\t\tif ( e.type === 'cut' || e.type === 'paste' ) {\n\t\t\t\t\t// For 'cut'/'paste', the input value is only updated after the event handlers resolve.\n\t\t\t\t\tsetTimeout( enforceLimit.bind( this ) );\n\t\t\t\t} else {\n\t\t\t\t\tenforceLimit.call( this );\n\t\t\t\t}\n\t\t\t} );\n\t\t} );\n\t}\n\n\t/**\n\t * Enforces a byte limit on an input field, assuming UTF-8 encoding, for situations\n\t * when, for example, a database field has a byte limit rather than a character limit.\n\t * Plugin rationale: Browser has native maxlength for number of characters (technically,\n\t * UTF-16 code units), this plugin exists to limit number of bytes instead.\n\t *\n\t * Can be called with a custom limit (to use that limit instead of the maxlength attribute\n\t * value), a filter function (in case the limit should apply to something other than the\n\t * exact input value), or both. Order of parameters is important!\n\t *\n\t * @memberof module:jquery.lengthLimit\n\t * @param {number} [limit] Limit to enforce, fallsback to maxLength-attribute,\n\t * called with fetched value as argument.\n\t * @param {Function} [filterFunction] Function to call on the string before assessing the length.\n\t * @return {jQuery}\n\t * @chainable\n\t */\n\t$.fn.byteLimit = function ( limit, filterFunction ) {\n\t\treturn lengthLimit.call( this, trimByteLength, limit, filterFunction );\n\t};\n\n\t/**\n\t * Enforces a codepoint (character) limit on an input field.\n\t *\n\t * For unfortunate historical reasons, browsers' native maxlength counts [the number of UTF-16\n\t * code units rather than Unicode codepoints][1], which means that codepoints outside the Basic\n\t * Multilingual Plane (such as many emojis) count as 2 characters each. This plugin exists to\n\t * correct this.\n\t *\n\t * [1]: https://www.w3.org/TR/html5/sec-forms.html#limiting-user-input-length-the-maxlength-attribute\n\t *\n\t * Can be called with a custom limit (to use that limit instead of the maxlength attribute\n\t * value), a filter function (in case the limit should apply to something other than the\n\t * exact input value), or both. Order of parameters is important!\n\t *\n\t * @memberof module:jquery.lengthLimit\n\t * @param {number} [limit] Limit to enforce, fallsback to maxLength-attribute,\n\t * called with fetched value as argument.\n\t * @param {Function} [filterFunction] Function to call on the string before assessing the length.\n\t * @return {jQuery}\n\t * @chainable\n\t */\n\t$.fn.codePointLimit = function ( limit, filterFunction ) {\n\t\treturn lengthLimit.call( this, trimCodePointLength, limit, filterFunction );\n\t};\n\n}() );\n","usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/jquery.spinner/spinner.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/jquery.tablesorter/jquery.tablesorter.js","messages":[],"suppressedMessages":[{"ruleId":"no-jquery/no-map-util","severity":2,"message":"Prefer Array#map to $.map","line":65,"column":11,"nodeType":"CallExpression","endLine":87,"endColumn":7,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-class-state","severity":2,"message":"Where possible, maintain application state in JS to avoid slower DOM queries","line":109,"column":30,"nodeType":"CallExpression","endLine":109,"endColumn":82,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-class-state","severity":2,"message":"Where possible, maintain application state in JS to avoid slower DOM queries","line":207,"column":9,"nodeType":"CallExpression","endLine":207,"endColumn":44,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-each-util","severity":2,"message":"Prefer Array#forEach to $.each","line":333,"column":5,"nodeType":"CallExpression","endLine":354,"endColumn":8,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-class-state","severity":2,"message":"Where possible, maintain application state in JS to avoid slower DOM queries","line":380,"column":10,"nodeType":"CallExpression","endLine":380,"endColumn":50,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-class-state","severity":2,"message":"Where possible, maintain application state in JS to avoid slower DOM queries","line":730,"column":9,"nodeType":"CallExpression","endLine":730,"endColumn":44,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-each-util","severity":2,"message":"Prefer Array#forEach to $.each","line":809,"column":4,"nodeType":"CallExpression","endLine":812,"endColumn":7,"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/jquery/jquery.confirmable.js","messages":[],"suppressedMessages":[{"ruleId":"no-jquery/no-class-state","severity":2,"message":"Where possible, maintain application state in JS to avoid slower DOM queries","line":96,"column":8,"nodeType":"CallExpression","endLine":96,"endColumn":57,"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/jquery/jquery.confirmable.mediawiki.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/jquery/jquery.highlightText.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/jquery/jquery.makeCollapsible.js","messages":[{"ruleId":"jsdoc/valid-types","severity":1,"message":"Syntax error in namepath: ~'wikipage.collapsibleContent'","line":441,"column":1,"nodeType":"Block","endLine":441,"endColumn":1}],"suppressedMessages":[{"ruleId":"no-jquery/no-class-state","severity":2,"message":"Where possible, maintain application state in JS to avoid slower DOM queries","line":136,"column":19,"nodeType":"CallExpression","endLine":136,"endColumn":58,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-class-state","severity":2,"message":"Where possible, maintain application state in JS to avoid slower DOM queries","line":395,"column":9,"nodeType":"CallExpression","endLine":395,"endColumn":64,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-class-state","severity":2,"message":"Where possible, maintain application state in JS to avoid slower DOM queries","line":425,"column":30,"nodeType":"CallExpression","endLine":425,"endColumn":69,"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"/**\n * jQuery makeCollapsible\n * Note: To avoid performance issues such as reflows, several styles are\n * shipped in mediawiki.makeCollapsible.styles to reserve space for the toggle control. Please\n * familiarise yourself with that CSS before making any changes to this code.\n *\n * Dual licensed:\n * - CC BY 3.0 <https://creativecommons.org/licenses/by/3.0>\n * - GPL2 <http://www.gnu.org/licenses/old-licenses/gpl-2.0.html>\n */\n/**\n * Collapse a collection of elements.\n *\n * @module jquery.makeCollapsible\n */\n( function () {\n\t/**\n\t * Handler for a click on a collapsible toggler.\n\t *\n\t * @private\n\t * @param {jQuery} $collapsible\n\t * @param {boolean} expand Expand the element, otherwise collapse\n\t * @param {jQuery|null} [$defaultToggle]\n\t * @param {Object|undefined} [options]\n\t */\n\tfunction toggleElement( $collapsible, expand, $defaultToggle, options ) {\n\t\toptions = options || {};\n\n\t\t// Validate parameters\n\n\t\t// $collapsible must be an instance of jQuery\n\t\tif ( !$collapsible.jquery ) {\n\t\t\treturn;\n\t\t}\n\t\tif ( $defaultToggle === undefined ) {\n\t\t\t$defaultToggle = null;\n\t\t}\n\n\t\t// Trigger a custom event to allow callers to hook to the collapsing/expanding,\n\t\t// allowing the module to be testable, and making it possible to\n\t\t// e.g. implement persistence via cookies\n\t\t$collapsible.trigger( expand ? 'beforeExpand.mw-collapsible' : 'beforeCollapse.mw-collapsible' );\n\t\tconst hookCallback = function () {\n\t\t\t$collapsible.trigger( expand ? 'afterExpand.mw-collapsible' : 'afterCollapse.mw-collapsible' );\n\t\t};\n\n\t\t// Handle different kinds of elements\n\t\tlet $containers;\n\t\tif ( !options.plainMode && $collapsible.is( 'table' ) ) {\n\t\t\t// Tables\n\t\t\t// If there is a caption, hide all rows; otherwise, only hide body rows\n\t\t\tif ( $collapsible.find( '> caption' ).length ) {\n\t\t\t\t$containers = $collapsible.find( '> * > tr' );\n\t\t\t} else {\n\t\t\t\t$containers = $collapsible.find( '> tbody > tr' );\n\t\t\t}\n\t\t\tif ( $defaultToggle ) {\n\t\t\t\t// Exclude table row containing togglelink\n\t\t\t\t$containers = $containers.not( $defaultToggle.closest( 'tr' ) );\n\t\t\t}\n\t\t} else if ( !options.plainMode && ( $collapsible.is( 'ul' ) || $collapsible.is( 'ol' ) ) ) {\n\t\t\t// Lists\n\t\t\t$containers = $collapsible.find( '> li' );\n\t\t\tif ( $defaultToggle ) {\n\t\t\t\t// Exclude list-item containing togglelink\n\t\t\t\t$containers = $containers.not( $defaultToggle.parent() );\n\t\t\t}\n\t\t} else {\n\t\t\t// Everything else: <div>, <p> etc.\n\t\t\tconst $collapsibleContent = $collapsible.find( '> .mw-collapsible-content' );\n\n\t\t\t// If a collapsible-content is defined, act on it\n\t\t\tif ( !options.plainMode && $collapsibleContent.length ) {\n\t\t\t\t$containers = $collapsibleContent;\n\n\t\t\t// Otherwise assume this is a customcollapse with a remote toggle\n\t\t\t// .. and there is no collapsible-content because the entire element should be toggled\n\t\t\t} else {\n\t\t\t\t$containers = $collapsible;\n\t\t\t}\n\t\t}\n\n\t\t// jQuery \"fixes\" the value of the hidden attribute to always be \"hidden\"\n\t\t// Browsers which don't support 'until-found' will still hide the element\n\t\t$containers.each( function () {\n\t\t\tif ( expand ) {\n\t\t\t\tthis.removeAttribute( 'hidden' );\n\t\t\t} else {\n\t\t\t\t// Support: FF<=138, Safari\n\t\t\t\t// Browsers which don't support until-found will just see the hidden\n\t\t\t\t// attribute and interpet it as hidden=hidden, but because we want to\n\t\t\t\t// use a [hidden=until-found] CSS selector, do a feature check here.\n\t\t\t\tthis.setAttribute( 'hidden', 'onbeforematch' in document.body ? 'until-found' : 'hidden' );\n\t\t\t}\n\t\t} );\n\t\thookCallback();\n\t}\n\n\t/**\n\t * Handle clicking/keypressing on the collapsible element toggle and other\n\t * situations where a collapsible element is toggled (e.g. the initial\n\t * toggle for collapsed ones).\n\t *\n\t * @private\n\t * @param {jQuery} $toggle the clickable toggle itself\n\t * @param {jQuery} $collapsible the collapsible element\n\t * @param {jQuery.Event|null} e either the event or null if unavailable\n\t * @param {Object|undefined} options\n\t */\n\tfunction togglingHandler( $toggle, $collapsible, e, options ) {\n\t\toptions = options || {};\n\n\t\tif ( e ) {\n\t\t\tif (\n\t\t\t\te.type === 'click' &&\n\t\t\t\te.target.nodeName.toLowerCase() === 'a' &&\n\t\t\t\t$( e.target ).attr( 'href' )\n\t\t\t) {\n\t\t\t\t// Don't fire if a link was clicked (for premade togglers)\n\t\t\t\treturn;\n\t\t\t} else if ( e.type === 'keydown' && e.which !== 13 && e.which !== 32 ) {\n\t\t\t\t// Only handle the \"Enter\" or \"Space\" keys\n\t\t\t\treturn;\n\t\t\t} else {\n\t\t\t\te.preventDefault();\n\t\t\t\te.stopPropagation();\n\t\t\t}\n\t\t}\n\n\t\t// This allows the element to be hidden on initial toggle without fiddling with the class\n\t\tlet wasCollapsed;\n\t\tif ( options.wasCollapsed !== undefined ) {\n\t\t\twasCollapsed = options.wasCollapsed;\n\t\t} else {\n\t\t\t// eslint-disable-next-line no-jquery/no-class-state\n\t\t\twasCollapsed = $collapsible.hasClass( 'mw-collapsed' );\n\t\t}\n\n\t\t// Toggle the state of the collapsible element (that is, expand or collapse)\n\t\t$collapsible.toggleClass( 'mw-collapsed', !wasCollapsed );\n\n\t\t// Toggle the mw-collapsible-toggle classes, if requested (for default and premade togglers by default)\n\t\tif ( options.toggleClasses ) {\n\t\t\t$toggle\n\t\t\t\t.toggleClass( 'mw-collapsible-toggle-collapsed', !wasCollapsed )\n\t\t\t\t.toggleClass( 'mw-collapsible-toggle-expanded', wasCollapsed );\n\t\t}\n\n\t\t// Toggle `aria-expanded` attribute, if requested (for default and premade togglers by default).\n\t\tif ( options.toggleARIA ) {\n\t\t\t$toggle.attr( 'aria-expanded', wasCollapsed ? 'true' : 'false' );\n\t\t}\n\n\t\t// Toggle the text (\"Show\"/\"Hide\") within elements tagged with mw-collapsible-text\n\t\tif ( options.toggleText ) {\n\t\t\tconst collapseText = options.toggleText.collapseText;\n\t\t\tconst expandText = options.toggleText.expandText;\n\n\t\t\tconst $textContainer = $toggle.find( '.mw-collapsible-text' );\n\t\t\tif ( $textContainer.length ) {\n\t\t\t\t$textContainer.text( wasCollapsed ? collapseText : expandText );\n\t\t\t}\n\t\t}\n\n\t\t// And finally toggle the element state itself\n\t\ttoggleElement( $collapsible, !!wasCollapsed, $toggle, options );\n\t}\n\n\t/**\n\t * If the URL contains a hash followed by the fragment identifier of an\n\t * element inside collapsed parents, expand them all and scroll to it.\n\t *\n\t * @private\n\t */\n\tfunction hashHandler() {\n\t\tconst fragment = mw.util.getTargetFromFragment();\n\t\tif ( !fragment ) {\n\t\t\t// The fragment doesn't exist\n\t\t\treturn;\n\t\t}\n\n\t\tconst $parents = $( fragment ).parents( '.mw-collapsed' );\n\t\tif ( !$parents.length ) {\n\t\t\t// The fragment is not in a collapsed element\n\t\t\treturn;\n\t\t}\n\n\t\t// Expand collapsed parents\n\t\t$parents.each( function () {\n\t\t\tconst $collapsible = $( this );\n\t\t\tif ( $collapsible.data( 'mw-made-collapsible' ) ) {\n\t\t\t\t$collapsible.data( 'mw-collapsible' ).expand();\n\t\t\t} else {\n\t\t\t\t// The collapsible has not been initialized, so just prevent it\n\t\t\t\t// from being collapsed\n\t\t\t\t$collapsible.removeClass( 'mw-collapsed' );\n\t\t\t}\n\t\t} );\n\n\t\t// Scroll to the fragment\n\t\tfragment.scrollIntoView();\n\t}\n\n\t/**\n\t * Enable collapsible-functionality on all elements in the collection.\n\t *\n\t * - Will prevent binding twice to the same element.\n\t * - Initial state is expanded by default, this can be overridden by adding class\n\t * \"mw-collapsed\" to the \"mw-collapsible\" element.\n\t * - Elements made collapsible have jQuery data \"mw-made-collapsible\" set to true.\n\t * - The inner content is wrapped in a \"div.mw-collapsible-content\" (except for tables and lists).\n\t *\n\t * To use this {@link jQuery} plugin, load the `jquery.makeCollapsible` module with {@link mw.loader}.\n\t *\n\t * @example\n\t * mw.loader.using( 'jquery.makeCollapsible' ).then( () => {\n\t * $( 'table' ).makeCollapsible();\n\t * } );\n\t * @param {Object} [options]\n\t * @param {string} [options.collapseText] Text used for the toggler, when clicking it would\n\t * collapse the element. Default: the 'data-collapsetext' attribute of the\n\t * collapsible element or the content of 'collapsible-collapse' message.\n\t * @param {string} [options.expandText] Text used for the toggler, when clicking it would\n\t * expand the element. Default: the 'data-expandtext' attribute of the\n\t * collapsible element or the content of 'collapsible-expand' message.\n\t * @param {boolean} [options.collapsed] Whether to collapse immediately. By default\n\t * collapse only if the element has the 'mw-collapsed' class.\n\t * @param {jQuery} [options.$customTogglers] Elements to be used as togglers\n\t * for this collapsible element. By default, if the collapsible element\n\t * has an id attribute like 'mw-customcollapsible-XXX', elements with a\n\t * **class** of 'mw-customtoggle-XXX' are made togglers for it.\n\t * @param {boolean} [options.plainMode=false] Whether to use a \"plain mode\" when making the\n\t * element collapsible - that is, hide entire tables and lists (instead\n\t * of hiding only all rows but first of tables, and hiding each list\n\t * item separately for lists) and don't wrap other elements in\n\t * div.mw-collapsible-content. May only be used with custom togglers.\n\t * @return {jQuery}\n\t * @memberof module:jquery.makeCollapsible\n\t * @method\n\t */\n\t$.fn.makeCollapsible = function ( options ) {\n\t\toptions = options || {};\n\n\t\tthis.each( function () {\n\t\t\t// Ensure class \"mw-collapsible\" is present in case .makeCollapsible()\n\t\t\t// is called on element(s) that don't have it yet.\n\t\t\tconst $collapsible = $( this ).addClass( 'mw-collapsible' );\n\n\t\t\t// Return if it has been enabled already.\n\t\t\tif ( $collapsible.data( 'mw-made-collapsible' ) ) {\n\t\t\t\treturn;\n\t\t\t} else {\n\t\t\t\t// Let CSS know that it no longer needs to worry about flash of unstyled content.\n\t\t\t\t// This will allow mediawiki.makeCollapsible.styles to disable temporary pseudo elements, that\n\t\t\t\t// are needed to avoid a flash of unstyled content.\n\t\t\t\t$collapsible.addClass( 'mw-made-collapsible' )\n\t\t\t\t\t.data( 'mw-made-collapsible', true );\n\t\t\t}\n\n\t\t\t// Use custom text or default?\n\t\t\tconst collapseText = options.collapseText || $collapsible.attr( 'data-collapsetext' ) || mw.msg( 'collapsible-collapse' );\n\t\t\tconst expandText = options.expandText || $collapsible.attr( 'data-expandtext' ) || mw.msg( 'collapsible-expand' );\n\n\t\t\t// Default click/keydown handler and toggle link to use when none is present\n\t\t\tlet actionHandler = function ( e, opts ) {\n\t\t\t\tconst defaultOpts = {\n\t\t\t\t\ttoggleClasses: true,\n\t\t\t\t\ttoggleARIA: true,\n\t\t\t\t\ttoggleText: { collapseText: collapseText, expandText: expandText }\n\t\t\t\t};\n\t\t\t\topts = Object.assign( defaultOpts, options, opts );\n\n\t\t\t\t// Take care of cloned content (e.g. in reference popups): if the toggle\n\t\t\t\t// link is not inside the original collapsible, make it toggle the\n\t\t\t\t// cloned collapsible (which we expect to be there) instead of\n\t\t\t\t// original.\n\t\t\t\tlet $currentCollapsible = $.contains( $collapsible.get( 0 ), this ) ?\n\t\t\t\t\t$collapsible :\n\t\t\t\t\t$( this ).closest( '.mw-collapsible' );\n\t\t\t\t// However, if we still can't find the collapsible, fallback to original\n\t\t\t\tif ( $currentCollapsible.length === 0 ) {\n\t\t\t\t\t$currentCollapsible = $collapsible;\n\t\t\t\t}\n\n\t\t\t\ttogglingHandler( $( this ), $currentCollapsible, e, opts );\n\t\t\t};\n\n\t\t\t// Default toggle link. Only build it when needed to avoid jQuery memory leaks (event data).\n\t\t\tconst buildDefaultToggleLink = function () {\n\t\t\t\treturn $( '<span>' )\n\t\t\t\t\t.addClass( 'mw-collapsible-text' )\n\t\t\t\t\t.text( collapseText )\n\t\t\t\t\t.wrap( '<button type=\"button\" class=\"mw-collapsible-toggle mw-collapsible-toggle-default\"></button>' )\n\t\t\t\t\t.parent();\n\t\t\t};\n\n\t\t\t// Check if this element has a custom position for the toggle link\n\t\t\t// (ie. outside the container or deeper inside the tree)\n\t\t\tlet $customTogglers;\n\t\t\tif ( options.$customTogglers ) {\n\t\t\t\t$customTogglers = $( options.$customTogglers );\n\t\t\t} else {\n\t\t\t\tlet collapsibleId = $collapsible.attr( 'id' ) || '';\n\t\t\t\tif ( collapsibleId.startsWith( 'mw-customcollapsible-' ) ) {\n\t\t\t\t\tcollapsibleId = $.escapeSelector( collapsibleId );\n\t\t\t\t\t$customTogglers = $( '.' + collapsibleId.replace( 'mw-customcollapsible', 'mw-customtoggle' ) )\n\t\t\t\t\t\t.addClass( 'mw-customtoggle' );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Add event handlers to custom togglers or create our own ones\n\t\t\tlet $toggle;\n\t\t\tif ( $customTogglers && $customTogglers.length ) {\n\t\t\t\tactionHandler = function ( e, opts ) {\n\t\t\t\t\tconst defaultOpts = {};\n\t\t\t\t\topts = Object.assign( defaultOpts, options, opts );\n\t\t\t\t\ttogglingHandler( $( this ), $collapsible, e, opts );\n\t\t\t\t};\n\n\t\t\t\t$toggle = $customTogglers;\n\n\t\t\t} else {\n\t\t\t\t// If this is not a custom case, do the default: wrap the\n\t\t\t\t// contents and add the toggle link. Different elements are\n\t\t\t\t// treated differently.\n\n\t\t\t\tlet $firstItem;\n\t\t\t\tif ( $collapsible.is( 'table' ) ) {\n\n\t\t\t\t\t// If the table has a caption, collapse to the caption\n\t\t\t\t\t// as opposed to the first row\n\t\t\t\t\tconst $caption = $collapsible.find( '> caption' );\n\t\t\t\t\tif ( $caption.length ) {\n\t\t\t\t\t\t$toggle = $caption.find( '> .mw-collapsible-toggle, .mw-collapsible-toggle-placeholder' ).first();\n\n\t\t\t\t\t\t// If there is no toggle link, add it to the end of the caption\n\t\t\t\t\t\tif ( !$toggle.length ) {\n\t\t\t\t\t\t\t$toggle = buildDefaultToggleLink().appendTo( $caption );\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// The toggle-link will be in one of the cells (td or th) of the first row\n\t\t\t\t\t\t$firstItem = $collapsible.find( 'tr' ).first().find( 'th, td' );\n\t\t\t\t\t\t$toggle = $firstItem.find( '> .mw-collapsible-toggle, .mw-collapsible-toggle-placeholder' ).first();\n\n\t\t\t\t\t\t// If theres no toggle link, add it to the last cell\n\t\t\t\t\t\tif ( !$toggle.length ) {\n\t\t\t\t\t\t\t$toggle = buildDefaultToggleLink().prependTo( $firstItem.eq( -1 ) );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t} else if ( $collapsible.parent().is( 'li' ) &&\n\t\t\t\t\t$collapsible.parent().children( '.mw-collapsible' ).length === 1 &&\n\t\t\t\t\t$collapsible.find( '> .mw-collapsible-toggle, .mw-collapsible-toggle-placeholder' ).length === 0\n\t\t\t\t) {\n\t\t\t\t\t// special case of one collapsible in <li> tag\n\t\t\t\t\t$toggle = buildDefaultToggleLink();\n\t\t\t\t\t$collapsible.before( $toggle );\n\t\t\t\t} else if ( $collapsible.is( 'ul' ) || $collapsible.is( 'ol' ) ) {\n\t\t\t\t\t// The toggle-link will be in the first list-item\n\t\t\t\t\t$firstItem = $collapsible.find( 'li' ).first();\n\t\t\t\t\t$toggle = $firstItem.find( '> .mw-collapsible-toggle, .mw-collapsible-toggle-placeholder' ).first();\n\n\t\t\t\t\t// If theres no toggle link, add it\n\t\t\t\t\tif ( !$toggle.length ) {\n\t\t\t\t\t\t// Make sure the numeral order doesn't get messed up, force the first (soon to be second) item\n\t\t\t\t\t\t// to be \"1\". Except if the value-attribute is already used.\n\t\t\t\t\t\t// If no value was set WebKit returns \"\", Mozilla returns '-1', others return 0, null or undefined.\n\t\t\t\t\t\tconst firstval = $firstItem.prop( 'value' );\n\t\t\t\t\t\tif ( firstval === undefined || !firstval || firstval === '-1' || firstval === -1 ) {\n\t\t\t\t\t\t\t$firstItem.prop( 'value', '1' );\n\t\t\t\t\t\t}\n\t\t\t\t\t\t$toggle = buildDefaultToggleLink();\n\t\t\t\t\t\t$toggle.wrap( '<li class=\"mw-collapsible-toggle-li\"></li>' ).parent().prependTo( $collapsible );\n\t\t\t\t\t}\n\n\t\t\t\t} else { // <div>, <p> etc.\n\n\t\t\t\t\t// The toggle-link will be the first child of the element\n\t\t\t\t\t$toggle = $collapsible.find( '> .mw-collapsible-toggle, .mw-collapsible-toggle-placeholder' ).first();\n\n\t\t\t\t\t// If a direct child .content-wrapper does not exists, create it\n\t\t\t\t\tif ( !$collapsible.find( '> .mw-collapsible-content' ).length ) {\n\t\t\t\t\t\t$collapsible.wrapInner( '<div class=\"mw-collapsible-content\"></div>' );\n\t\t\t\t\t}\n\n\t\t\t\t\t// If theres no toggle link, add it\n\t\t\t\t\tif ( !$toggle.length ) {\n\t\t\t\t\t\t$toggle = buildDefaultToggleLink().prependTo( $collapsible );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// If the toggle is just a placeholder, replace it with a real one\n\t\t\t// eslint-disable-next-line no-jquery/no-class-state\n\t\t\tif ( $toggle.hasClass( 'mw-collapsible-toggle-placeholder' ) ) {\n\t\t\t\tconst $realToggle = buildDefaultToggleLink();\n\t\t\t\t$toggle.replaceWith( $realToggle );\n\t\t\t\t$toggle = $realToggle;\n\t\t\t}\n\n\t\t\t// Attach event handlers to togglelink\n\t\t\t$toggle.on( 'click.mw-collapsible keydown.mw-collapsible', actionHandler )\n\t\t\t\t.attr( 'aria-expanded', 'true' )\n\t\t\t\t.prop( 'tabIndex', 0 );\n\n\t\t\t// beforematch is fired when hidden text is found with the browser's find feature (ctrl+f)\n\t\t\t$collapsible.on( 'beforematch', () => {\n\t\t\t\tactionHandler.call( $toggle.get( 0 ), null, { wasCollapsed: true } );\n\t\t\t} );\n\n\t\t\t$( this ).data( 'mw-collapsible', {\n\t\t\t\tcollapse: function () {\n\t\t\t\t\tactionHandler.call( $toggle.get( 0 ), null, { wasCollapsed: false } );\n\t\t\t\t},\n\t\t\t\texpand: function () {\n\t\t\t\t\tactionHandler.call( $toggle.get( 0 ), null, { wasCollapsed: true } );\n\t\t\t\t},\n\t\t\t\ttoggle: function () {\n\t\t\t\t\tactionHandler.call( $toggle.get( 0 ), null, null );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\t// Initial state\n\t\t\t// eslint-disable-next-line no-jquery/no-class-state\n\t\t\tif ( options.collapsed || $collapsible.hasClass( 'mw-collapsed' ) ) {\n\t\t\t\t// One toggler can hook to multiple elements, and one element can have\n\t\t\t\t// multiple togglers. This is the best way to handle that.\n\t\t\t\tactionHandler.call( $toggle.get( 0 ), null, { wasCollapsed: false } );\n\t\t\t}\n\n\t\t} );\n\n\t\t// Attach hash handler\n\t\twindow.addEventListener( 'hashchange', hashHandler );\n\n\t\t/**\n\t\t * Fired after collapsible content has been initialized.\n\t\t *\n\t\t * This gives an option to modify the collapsible behavior.\n\t\t *\n\t\t * @event ~'wikipage.collapsibleContent'\n\t\t * @memberof Hooks\n\t\t * @param {jQuery} $collapsible An element that has been made collapsible\n\t\t */\n\t\tmw.hook( 'wikipage.collapsibleContent' ).fire( this );\n\n\t\treturn this;\n\t};\n\n\t// Run hash handler right now in case the URL already has a hash\n\thashHandler();\n\n}() );\n","usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/jquery/jquery.suggestions.js","messages":[],"suppressedMessages":[{"ruleId":"no-jquery/no-sizzle","severity":2,"message":"Selector extensions are not allowed","line":90,"column":6,"nodeType":"CallExpression","endLine":90,"endColumn":46,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-class-state","severity":2,"message":"Where possible, maintain application state in JS to avoid slower DOM queries","line":157,"column":10,"nodeType":"CallExpression","endLine":157,"endColumn":53,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-class-state","severity":2,"message":"Where possible, maintain application state in JS to avoid slower DOM queries","line":162,"column":32,"nodeType":"CallExpression","endLine":162,"endColumn":72,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-class-state","severity":2,"message":"Where possible, maintain application state in JS to avoid slower DOM queries","line":187,"column":32,"nodeType":"CallExpression","endLine":187,"endColumn":72,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-class-state","severity":2,"message":"Where possible, maintain application state in JS to avoid slower DOM queries","line":193,"column":11,"nodeType":"CallExpression","endLine":193,"endColumn":54,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-sizzle","severity":2,"message":"Selector extensions are not allowed","line":427,"column":22,"nodeType":"CallExpression","endLine":427,"endColumn":62,"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/jquery/jquery.textSelection.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/jsdoc.types.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.DateFormatter/DateFormatter.js","messages":[],"suppressedMessages":[{"ruleId":"no-new","severity":2,"message":"Do not use 'new' for side effects.","line":27,"column":5,"nodeType":"ExpressionStatement","messageId":"noNewStatement","endLine":27,"endColumn":66,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"compat/compat","severity":2,"message":"Intl.supportedValuesOf() is not supported in Safari 11.1, iOS Safari 11.3-11.4","line":68,"column":10,"nodeType":"MemberExpression","endLine":68,"endColumn":32,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"compat/compat","severity":2,"message":"Intl.supportedValuesOf() is not supported in Safari 11.1, iOS Safari 11.3-11.4","line":68,"column":36,"nodeType":"MemberExpression","endLine":68,"endColumn":58,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"compat/compat","severity":2,"message":"Intl.RelativeTimeFormat() is not supported in Safari 11.1, iOS Safari 11.3-11.4","line":421,"column":14,"nodeType":"MemberExpression","endLine":421,"endColumn":37,"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.ForeignApi/index.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.ForeignApi/mediawiki.ForeignApi.core.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.ForeignApi/mediawiki.ForeignRest.core.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.ForeignStructuredUpload.BookletLayout/BookletLayout.js","messages":[],"suppressedMessages":[{"ruleId":"mediawiki/msg-doc","severity":1,"message":"All possible message keys should be documented. See https://w.wiki/4r9a for details.","line":116,"column":6,"nodeType":"CallExpression","endLine":116,"endColumn":55,"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.ForeignStructuredUpload.BookletLayout/ForeignStructuredUpload.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.ForeignStructuredUpload.BookletLayout/index.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.ForeignUpload.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.String.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.Title/.eslintrc.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.Title/Title.js","messages":[],"suppressedMessages":[{"ruleId":"no-control-regex","severity":2,"message":"Unexpected control character(s) in regular expression: \\x00, \\x1f.","line":155,"column":13,"nodeType":"Literal","messageId":"unexpected","endLine":155,"endColumn":31,"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.Title/phpCharToUpper.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.Upload.BookletLayout/BookletLayout.js","messages":[],"suppressedMessages":[{"ruleId":"mediawiki/msg-doc","severity":1,"message":"All possible message keys should be documented. See https://w.wiki/4r9a for details.","line":209,"column":5,"nodeType":"CallExpression","endLine":209,"endColumn":54,"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.Upload.BookletLayout/mw.widgets.StashedFileWidget.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.Upload.Dialog.js","messages":[],"suppressedMessages":[{"ruleId":"new-cap","severity":2,"message":"A constructor name should not start with a lowercase letter.","line":136,"column":19,"nodeType":"NewExpression","messageId":"lower","endLine":136,"endColumn":31,"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.Upload.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.Uri/Uri.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.action.edit/.eslintrc.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.action.edit/edit.js","messages":[{"ruleId":"jsdoc/valid-types","severity":1,"message":"Syntax error in namepath: ~'wikipage.editform'","line":12,"column":1,"nodeType":"Block","endLine":12,"endColumn":1}],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"/*!\n * Scripts for action=edit as rendered by EditPage.php.\n */\n'use strict';\n\n/**\n * Fired when the editform is added to the edit page.\n *\n * Similar to the {@link event:'wikipage.content' wikipage.content hook},\n * $editForm can still be detached when this hook is fired.\n *\n * @event ~'wikipage.editform'\n * @memberof Hooks\n * @param {jQuery} $editForm The most appropriate element containing the\n * editform, usually #editform.\n */\n\n$( () => {\n\tconst $wpSummary = $( '#wpSummaryWidget' );\n\n\t// The summary field might not be there, e.g. when extensions replace it\n\tif ( $wpSummary.length ) {\n\t\tconst wpSummary = OO.ui.infuse( $wpSummary );\n\n\t\t// Show a byte-counter to users with how many bytes are left for their edit summary.\n\t\tmw.widgets.visibleCodePointLimit( wpSummary, mw.config.get( 'wgCommentCodePointLimit' ) );\n\t}\n\n\t// Restore the edit box scroll state following a preview operation,\n\t// and set up a form submission handler to remember this state.\n\tconst editBox = document.getElementById( 'wpTextbox1' );\n\tconst scrollTop = document.getElementById( 'wpScrolltop' );\n\tconst $editForm = $( '#editform' );\n\tmw.hook( 'wikipage.editform' ).fire( $editForm );\n\tif ( $editForm.length && editBox && scrollTop ) {\n\t\tif ( scrollTop.value ) {\n\t\t\teditBox.scrollTop = scrollTop.value;\n\t\t}\n\t\t$editForm.on( 'submit', () => {\n\t\t\tscrollTop.value = editBox.scrollTop;\n\t\t} );\n\t}\n\n\tmw.hook( 'wikipage.watchlistChange' ).add( ( isWatched, expiry, expirySelected ) => {\n\t\t// Update the \"Watch this page\" checkbox on action=edit when the\n\t\t// page is watched or unwatched via the tab (T14395).\n\t\tconst watchCheckbox = document.getElementById( 'wpWatchthisWidget' );\n\t\tif ( watchCheckbox ) {\n\t\t\tOO.ui.infuse( watchCheckbox ).setSelected( isWatched );\n\n\t\t\t// Also reset expiry selection to keep it in sync\n\t\t\tif ( isWatched ) {\n\t\t\t\tconst expiryCheckbox = document.getElementById( 'wpWatchlistExpiryWidget' );\n\t\t\t\tif ( expiryCheckbox ) {\n\t\t\t\t\tOO.ui.infuse( expiryCheckbox ).setValue( expirySelected );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t} );\n} );\n\nrequire( './stash.js' );\n\nrequire( './watchlistExpiry.js' );\n","usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.action.edit/stash.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.action.edit/watchlistExpiry.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.action/mediawiki.action.edit.collapsibleFooter.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.action/mediawiki.action.edit.editWarning.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.action/mediawiki.action.edit.preview.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.action/mediawiki.action.history.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.action/mediawiki.action.protect.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.action/mediawiki.action.view.metadata.js","messages":[],"suppressedMessages":[{"ruleId":"no-jquery/no-class-state","severity":2,"message":"Where possible, maintain application state in JS to avoid slower DOM queries","line":35,"column":12,"nodeType":"CallExpression","endLine":35,"endColumn":42,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-class-state","severity":2,"message":"Where possible, maintain application state in JS to avoid slower DOM queries","line":43,"column":7,"nodeType":"CallExpression","endLine":43,"endColumn":40,"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.action/mediawiki.action.view.postEdit.js","messages":[{"ruleId":"jsdoc/valid-types","severity":1,"message":"Syntax error in namepath: ~'postEdit'","line":21,"column":1,"nodeType":"Block","endLine":21,"endColumn":1},{"ruleId":"jsdoc/valid-types","severity":1,"message":"Syntax error in namepath: ~'postEdit.afterRemoval'","line":36,"column":1,"nodeType":"Block","endLine":36,"endColumn":1}],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":2,"fixableErrorCount":0,"fixableWarningCount":0,"source":"( function () {\n\t'use strict';\n\n\t/**\n\t * Fired after an edit was successfully saved.\n\t *\n\t * Does not fire for null edits.\n\t *\n\t * Code that fires the postEdit hook should first set `wgRevisionId` and `wgCurRevisionId`\n\t * to the revision associated with the edit that triggered the postEdit hook, then fire\n\t * the postEdit hook.\n\t *\n\t * @example\n\t * mw.config.set( {\n\t * wgCurRevisionId: data.newrevid,\n\t * wgRevisionId: data.newrevid\n\t * } );\n\t * // Now fire the hook.\n\t * mw.hook( 'postEdit' ).fire();\n\t *\n\t * @event ~'postEdit'\n\t * @memberof Hooks\n\t * @param {Object} [data] Optional data\n\t * @param {string|jQuery|Array} [data.message] Message that listeners\n\t * should use when displaying notifications. String for plain text,\n\t * use array or jQuery object to pass actual nodes.\n\t * @param {string|mw.user} [data.user=mw.user] User that made the edit.\n\t * @param {boolean} [data.tempUserCreated] Whether a temporary user account\n\t * was created.\n\t */\n\n\t/**\n\t * After the listener for #postEdit removes the notification.\n\t *\n\t * @deprecated\n\t * @event ~'postEdit.afterRemoval'\n\t * @memberof Hooks\n\t */\n\n\tconst config = require( './config.json' );\n\tconst storageKey = 'mw-PostEdit' + mw.config.get( 'wgPageName' );\n\n\tfunction showConfirmation( data ) {\n\t\tdata = data || {};\n\n\t\tconst label = data.message || mw.message(\n\t\t\tconfig.EditSubmitButtonLabelPublish ?\n\t\t\t\t'postedit-confirmation-published' :\n\t\t\t\t'postedit-confirmation-saved',\n\t\t\tdata.user || mw.user,\n\t\t\tmw.config.get( 'wgRevisionId' )\n\t\t).parseDom();\n\n\t\tdata.message = new OO.ui.MessageWidget( {\n\t\t\ttype: 'success',\n\t\t\tinline: true,\n\t\t\tlabel: label\n\t\t} ).$element[ 0 ];\n\n\t\tmw.notify( data.message, {\n\t\t\tclasses: [ 'postedit' ]\n\t\t} );\n\n\t\t// Deprecated - use the 'postEdit' hook, and an additional pause if required\n\t\tmw.hook( 'postEdit.afterRemoval' ).fire();\n\n\t\tif ( data.tempUserCreated ) {\n\t\t\tmw.tempUserCreated.showPopup();\n\t\t}\n\t}\n\n\tfunction init() {\n\t\t// JS-only flag that allows another module providing a hook handler to suppress the default one.\n\t\tif ( !mw.config.get( 'wgPostEditConfirmationDisabled' ) ) {\n\t\t\tmw.hook( 'postEdit' ).add( showConfirmation );\n\t\t}\n\n\t\t// Check storage and cookie (set server-side)\n\t\tlet action = mw.storage.session.get( storageKey ) || mw.config.get( 'wgPostEdit' );\n\t\tif ( action ) {\n\t\t\tlet tempUserCreated = false;\n\t\t\tconst plusPos = action.indexOf( '+' );\n\t\t\tif ( plusPos > -1 ) {\n\t\t\t\taction = action.slice( 0, plusPos );\n\t\t\t\ttempUserCreated = true;\n\t\t\t}\n\n\t\t\t// Set 'wgPostEdit' when displaying a message requested via storage, to allow CampaignEvents\n\t\t\t// to override post-edit behavior for some page creations performed using VisualEditor, which\n\t\t\t// shows a message via storage when creating new pages (T240041#8148006):\n\t\t\t// https://gerrit.wikimedia.org/g/mediawiki/extensions/CampaignEvents/+/e380af0c69b17ecb05fc3258f92c9df625a35449/resources/ext.campaignEvents.eventpage/index.js#187\n\t\t\t// https://gerrit.wikimedia.org/g/mediawiki/extensions/VisualEditor/+/192c1051120c8dd331f00b9024b5beadab1cb89a/modules/ve-mw/init/targets/ve.init.mw.ArticleTarget.js#656\n\t\t\t// TODO: We should provide a better API for this that doesn't require extensions to parse the\n\t\t\t// 'action' value themselves, and doesn't require accessing 'wgPostEdit' from mw.config.\n\t\t\tmw.config.set( 'wgPostEdit', action );\n\n\t\t\tmodule.exports.fireHook( action, tempUserCreated );\n\t\t}\n\n\t\t// Clear storage (cookie is cleared server-side)\n\t\tmw.storage.session.remove( storageKey );\n\t}\n\n\t/**\n\t * Show post-edit messages.\n\t *\n\t * @example\n\t * var postEdit = require( 'mediawiki.action.view.postEdit' );\n\t * postEdit.fireHook( 'saved' );\n\t *\n\t * @class mw.plugin.action.view.postEdit\n\t * @singleton\n\t * @ignore\n\t */\n\tmodule.exports = {\n\n\t\t/**\n\t\t * Show a post-edit message now.\n\t\t *\n\t\t * This is just a shortcut for firing mw.hook#postEdit.\n\t\t *\n\t\t * @ignore\n\t\t * @param {string} [action] One of 'saved', 'created', 'restored'\n\t\t * @param {boolean} [tempUserCreated] Whether a temporary account was created during this edit\n\t\t */\n\t\tfireHook: ( action, tempUserCreated ) => {\n\t\t\tif ( !action ) {\n\t\t\t\taction = 'saved';\n\t\t\t}\n\t\t\tif ( action === 'saved' && config.EditSubmitButtonLabelPublish ) {\n\t\t\t\taction = 'published';\n\t\t\t}\n\t\t\tmw.hook( 'postEdit' ).fire( {\n\t\t\t\t// The following messages can be used here:\n\t\t\t\t// * postedit-confirmation-published\n\t\t\t\t// * postedit-confirmation-saved\n\t\t\t\t// * postedit-confirmation-created\n\t\t\t\t// * postedit-confirmation-restored\n\t\t\t\tmessage: mw.message(\n\t\t\t\t\t'postedit-confirmation-' + action,\n\t\t\t\t\tmw.user,\n\t\t\t\t\tmw.config.get( 'wgRevisionId' )\n\t\t\t\t).parseDom(),\n\t\t\t\ttempUserCreated: tempUserCreated\n\t\t\t} );\n\t\t},\n\n\t\t/**\n\t\t * Show a post-edit message on the next page load.\n\t\t *\n\t\t * The necessary data is stored in session storage for up to 20 minutes, and cleared when the\n\t\t * page is loaded again.\n\t\t *\n\t\t * @ignore\n\t\t * @param {string} [action] One of 'saved', 'created', 'restored'\n\t\t * @param {boolean} [tempUserCreated] Whether a temporary account was created during this edit\n\t\t */\n\t\tfireHookOnPageReload: ( action, tempUserCreated ) => {\n\t\t\tif ( !action ) {\n\t\t\t\taction = 'saved';\n\t\t\t}\n\t\t\tif ( tempUserCreated ) {\n\t\t\t\taction += '+tempuser';\n\t\t\t}\n\t\t\tmw.storage.session.set(\n\t\t\t\tstorageKey,\n\t\t\t\taction,\n\t\t\t\t1200 // same duration as EditPage::POST_EDIT_COOKIE_DURATION\n\t\t\t);\n\t\t}\n\t};\n\n\tinit();\n\n}() );\n","usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.action/mediawiki.action.view.redirect.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.api/AbortController.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.api/AbortablePromise.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.api/category.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.api/edit.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.api/index.js","messages":[{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'JSON.parse' is undefined.","line":213,"column":1,"nodeType":"Block","endLine":213,"endColumn":1}],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"( function () {\n\t/**\n\t * @typedef {Object} mw.Api.Options\n\t * @property {Object} [parameters = { action: 'query', format: 'json' }] Default query\n\t * parameters for API requests\n\t * @property {Object} [ajax = { url: mw.util.wikiScript( 'api' ), timeout: 30 * 1000, dataType: 'json' }]\n\t * Default options for jQuery#ajax\n\t * @property {boolean} [useUS] Whether to use U+001F when joining multi-valued\n\t * parameters (since 1.28). Default is true if ajax.url is not set, false otherwise for\n\t * compatibility.\n\t * @property {string} [userAgent] User agent string to use for API requests (since 1.44).\n\t * This should identify what component (extension, gadget, user script) is making the request.\n\t */\n\n\t/**\n\t * @private\n\t * @type {mw.Api.Options}\n\t */\n\tconst defaultOptions = {\n\t\tparameters: {\n\t\t\taction: 'query',\n\t\t\tformat: 'json'\n\t\t},\n\t\tajax: {\n\t\t\turl: mw.util.wikiScript( 'api' ),\n\t\t\ttimeout: 30 * 1000, // 30 seconds\n\t\t\tdataType: 'json'\n\t\t}\n\t};\n\n\t/**\n\t * @classdesc Interact with the MediaWiki API. `mw.Api` is a client library for\n\t * the [action API](https://www.mediawiki.org/wiki/Special:MyLanguage/API:Main_page).\n\t * An `mw.Api` object represents the API of a MediaWiki site. For the REST API,\n\t * see {@link mw.Rest}.\n\t *\n\t * ```\n\t * var api = new mw.Api();\n\t * api.get( {\n\t * action: 'query',\n\t * meta: 'userinfo'\n\t * } ).then( ( data ) => {\n\t * console.log( data );\n\t * } );\n\t * ```\n\t *\n\t * Since MW 1.25, multiple values for a parameter can be specified using an array:\n\t *\n\t * ```\n\t * var api = new mw.Api();\n\t * api.get( {\n\t * action: 'query',\n\t * meta: [ 'userinfo', 'siteinfo' ] // same effect as 'userinfo|siteinfo'\n\t * } ).then( ( data ) => {\n\t * console.log( data );\n\t * } );\n\t * ```\n\t *\n\t * Since MW 1.26, boolean values for API parameters can be specified natively. Parameter\n\t * values set to `false` or `undefined` will be omitted from the request, as required by\n\t * the API.\n\t *\n\t * @class mw.Api\n\t * @constructor\n\t * @description Create an instance of `mw.Api`.\n\t * @param {mw.Api.Options} [options] See {@link mw.Api.Options}. This can also be overridden for\n\t * each request by passing them to [get()]{@link mw.Api#get} or [post()]{@link mw.Api#post} (or directly to\n\t * [ajax()]{@link mw.Api#ajax}) later on.\n\t */\n\tmw.Api = function ( options ) {\n\t\tconst defaults = Object.assign( {}, options ),\n\t\t\tsetsUrl = options && options.ajax && options.ajax.url !== undefined;\n\n\t\tdefaults.parameters = Object.assign( {}, defaultOptions.parameters, defaults.parameters );\n\t\tdefaults.ajax = Object.assign( {}, defaultOptions.ajax, defaults.ajax );\n\t\tdefaults.userAgent = defaults.userAgent || ( 'MediaWiki-JS/' + mw.config.get( 'wgVersion' ) );\n\n\t\t// Force a string if we got an object, e.g. a `URL`\n\t\tif ( setsUrl ) {\n\t\t\tdefaults.ajax.url = String( defaults.ajax.url );\n\t\t}\n\t\tif ( defaults.useUS === undefined ) {\n\t\t\tdefaults.useUS = !setsUrl;\n\t\t}\n\n\t\tthis.defaults = defaults;\n\t\tthis.requests = [];\n\t};\n\n\tfunction normalizeTokenType( type ) {\n\t\t// Aliases for types that mw.Api has always supported,\n\t\t// based on how action=tokens worked previously (T280806).\n\t\tconst csrfActions = [\n\t\t\t'edit',\n\t\t\t'delete',\n\t\t\t'protect',\n\t\t\t'move',\n\t\t\t'block',\n\t\t\t'unblock',\n\t\t\t'email',\n\t\t\t'import',\n\t\t\t'options'\n\t\t];\n\t\tif ( csrfActions.includes( type ) ) {\n\t\t\treturn 'csrf';\n\t\t}\n\t\treturn type;\n\t}\n\n\tfunction createTokenCache() {\n\t\tconst tokenPromises = {};\n\n\t\t// Pre-populate with fake ajax promises to avoid HTTP requests for tokens that\n\t\t// we already have on the page from the embedded user.options module (T36733).\n\t\ttokenPromises[ defaultOptions.ajax.url ] = {};\n\t\tconst tokens = mw.user.tokens.get();\n\t\tfor ( const tokenKey in tokens ) {\n\t\t\tconst value = tokens[ tokenKey ];\n\t\t\t// This requires #getToken to use the same key as mw.user.tokens.\n\t\t\t// Format: token-type + \"Token\" (eg. csrfToken, patrolToken, watchToken).\n\t\t\ttokenPromises[ defaultOptions.ajax.url ][ tokenKey ] = $.Deferred()\n\t\t\t\t.resolve( value )\n\t\t\t\t.promise( { abort: function () {} } );\n\t\t}\n\n\t\treturn tokenPromises;\n\t}\n\n\t// Keyed by ajax url and symbolic name for the individual request\n\tlet promises = createTokenCache();\n\n\t// Unique private object for use by makeAbortablePromise()\n\tconst ABORTED_BY_ABORTABLE_PROMISE = new Error( 'ABORTED_BY_ABORTABLE_PROMISE' );\n\n\tmw.Api.prototype = {\n\t\t/**\n\t\t * Abort all unfinished requests issued by this Api object.\n\t\t *\n\t\t * @method\n\t\t */\n\t\tabort: function () {\n\t\t\tthis.requests.forEach( ( request ) => {\n\t\t\t\tif ( request ) {\n\t\t\t\t\trequest.abort();\n\t\t\t\t}\n\t\t\t} );\n\t\t},\n\n\t\t/**\n\t\t * Perform API get request. See [ajax()]{@link mw.Api#ajax} for details.\n\t\t *\n\t\t * @param {Object} parameters\n\t\t * @param {Object} [ajaxOptions]\n\t\t * @return {mw.Api~AbortablePromise}\n\t\t */\n\t\tget: function ( parameters, ajaxOptions ) {\n\t\t\tajaxOptions = ajaxOptions || {};\n\t\t\tajaxOptions.type = 'GET';\n\t\t\treturn this.ajax( parameters, ajaxOptions );\n\t\t},\n\n\t\t/**\n\t\t * Perform API post request. See [ajax()]{@link mw.Api#ajax} for details.\n\t\t *\n\t\t * @param {Object} parameters\n\t\t * @param {Object} [ajaxOptions]\n\t\t * @return {mw.Api~AbortablePromise}\n\t\t */\n\t\tpost: function ( parameters, ajaxOptions ) {\n\t\t\tajaxOptions = ajaxOptions || {};\n\t\t\tajaxOptions.type = 'POST';\n\t\t\treturn this.ajax( parameters, ajaxOptions );\n\t\t},\n\n\t\t/**\n\t\t * Massage parameters from the nice format we accept into a format suitable for the API.\n\t\t *\n\t\t * NOTE: A value of undefined/null in an array will be represented by Array#join()\n\t\t * as the empty string. Should we filter silently? Warn? Leave as-is?\n\t\t *\n\t\t * @private\n\t\t * @param {Object} parameters (modified in-place)\n\t\t * @param {boolean} useUS Whether to use U+001F when joining multivalued parameters.\n\t\t */\n\t\tpreprocessParameters: function ( parameters, useUS ) {\n\t\t\tlet key;\n\t\t\t// Handle common MediaWiki API idioms for passing parameters\n\t\t\tfor ( key in parameters ) {\n\t\t\t\t// Multiple values are pipe-separated\n\t\t\t\tif ( Array.isArray( parameters[ key ] ) ) {\n\t\t\t\t\tif ( !useUS || !parameters[ key ].join( '' ).includes( '|' ) ) {\n\t\t\t\t\t\tparameters[ key ] = parameters[ key ].join( '|' );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tparameters[ key ] = '\\x1f' + parameters[ key ].join( '\\x1f' );\n\t\t\t\t\t}\n\t\t\t\t} else if ( parameters[ key ] === false || parameters[ key ] === undefined ) {\n\t\t\t\t\t// Boolean values are only false when not given at all\n\t\t\t\t\tdelete parameters[ key ];\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Perform the API call.\n\t\t *\n\t\t * @param {Object} parameters Parameters to the API. See also {@link mw.Api.Options}\n\t\t * @param {Object} [ajaxOptions] Parameters to pass to jQuery.ajax. See also\n\t\t * {@link mw.Api.Options}\n\t\t * @param {AbortSignal} [ajaxOptions.signal] Signal which can be used to abort the request.\n\t\t * See {@link mw.Api~AbortController} for an example. (since 1.44)\n\t\t * @return {mw.Api~AbortablePromise} A promise that settles when the API response is processed.\n\t\t * Has an 'abort' method which can be used to abort the request.\n\t\t * See {@link mw.Api~AbortablePromise} for an example.\n\t\t *\n\t\t * - On success, resolves to `( result, jqXHR )` where `result` is the parsed API response.\n\t\t * - On an API error, rejects with `( code, result, result, jqXHR )` where `code` is the\n\t\t * [API error code](https://www.mediawiki.org/wiki/API:Errors_and_warnings), and `result`\n\t\t * is as above. When there are multiple errors, the code from the first one will be used.\n\t\t * If there is no error code, \"unknown\" is used.\n\t\t * - On other types of errors, rejects with `( 'http', details )` where `details` is an object\n\t\t * with three fields: `xhr` (the jqXHR object), `textStatus`, and `exception`.\n\t\t * The meaning of the last two fields is as follows:\n\t\t * - When the request is aborted (the abort method of the promise is called), textStatus\n\t\t * and exception are both set to \"abort\".\n\t\t * - On a network timeout, textStatus and exception are both set to \"timeout\".\n\t\t * - On a network error, textStatus is \"error\" and exception is the empty string.\n\t\t * - When the HTTP response code is anything other than 2xx or 304 (the API does not\n\t\t * use such response codes but some intermediate layer might), textStatus is \"error\"\n\t\t * and exception is the HTTP status text (the text following the status code in the\n\t\t * first line of the server response). For HTTP/2, `exception` is always an empty string.\n\t\t * - When the response is not valid JSON but the previous error conditions aren't met,\n\t\t * textStatus is \"parsererror\" and exception is the exception object thrown by\n\t\t * {@link JSON.parse}.\n\t\t */\n\t\tajax: function ( parameters, ajaxOptions ) {\n\t\t\tconst apiDeferred = $.Deferred();\n\n\t\t\tparameters = Object.assign( {}, this.defaults.parameters, parameters );\n\t\t\tajaxOptions = Object.assign( {}, this.defaults.ajax, ajaxOptions );\n\n\t\t\tif ( ajaxOptions.signal && ajaxOptions.signal.aborted ) {\n\t\t\t\tif ( ajaxOptions.signal.reason !== ABORTED_BY_ABORTABLE_PROMISE ) {\n\t\t\t\t\tapiDeferred.reject( ajaxOptions.signal.reason, ajaxOptions.signal.reason );\n\t\t\t\t} else {\n\t\t\t\t\t// Fake aborted promise\n\t\t\t\t\tapiDeferred.reject( 'http', { textStatus: 'abort', exception: 'abort' } );\n\t\t\t\t}\n\t\t\t\treturn apiDeferred.promise( { abort: function () {} } );\n\t\t\t}\n\n\t\t\tlet token;\n\t\t\t// Ensure that token parameter is last (per [[mw:API:Edit#Token]]).\n\t\t\tif ( parameters.token ) {\n\t\t\t\ttoken = parameters.token;\n\t\t\t\tdelete parameters.token;\n\t\t\t}\n\n\t\t\tthis.preprocessParameters( parameters, this.defaults.useUS );\n\n\t\t\t// If multipart/form-data has been requested and emulation is possible, emulate it\n\t\t\tif (\n\t\t\t\tajaxOptions.type === 'POST' &&\n\t\t\t\twindow.FormData &&\n\t\t\t\tajaxOptions.contentType === 'multipart/form-data'\n\t\t\t) {\n\n\t\t\t\tconst formData = new FormData();\n\n\t\t\t\tfor ( const key in parameters ) {\n\t\t\t\t\tformData.append( key, parameters[ key ] );\n\t\t\t\t}\n\t\t\t\t// If we extracted a token parameter, add it back in.\n\t\t\t\tif ( token ) {\n\t\t\t\t\tformData.append( 'token', token );\n\t\t\t\t}\n\n\t\t\t\tajaxOptions.data = formData;\n\n\t\t\t\t// Prevent jQuery from mangling our FormData object\n\t\t\t\tajaxOptions.processData = false;\n\t\t\t\t// Prevent jQuery from overriding the Content-Type header\n\t\t\t\tajaxOptions.contentType = false;\n\t\t\t} else {\n\t\t\t\t// This works because jQuery accepts data as a query string or as an Object\n\t\t\t\tajaxOptions.data = $.param( parameters );\n\t\t\t\t// If we extracted a token parameter, add it back in.\n\t\t\t\tif ( token ) {\n\t\t\t\t\tajaxOptions.data += '&token=' + encodeURIComponent( token );\n\t\t\t\t}\n\n\t\t\t\tif ( ajaxOptions.contentType === 'multipart/form-data' ) {\n\t\t\t\t\t// We were asked to emulate but can't, so drop the Content-Type header, otherwise\n\t\t\t\t\t// it'll be wrong and the server will fail to decode the POST body\n\t\t\t\t\tdelete ajaxOptions.contentType;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tajaxOptions.headers = ajaxOptions.headers || {};\n\t\t\tconst lowercaseHeaders = Object.keys( ajaxOptions.headers || {} ).map( ( k ) => k.toLowerCase() );\n\t\t\tif ( !lowercaseHeaders.includes( 'api-user-agent' ) ) {\n\t\t\t\tajaxOptions.headers[ 'Api-User-Agent' ] = this.defaults.userAgent;\n\t\t\t}\n\n\t\t\t// Make the AJAX request\n\t\t\tconst xhr = $.ajax( ajaxOptions )\n\t\t\t\t// If AJAX fails, or is aborted by the abortable promise's .abort() method,\n\t\t\t\t// reject API call with error code 'http' and the details in the second argument.\n\t\t\t\t.fail( ( jqXHR, textStatus, exception ) => {\n\t\t\t\t\tapiDeferred.reject( 'http', {\n\t\t\t\t\t\txhr: jqXHR,\n\t\t\t\t\t\ttextStatus: textStatus,\n\t\t\t\t\t\texception: exception\n\t\t\t\t\t} );\n\t\t\t\t} )\n\t\t\t\t// AJAX success just means \"200 OK\" response, also check API error codes\n\t\t\t\t.done( ( result, textStatus, jqXHR ) => {\n\t\t\t\t\tlet code;\n\t\t\t\t\tif ( result === undefined || result === null || result === '' ) {\n\t\t\t\t\t\tapiDeferred.reject( 'ok-but-empty',\n\t\t\t\t\t\t\t'OK response but empty result (check HTTP headers?)',\n\t\t\t\t\t\t\tresult,\n\t\t\t\t\t\t\tjqXHR\n\t\t\t\t\t\t);\n\t\t\t\t\t} else if ( result.error ) {\n\t\t\t\t\t\t// errorformat=bc\n\t\t\t\t\t\tcode = result.error.code === undefined ? 'unknown' : result.error.code;\n\t\t\t\t\t\tapiDeferred.reject( code, result, result, jqXHR );\n\t\t\t\t\t} else if ( result.errors ) {\n\t\t\t\t\t\t// errorformat!=bc\n\t\t\t\t\t\tcode = result.errors[ 0 ].code === undefined ? 'unknown' : result.errors[ 0 ].code;\n\t\t\t\t\t\tapiDeferred.reject( code, result, result, jqXHR );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tapiDeferred.resolve( result, jqXHR );\n\t\t\t\t\t}\n\t\t\t\t} );\n\n\t\t\tconst requestIndex = this.requests.length;\n\t\t\tthis.requests.push( xhr );\n\t\t\txhr.always( () => {\n\t\t\t\tthis.requests[ requestIndex ] = null;\n\t\t\t} );\n\n\t\t\tif ( ajaxOptions.signal ) {\n\t\t\t\tajaxOptions.signal.addEventListener( 'abort', () => {\n\t\t\t\t\t// If aborted by the abortable promise's .abort() method, skip this, so that the promise\n\t\t\t\t\t// gets rejected with the legacy values (see the code in `fail( … )` above).\n\t\t\t\t\tif ( ajaxOptions.signal.reason !== ABORTED_BY_ABORTABLE_PROMISE ) {\n\t\t\t\t\t\tapiDeferred.reject( ajaxOptions.signal.reason, ajaxOptions.signal.reason );\n\t\t\t\t\t}\n\t\t\t\t\t// Cancel the HTTP request (which will reject the promise if we skipped the case above)\n\t\t\t\t\txhr.abort();\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\t// Return the Promise\n\t\t\treturn apiDeferred.promise( { abort: xhr.abort } ).fail( ( code, details ) => {\n\t\t\t\tif ( !(\n\t\t\t\t\t( code === 'http' && details && details.textStatus === 'abort' ) ||\n\t\t\t\t\t( details instanceof DOMException && details.name === 'AbortError' )\n\t\t\t\t) ) {\n\t\t\t\t\tmw.log( 'mw.Api error: ', code, details );\n\t\t\t\t}\n\t\t\t} );\n\t\t},\n\n\t\t/**\n\t\t * Helper for adding support for abortable promises in mw.Api methods.\n\t\t *\n\t\t * This methods does three things:\n\t\t * - Returns an object with an `abort` method that can be used as a base for\n\t\t * an {@link mw.Api~AbortablePromise}.\n\t\t * - Updates the provided `ajaxOptions` with a `signal` that will be triggered by said method.\n\t\t * - If the `ajaxOptions` already had a `signal`, forwards evens from it to the new one.\n\t\t *\n\t\t * This ensures that both the signal provided in `ajaxOptions` (if any) and the\n\t\t * `abort` method on the returned object can cancel the HTTP requests.\n\t\t * It's only needed when supporting the old-style `promise.abort()` method.\n\t\t *\n\t\t * @since 1.44\n\t\t * @param {Object} ajaxOptions Options object to modify (will set `ajaxOptions.signal`)\n\t\t * @return {Object} Base object for {@link mw.Api~AbortablePromise}\n\t\t *\n\t\t * @example <caption>API method only supporting AbortController</caption>\n\t\t * mw.Api.prototype.getWhatever = function ( params, ajaxOptions ) {\n\t\t * return this.get( Object.assign( { foo: 'bar' }, params ), ajaxOptions )\n\t\t * .then( ... );\n\t\t * }\n\t\t *\n\t\t * @example <caption>API method supporting promise.abort() method too</caption>\n\t\t * mw.Api.prototype.getWhatever = function ( params, ajaxOptions ) {\n\t\t * ajaxOptions = ajaxOptions || {};\n\t\t * const abortable = this.makeAbortablePromise( ajaxOptions );\n\t\t * return this.get( Object.assign( { foo: 'bar' }, params ), ajaxOptions )\n\t\t * .then( ... )\n\t\t * .promise( abortable );\n\t\t * }\n\t\t */\n\t\tmakeAbortablePromise: function ( ajaxOptions ) {\n\t\t\tconst abort = new mw.Api.AbortController();\n\t\t\tif ( ajaxOptions.signal ) {\n\t\t\t\t// Support: Safari < 17.4\n\t\t\t\t// TODO Use `AbortSignal.any( [ abort.signal, ajaxOptions.signal ] )` when supported\n\t\t\t\tif ( ajaxOptions.signal.aborted ) {\n\t\t\t\t\tabort.abort( ajaxOptions.signal.reason );\n\t\t\t\t} else {\n\t\t\t\t\tajaxOptions.signal.addEventListener( 'abort', () => {\n\t\t\t\t\t\tabort.abort( ajaxOptions.signal.reason );\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t}\n\t\t\tajaxOptions.signal = abort.signal;\n\t\t\treturn {\n\t\t\t\tabort: () => abort.abort( ABORTED_BY_ABORTABLE_PROMISE )\n\t\t\t};\n\t\t},\n\n\t\t/**\n\t\t * Post to API with the specified type of token. If we have no token, get one and try to post.\n\t\t * If we already have a cached token, try using that, and if the request fails using the cached token,\n\t\t * blank it out and start over.\n\t\t *\n\t\t * @example <caption>For example, to change a user option, you could do:</caption>\n\t\t * new mw.Api().postWithToken( 'csrf', {\n\t\t * action: 'options',\n\t\t * optionname: 'gender',\n\t\t * optionvalue: 'female'\n\t\t * } );\n\t\t *\n\t\t * @param {string} tokenType The name of the token, like options or edit.\n\t\t * @param {Object} params API parameters\n\t\t * @param {Object} [ajaxOptions]\n\t\t * @return {mw.Api~AbortablePromise} See [post()]{@link mw.Api#post}\n\t\t * @since 1.22\n\t\t */\n\t\tpostWithToken: function ( tokenType, params, ajaxOptions ) {\n\t\t\tconst assertParams = {\n\t\t\t\tassert: params.assert,\n\t\t\t\tassertuser: params.assertuser\n\t\t\t};\n\n\t\t\tajaxOptions = ajaxOptions || {};\n\t\t\tconst abortable = this.makeAbortablePromise( ajaxOptions );\n\n\t\t\t// We don't want to abort token requests, since they're shared, so don't pass\n\t\t\t// the abortable `ajaxOptions` here.\n\t\t\treturn this.getToken( tokenType, assertParams ).then( ( token ) => {\n\t\t\t\tparams.token = token;\n\t\t\t\t// This call will return immediately if the abort was triggered\n\t\t\t\t// while the token request was running.\n\t\t\t\treturn this.post( params, ajaxOptions ).catch( ( code, ...args ) => {\n\t\t\t\t\tif ( code === 'badtoken' ) {\n\t\t\t\t\t\tthis.badToken( tokenType );\n\t\t\t\t\t\t// Try again, once\n\t\t\t\t\t\tparams.token = undefined;\n\t\t\t\t\t\treturn this.getToken( tokenType, assertParams ).then( ( t ) => {\n\t\t\t\t\t\t\tparams.token = t;\n\t\t\t\t\t\t\treturn this.post( params, ajaxOptions );\n\t\t\t\t\t\t} );\n\t\t\t\t\t}\n\n\t\t\t\t\t// Let caller handle the error code\n\t\t\t\t\treturn $.Deferred().reject( code, ...args );\n\t\t\t\t} );\n\t\t\t} ).promise( abortable );\n\t\t},\n\n\t\t/**\n\t\t * Get a token for a certain action from the API.\n\t\t *\n\t\t * @since 1.22\n\t\t * @param {string} type Token type\n\t\t * @param {Object|string} [additionalParams] Additional parameters for the API (since 1.35).\n\t\t * When given a string, it's treated as the 'assert' parameter (since 1.25).\n\t\t * @param {Object} [ajaxOptions] See {@link mw.Api#ajax} (since 1.44)\n\t\t * @return {mw.Api~AbortablePromise<string>} Received token.\n\t\t */\n\t\tgetToken: function ( type, additionalParams, ajaxOptions ) {\n\t\t\ttype = normalizeTokenType( type );\n\t\t\tif ( typeof additionalParams === 'string' ) {\n\t\t\t\tadditionalParams = { assert: additionalParams };\n\t\t\t}\n\n\t\t\tconst cacheKey = type + 'Token';\n\t\t\tlet promiseGroup = promises[ this.defaults.ajax.url ];\n\t\t\tif ( !promiseGroup ) {\n\t\t\t\tpromiseGroup = promises[ this.defaults.ajax.url ] = {};\n\t\t\t}\n\t\t\tlet promise = promiseGroup && promiseGroup[ cacheKey ];\n\n\t\t\tconst reject = ( ...args ) => {\n\t\t\t\t// Clear cache. Do not cache errors.\n\t\t\t\tdelete promiseGroup[ cacheKey ];\n\n\t\t\t\t// Let caller handle the error code\n\t\t\t\treturn $.Deferred().reject( ...args );\n\t\t\t};\n\n\t\t\tif ( !promise ) {\n\t\t\t\tconst apiPromise = this.get( Object.assign( {\n\t\t\t\t\taction: 'query',\n\t\t\t\t\tmeta: 'tokens',\n\t\t\t\t\ttype: type\n\t\t\t\t}, additionalParams ), ajaxOptions );\n\t\t\t\tpromise = apiPromise\n\t\t\t\t\t.then( ( res ) => {\n\t\t\t\t\t\tif ( !res.query ) {\n\t\t\t\t\t\t\treturn reject( 'query-missing', res );\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// If the token type is unknown, it is omitted from the response\n\t\t\t\t\t\tif ( !res.query.tokens[ type + 'token' ] ) {\n\t\t\t\t\t\t\treturn $.Deferred().reject( 'token-missing', res );\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn res.query.tokens[ type + 'token' ];\n\t\t\t\t\t}, reject )\n\t\t\t\t\t// Preserve abort handler\n\t\t\t\t\t.promise( { abort: apiPromise.abort } );\n\n\t\t\t\t// Optimization: Store the promise so we can reuse it immediately, even when\n\t\t\t\t// other async code requests before this one finishes.\n\t\t\t\tpromiseGroup[ cacheKey ] = promise;\n\t\t\t}\n\n\t\t\treturn promise;\n\t\t},\n\n\t\t/**\n\t\t * Indicate that the cached token for a certain action of the API is bad.\n\t\t *\n\t\t * Call this if you get a 'badtoken' error when using the token returned by [getToken()]{@link mw.Api#getToken}.\n\t\t * You may also want to use [postWithToken()]{@link mw.Api#postWithToken} instead, which invalidates bad cached tokens\n\t\t * automatically.\n\t\t *\n\t\t * @param {string} type Token type\n\t\t * @since 1.26\n\t\t */\n\t\tbadToken: function ( type ) {\n\t\t\tconst promiseGroup = promises[ this.defaults.ajax.url ];\n\n\t\t\ttype = normalizeTokenType( type );\n\t\t\tif ( promiseGroup ) {\n\t\t\t\tdelete promiseGroup[ type + 'Token' ];\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Given an API response indicating an error, get a jQuery object containing a human-readable\n\t\t * error message that you can display somewhere on the page.\n\t\t *\n\t\t * For better quality of error messages, it's recommended to use the following options in your\n\t\t * API queries:\n\t\t *\n\t\t * ```\n\t\t * errorformat: 'html',\n\t\t * errorlang: mw.config.get( 'wgUserLanguage' ),\n\t\t * errorsuselocal: true,\n\t\t * ```\n\t\t *\n\t\t * Error messages, particularly for editing pages, may consist of multiple paragraphs of text.\n\t\t * Your user interface should have enough space for that.\n\t\t *\n\t\t * @example\n\t\t * var api = new mw.Api();\n\t\t * // var title = 'Test valid title';\n\t\t * var title = 'Test invalid title <>';\n\t\t * api.postWithToken( 'watch', {\n\t\t * action: 'watch',\n\t\t * title: title\n\t\t * } ).then( ( data ) => {\n\t\t * mw.notify( 'Success!' );\n\t\t * }, ( code, data ) => {\n\t\t * mw.notify( api.getErrorMessage( data ), { type: 'error' } );\n\t\t * } );\n\t\t *\n\t\t * @param {Object} data API response indicating an error\n\t\t * @return {jQuery} Error messages, each wrapped in a `<div>`\n\t\t */\n\t\tgetErrorMessage: function ( data ) {\n\t\t\tif (\n\t\t\t\tdata === undefined || data === null || data === '' ||\n\t\t\t\t// The #ajax method returns the data like this, it's not my fault...\n\t\t\t\tdata === 'OK response but empty result (check HTTP headers?)'\n\t\t\t) {\n\t\t\t\t// The server failed so horribly that it did not set a HTTP error status\n\t\t\t\treturn $( '<div>' ).append( mw.message( 'api-clientside-error-invalidresponse' ).parseDom() );\n\n\t\t\t} else if ( data instanceof DOMException && data.name === 'TimeoutError' ) {\n\t\t\t\t// The request was cancelled by using AbortSignal.timeout\n\t\t\t\treturn $( '<div>' ).append( mw.message( 'api-clientside-error-timeout' ).parseDom() );\n\n\t\t\t} else if ( data instanceof DOMException && data.name === 'AbortError' ) {\n\t\t\t\t// The request was cancelled by using AbortController#abort\n\t\t\t\treturn $( '<div>' ).append( mw.message( 'api-clientside-error-aborted' ).parseDom() );\n\n\t\t\t} else if ( data.xhr ) {\n\t\t\t\tif ( data.textStatus === 'timeout' ) {\n\t\t\t\t\t// Hit the timeout (as defined above in defaultOptions)\n\t\t\t\t\treturn $( '<div>' ).append( mw.message( 'api-clientside-error-timeout' ).parseDom() );\n\t\t\t\t} else if ( data.textStatus === 'abort' ) {\n\t\t\t\t\t// The request was cancelled by calling the abort() method on the promise\n\t\t\t\t\treturn $( '<div>' ).append( mw.message( 'api-clientside-error-aborted' ).parseDom() );\n\t\t\t\t} else if ( data.textStatus === 'parsererror' ) {\n\t\t\t\t\t// Server returned invalid JSON\n\t\t\t\t\t// data.exception is probably a SyntaxError exception\n\t\t\t\t\treturn $( '<div>' ).append( mw.message( 'api-clientside-error-invalidresponse' ).parseDom() );\n\t\t\t\t} else if ( data.xhr.status ) {\n\t\t\t\t\t// Server HTTP error\n\t\t\t\t\t// data.exception is probably the HTTP \"reason phrase\", e.g. \"Internal Server Error\"\n\t\t\t\t\treturn $( '<div>' ).append( mw.message( 'api-clientside-error-http', data.xhr.status ).parseDom() );\n\t\t\t\t} else {\n\t\t\t\t\t// We don't know the status of the HTTP request. Common causes include (we have no way\n\t\t\t\t\t// to distinguish these): user losing their network connection (request wasn't even sent),\n\t\t\t\t\t// misconfigured CORS for cross-wiki queries.\n\t\t\t\t\treturn $( '<div>' ).append( mw.message( 'api-clientside-error-noconnect' ).parseDom() );\n\t\t\t\t}\n\n\t\t\t} else if ( data.error ) {\n\t\t\t\t// errorformat: 'bc' (or not specified)\n\t\t\t\treturn $( '<div>' ).text( data.error.info );\n\n\t\t\t} else if ( data.errors ) {\n\t\t\t\t// errorformat: 'html'\n\t\t\t\treturn $( data.errors.map( ( err ) => {\n\t\t\t\t\t// formatversion: 1 / 2\n\t\t\t\t\tconst $node = $( '<div>' ).html( err[ '*' ] || err.html );\n\t\t\t\t\treturn $node[ 0 ];\n\t\t\t\t} ) );\n\n\t\t\t} else {\n\t\t\t\t// The server returned some valid but bogus JSON that probably doesn't even come from our API,\n\t\t\t\t// or this method was called incorrectly (e.g. with a successful response)\n\t\t\t\tmw.log.warn( 'mw.Api#getErrorMessage could not handle the response:', data );\n\t\t\t\treturn $( '<div>' ).append( mw.message( 'api-clientside-error-invalidresponse' ).parseDom() );\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Prepare an extensible API request.\n\t\t *\n\t\t * This is a utility method to allow mw.hook implementations to add data to params sent\n\t\t * with an API request.\n\t\t *\n\t\t * For example usage, see mediawiki.ready/index.js#logoutViaPost:\n\t\t * api.prepareExtensibleApiRequest( 'extendLogout' ).then( ( params ) => { ... } )\n\t\t *\n\t\t * Implementations of `hookName` should do something like the following, where `hookName`\n\t\t * is `extendLogout` in this example:\n\t\t *\n\t\t * mw.hook( 'extendLogout' ).add( ( data ) => {\n\t\t * data.promise = data.promise.then( () => {\n\t\t * // Return a promise\n\t\t * return collectClientHintsData().then( ( userAgentHighEntropyValues ) => {\n\t\t * // Set the data.params.{yourUniqueKey} that will be included in the API\n\t\t * // request\n\t\t * data.params.customData = { clientHints: userAgentHighEntropyValues };\n\t\t * } );\n\t\t * } );\n\t\t * } );\n\t\t *\n\t\t * @param {string} hookName Name of the hook to use with mw.hook().fire()\n\t\t * @return {jQuery.Promise<Object>} Updated parameter data from implementations\n\t\t * of `hookName` to include with the API request.\n\t\t */\n\t\tprepareExtensibleApiRequest: function ( hookName ) {\n\t\t\tconst data = {\n\t\t\t\tparams: {},\n\t\t\t\tpromise: $.Deferred().resolve().promise()\n\t\t\t};\n\t\t\tmw.hook( hookName ).fire( data );\n\t\t\treturn data.promise.then( () => data.params );\n\t\t}\n\t};\n\n\tif ( window.QUnit ) {\n\t\tmw.Api.resetTokenCacheForTest = function () {\n\t\t\tpromises = createTokenCache();\n\t\t};\n\t}\n}() );\n","usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.api/login.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.api/messages.js","messages":[],"suppressedMessages":[{"ruleId":"mediawiki/msg-doc","severity":1,"message":"All possible message keys should be documented. See https://w.wiki/4r9a for details.","line":72,"column":17,"nodeType":"CallExpression","endLine":72,"endColumn":34,"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.api/options.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.api/parse.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.api/rest.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.api/rollback.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.api/upload.js","messages":[],"suppressedMessages":[{"ruleId":"no-loop-func","severity":2,"message":"Function declared in a loop contains unsafe references to variable(s) 'active'.","line":156,"column":19,"nodeType":"FunctionExpression","messageId":"unsafeRefs","endLine":164,"endColumn":6,"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.api/user.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.api/watch.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.authenticationPopup/.eslintrc.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.authenticationPopup/AuthMessageDialog.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.authenticationPopup/AuthPopup.js","messages":[{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'AuthPopup.CheckLoggedIn' is undefined.","line":181,"column":1,"nodeType":"Block","endLine":181,"endColumn":1}],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"const { SUCCESS_PAGE_MESSAGE } = require( './constants.js' );\nconst AuthMessageDialog = require( './AuthMessageDialog.js' );\nconst AuthPopupError = require( './AuthPopupError.js' );\n\n/**\n * Open a browser window with the same position and dimensions on the user's screen as the given DOM\n * element.\n *\n * @private\n * @param {string} url\n * @param {HTMLElement} el\n * @param {Event} mouseEvent\n * @return {Window|null}\n */\nfunction openBrowserWindowCoveringElement( url, el, mouseEvent ) {\n\t// Tested on:\n\t// * Windows 10 22H2, Firefox and Edge, 100% and 200% scale screens, -/=/+ zoom\n\t// All good.\n\t// * Windows 10 22H2, Firefox and Edge, 150% scale screen, -/=/+ zoom (another device, tablet)\n\t// Okay, except:\n\t// - On Edge, when using the touch screen, we don't get a mouse event, so the popup is off.\n\t// * Ubuntu 22.04, Firefox and Chromium, 100% scale screen, -/=/+ zoom\n\t// Okay, except:\n\t// - On Firefox, when zoomed in, popup window size is slightly off.\n\t// * (I couldn't get OS scaling to work on Ubuntu, it bricked my VM when enabled.)\n\n\tfunction getWindowDimensions( conversionRatio ) {\n\t\t// Find the position of the viewport (not just the browser window) on the screen, accounting for\n\t\t// browser toolbars and sidebars.\n\t\t// Workaround for a spec deficiency: https://github.com/w3c/csswg-drafts/issues/809\n\t\tlet innerScreenX;\n\t\tlet innerScreenY;\n\t\tif ( window.mozInnerScreenX !== undefined && window.mozInnerScreenY !== undefined ) {\n\t\t\t// Use Firefox's non-standard property designed for this use case.\n\t\t\tinnerScreenX = window.mozInnerScreenX;\n\t\t\tinnerScreenY = window.mozInnerScreenY;\n\t\t} else if ( mouseEvent && mouseEvent.clientX && mouseEvent.screenX && mouseEvent.clientY && mouseEvent.screenY ) {\n\t\t\t// Obtain the difference from a mouse event, if we got one (and it isn't a simulated event).\n\t\t\t// This is seemingly the only thing in all of web APIs that relates the two positions.\n\t\t\t// https://github.com/w3c/csswg-drafts/issues/809#issuecomment-2134169650\n\t\t\tinnerScreenX = mouseEvent.screenX / conversionRatio - mouseEvent.clientX;\n\t\t\tinnerScreenY = mouseEvent.screenY / conversionRatio - mouseEvent.clientY;\n\t\t} else {\n\t\t\t// Fall back to the position of the browser window.\n\t\t\t// It will be off by an unpredictable amount, depending on browser toolbars and sidebars\n\t\t\t// (e.g. if you have dev tools open and pinned on the left, it will be way off).\n\t\t\tinnerScreenX = window.screenX;\n\t\t\tinnerScreenY = window.screenY;\n\t\t}\n\n\t\treturn {\n\t\t\twidth: el.offsetWidth * conversionRatio,\n\t\t\theight: el.offsetHeight * conversionRatio,\n\t\t\tleft: ( innerScreenX + el.offsetLeft ) * conversionRatio,\n\t\t\ttop: ( innerScreenY + el.offsetTop ) * conversionRatio\n\t\t};\n\t}\n\n\t// Calculate the dimensions of the window assuming that all the APIs measure things in CSS pixels,\n\t// as they should per the draft CSSOM View spec: https://drafts.csswg.org/cssom-view/\n\t// If the assumption is right, we can avoid moving/resizing the window later, which looks ugly.\n\tconst cssPixelsRect = getWindowDimensions( 1.0 );\n\n\t// Add a bit of padding to ensure the popup window covers the backdrop dialog,\n\t// even if the OS chrome has rounded corners or includes semi-transparent shadows.\n\tconst padding = 10;\n\n\t// window.open() sometimes \"adjusts\" the given dimensions far more than it's reasonable.\n\t// We will re-apply them later using window.resizeTo()/moveTo(), which respect them a bit more.\n\tconst w = window.open( 'about:blank', '_blank', [\n\t\t'popup',\n\t\t'width=' + ( cssPixelsRect.width + 2 * padding ),\n\t\t'height=' + ( cssPixelsRect.height + 2 * padding ),\n\t\t'left=' + ( cssPixelsRect.left - padding ),\n\t\t'top=' + ( cssPixelsRect.top - padding )\n\t].join( ',' ) );\n\tif ( !w ) {\n\t\treturn null;\n\t}\n\n\tfunction applyWindowDimensions( rect ) {\n\t\tw.resizeTo( rect.width + 2 * padding, rect.height + 2 * padding );\n\t\tw.moveTo( rect.left - padding, rect.top - padding );\n\t}\n\n\t// Support: Chrome\n\t// Once we have the window open, we can try to handle browsers that don't implement the spec yet,\n\t// and measure things in device pixels. For example, Chrome: https://crbug.com/343009010\n\t//\n\t// Support: Firefox\n\t// On Firefox window.open() *really* doesn't respect the given dimensions, so recalculate\n\t// them using this method even though they're ostensibly correct.\n\t//\n\t// Key assumption here is that the new about:blank window usually doesn't have any zoom applied.\n\t// Therefore:\n\t// * Outside the popup window, we can use its devicePixelRatio to calculate the browser zoom\n\t// ratio, allowing us to convert CSS pixels to device pixels. We couldn't just use\n\t// window.devicePixelRatio, because it combines OS scaling ratio and browser zoom ratio.\n\t// * Inside the popup window, CSS pixels and device pixels are equivalent, so the result is\n\t// correct regardless of whether the browser follows the new spec or the legacy behavior.\n\n\t// Read devicePixelRatio from the popup window to get just the OS scaling ratio. Then cancel it\n\t// out from the main window's devicePixelRatio, leaving just the browser zoom ratio.\n\tconst browserZoomRatio = window.devicePixelRatio / w.devicePixelRatio;\n\n\t// Recalculate the dimensions of the window, converting the result to device pixels.\n\tconst devicePixelsRect = getWindowDimensions( browserZoomRatio );\n\n\t// Support: Firefox\n\t// On Firefox, window.moveTo()/resizeTo() are async (https://bugzilla.mozilla.org/1899178).\n\t// Because of that, sometimes an attempt to move and resize at the same time will result in\n\t// incorrect position or size, because when it attempts to fit the window to screen dimensions,\n\t// and does so using outdated values. Try to move/resize again after the first resize happens.\n\t// However, don't do it after the new page has loaded, because it will set wrong dimensions if\n\t// browser zoom is active.\n\tconst retryApplyWindowDimensions = () => {\n\t\ttry {\n\t\t\tif ( w.location.href === 'about:blank' ) {\n\t\t\t\tapplyWindowDimensions( devicePixelsRect );\n\t\t\t} else {\n\t\t\t\tw.removeEventListener( 'resize', retryApplyWindowDimensions );\n\t\t\t}\n\t\t} catch ( err ) {\n\t\t\tw.removeEventListener( 'resize', retryApplyWindowDimensions );\n\t\t}\n\t};\n\tw.addEventListener( 'resize', retryApplyWindowDimensions );\n\n\t// Apply the size again, using the new dimensions.\n\tapplyWindowDimensions( devicePixelsRect );\n\n\t// Actually navigate the window away from about:blank once we're done calculating its position.\n\tw.location = url;\n\n\treturn w;\n}\n\n/**\n * Check if we're probably running on iOS, which has unusual restrictions on popup windows.\n *\n * @private\n * @return {boolean}\n */\nfunction isIos() {\n\treturn /ipad|iphone|ipod/i.test( navigator.userAgent );\n}\n\n/**\n * @classdesc\n * Allows opening the login form without leaving the page.\n *\n * The page opened in the popup should communicate success using the authSuccess.js script. If it\n * doesn't, we also check for a login success when the user interacts with the parent window.\n *\n * The constructor is not publicly accessible in MediaWiki. Use the instance exposed by the\n * {@link module:mediawiki.authenticationPopup mediawiki.authenticationPopup} module.\n *\n * **This library is not stable yet (as of May 2024). We're still testing which of the\n * methods work from the technical side, and which methods are understandable for users.\n * Some methods or the whole library may be removed in the future.**\n *\n * Unstable.\n *\n * @internal\n * @class\n */\nclass AuthPopup {\n\t/**\n\t * Async function to check for a login success.\n\t *\n\t * @callback AuthPopup~CheckLoggedIn\n\t * @return {Promise<any>} A promise resolved with a truthy value if the user is\n\t * logged in and resolved with a falsy value if the user isn’t logged in.\n\t */\n\n\t/**\n\t * @param {Object} config\n\t * @param {string} config.loginPopupUrl URL of the login form to be opened as a popup\n\t * @param {string} [config.loginFallbackUrl] URL of a fallback login form to link to if the popup\n\t * can't be opened. Defaults to `loginPopupUrl` if not provided.\n\t * @param {AuthPopup~CheckLoggedIn} config.checkLoggedIn Async function to check for a login success.\n\t * @param {jQuery|string|Function|null} [config.message] Custom message to replace the contents of\n\t * the backdrop message dialog, passed to {@link OO.ui.MessageDialog}\n\t */\n\tconstructor( config ) {\n\t\tthis.loginPopupUrl = config.loginPopupUrl;\n\t\tthis.loginFallbackUrl = config.loginFallbackUrl || config.loginPopupUrl;\n\t\tthis.checkLoggedIn = config.checkLoggedIn;\n\t\tthis.message = config.message || ( () => {\n\t\t\tconst message = document.createElement( 'div' );\n\n\t\t\tconst intro = document.createElement( 'p' );\n\t\t\tintro.innerText = OO.ui.msg( 'userlogin-authpopup-loggingin-body' );\n\t\t\tmessage.appendChild( intro );\n\n\t\t\tconst fallbackLink = document.createElement( 'a' );\n\t\t\tfallbackLink.setAttribute( 'target', '_blank' );\n\t\t\tfallbackLink.setAttribute( 'href', this.loginFallbackUrl );\n\t\t\tfallbackLink.innerText = OO.ui.msg( 'userlogin-authpopup-loggingin-body-link' );\n\t\t\tconst fallback = document.createElement( 'p' );\n\t\t\tfallback.appendChild( fallbackLink );\n\t\t\tmessage.appendChild( fallback );\n\n\t\t\treturn $( message );\n\t\t} );\n\t}\n\n\t/**\n\t * Open the login form in a small browser popup window.\n\t *\n\t * In the parent window, display a backdrop message dialog with the same dimensions,\n\t * to provide an alternative method to log in if the browser refuses to open the window,\n\t * and to allow the user to restart the process if they lose track of the popup window.\n\t *\n\t * This should only be called in response to a user-initiated event like 'click',\n\t * otherwise the user's browser will always refuse to open the window.\n\t *\n\t * @return {Promise<any>} Resolved when the login succeeds with the value returned by the\n\t * `checkLoggedIn` callback. Resolved with a falsy value if the user cancels the process.\n\t * Rejected when an unexpected error stops the login process.\n\t */\n\tstartPopupWindow() {\n\t\t// Obtain a mouse event, which we need to calculate where the current browser window appears\n\t\t// on the user's screen. (No joke.) 'mouseenter' event should be fired when the dialog opens.\n\t\tlet mouseEvent;\n\n\t\treturn this.showDialog( {\n\t\t\tinitOpenWindow: ( m ) => {\n\t\t\t\tm.$element.one( 'mouseenter', ( e ) => {\n\t\t\t\t\tmouseEvent = e;\n\t\t\t\t} );\n\t\t\t\tm.$element.on( 'mousemove', ( e ) => {\n\t\t\t\t\tmouseEvent = e;\n\t\t\t\t} );\n\n\t\t\t\tif ( isIos() ) {\n\t\t\t\t\t// iOS Safari only allows window.open() when it occurs immediately in response to a\n\t\t\t\t\t// user-initiated event like 'click', not async, not respecting the HTML5 user activation\n\t\t\t\t\t// rules. Therefore we must open the window right here, and we can't wait for the message to\n\t\t\t\t\t// be displayed by the code below. On the other hand, the opened window will always be\n\t\t\t\t\t// fullscreen anyway even if we were to ask for a popup, so it's not a big deal.\n\t\t\t\t\treturn window.open( this.loginPopupUrl, '_blank' );\n\t\t\t\t}\n\t\t\t\treturn null;\n\t\t\t},\n\n\t\t\topenWindow: ( m ) => {\n\t\t\t\tconst frame = m.$frame[ 0 ];\n\t\t\t\treturn openBrowserWindowCoveringElement( this.loginPopupUrl, frame, mouseEvent );\n\t\t\t},\n\n\t\t\tdata: {\n\t\t\t\ttitle: OO.ui.deferMsg( 'userlogin-authpopup-loggingin-title' ),\n\t\t\t\tmessage: this.message\n\t\t\t}\n\t\t} );\n\t}\n\n\t/**\n\t * Open the login form in a new browser tab or window.\n\t *\n\t * In the parent window, display a backdrop message dialog,\n\t * to provide an alternative method to log in if the browser refuses to open the window,\n\t * and to allow the user to restart the process if they lose track of the new tab or window.\n\t *\n\t * This should only be called in response to a user-initiated event like 'click',\n\t * otherwise the user's browser will always refuse to open the window.\n\t *\n\t * @return {Promise<any>} Resolved when the login succeeds with the value returned by the\n\t * `checkLoggedIn` callback. Resolved with a falsy value if the user cancels the process.\n\t * Rejected when an unexpected error stops the login process.\n\t */\n\tstartNewTabOrWindow() {\n\t\tconst openWindow = () => window.open( this.loginPopupUrl, '_blank' );\n\n\t\treturn this.showDialog( {\n\t\t\tinitOpenWindow: openWindow,\n\n\t\t\topenWindow: openWindow,\n\n\t\t\tdata: {\n\t\t\t\ttitle: OO.ui.deferMsg( 'userlogin-authpopup-loggingin-title' ),\n\t\t\t\tmessage: this.message\n\t\t\t}\n\t\t} );\n\t}\n\n\t/**\n\t * Open the login form in an iframe in a modal message dialog.\n\t *\n\t * In order for this to work, the wiki must be configured to allow the login page to be framed\n\t * ($wgEditPageFrameOptions), which has security implications.\n\t *\n\t * Add a button to provide an alternative method to log in, just in case.\n\t *\n\t * @return {Promise<any>} Resolved when the login succeeds with the value returned by the\n\t * `checkLoggedIn` callback. Resolved with a falsy value if the user cancels the process.\n\t * Rejected when an unexpected error stops the login process.\n\t */\n\tstartIframe() {\n\t\tconst $iframe = $( '<iframe>' )\n\t\t\t.attr( 'src', this.loginPopupUrl )\n\t\t\t.css( {\n\t\t\t\tborder: '0',\n\t\t\t\tdisplay: 'block',\n\t\t\t\twidth: '100%',\n\t\t\t\theight: '100%'\n\t\t\t} );\n\n\t\treturn this.showDialog( {\n\t\t\tinitOpenWindow: () => {},\n\n\t\t\topenWindow: ( m ) => {\n\t\t\t\t// We can't pass it as .data.message, because that has wrappers that mess up the styles\n\t\t\t\tm.$body.empty().append( $iframe );\n\t\t\t\t// Allow default click handling on the fallback link-action (eww)\n\t\t\t\tm.actions.get( { actions: 'fallback' } )[ 0 ].off( 'click' );\n\t\t\t},\n\n\t\t\tdata: {\n\t\t\t\ttitle: '',\n\t\t\t\tmessage: '',\n\t\t\t\tactions: [ {\n\t\t\t\t\taction: 'fallback',\n\t\t\t\t\thref: this.loginFallbackUrl,\n\t\t\t\t\ttarget: '_blank',\n\t\t\t\t\tlabel: OO.ui.deferMsg( 'userlogin-authpopup-loggingin-body-link' ),\n\t\t\t\t\tflags: 'safe'\n\t\t\t\t} ].concat(\n\t\t\t\t\tAuthMessageDialog.static.actions.filter( ( a ) => a.action === 'cancel' )\n\t\t\t\t)\n\t\t\t}\n\t\t} );\n\t}\n\n\t/**\n\t * Open the backdrop dialog for a customizable popup window.\n\t *\n\t * Caller must provide callback functions that open their popup window, and/or provide the dialog\n\t * opening data to display something in the dialog.\n\t *\n\t * @private\n\t * @param {Object} config\n\t * @param {Function} config.initOpenWindow Called before opening the dialog\n\t * @param {Function} config.openWindow Called after opening the dialog and upon user retry\n\t * @param {Object} config.data Opening data for the MessageDialog\n\t * @return {Promise<any>} Resolved when the login succeeds with the value returned by the\n\t * `checkLoggedIn` callback. Resolved with a falsy value if the user cancels the process.\n\t * Rejected when an unexpected error stops the login process.\n\t */\n\tshowDialog( config ) {\n\t\tconst { initOpenWindow, openWindow, data } = config;\n\n\t\t// Display a message in the current browser window, so that if the popup window doesn't open,\n\t\t// or if the user loses it on their desktop somehow, they can still see what was supposed to happen,\n\t\t// and have a way to retry or cancel it. This message stays open throughout the process.\n\t\tconst windowManager = new OO.ui.WindowManager();\n\t\t$( OO.ui.getTeleportTarget() ).append( windowManager.$element );\n\t\tconst m = new AuthMessageDialog();\n\t\twindowManager.addWindows( { authMessageDialog: m } );\n\n\t\tlet w = initOpenWindow( m );\n\n\t\treturn new Promise( ( resolve, reject ) => {\n\t\t\tconst instance = windowManager.openWindow( 'authMessageDialog', data );\n\n\t\t\tinstance.opened.then( () => {\n\t\t\t\t// Open a browser window covering the message we displayed.\n\t\t\t\tif ( !w ) {\n\t\t\t\t\tw = openWindow( m );\n\t\t\t\t}\n\n\t\t\t\t// When the fallback link is clicked, opening the login form in a fullscreen window,\n\t\t\t\t// close the popup window.\n\t\t\t\tm.$body.find( 'a' ).on( 'click', () => {\n\t\t\t\t\tif ( w ) {\n\t\t\t\t\t\tw.close();\n\t\t\t\t\t}\n\t\t\t\t} );\n\n\t\t\t\tm.on( 'retry', () => {\n\t\t\t\t\tif ( w ) {\n\t\t\t\t\t\tw.close();\n\t\t\t\t\t}\n\t\t\t\t\tw = openWindow( m );\n\t\t\t\t} );\n\t\t\t\tm.on( 'cancel', () => {\n\t\t\t\t\tif ( w ) {\n\t\t\t\t\t\tw.close();\n\t\t\t\t\t}\n\t\t\t\t\tm.close();\n\t\t\t\t\tresolve( null );\n\t\t\t\t} );\n\n\t\t\t\t// Close orphaned browser windows on the user's desktop if they leave/close the page.\n\t\t\t\tconst onBeforeUnload = () => {\n\t\t\t\t\tif ( w ) {\n\t\t\t\t\t\tw.close();\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t\twindow.addEventListener( 'beforeunload', onBeforeUnload );\n\t\t\t\tinstance.closed.then( () => window.removeEventListener( 'beforeunload', onBeforeUnload ) );\n\n\t\t\t\t// If the user leaves this window and then comes back, check if they have logged in\n\t\t\t\t// the old-fashioned way in the meantime.\n\t\t\t\tconst onFocus = () => {\n\t\t\t\t\tthis.checkLoggedIn().then( ( loggedIn ) => {\n\t\t\t\t\t\tif ( loggedIn ) {\n\t\t\t\t\t\t\tif ( w ) {\n\t\t\t\t\t\t\t\tw.close();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tm.close();\n\t\t\t\t\t\t\tresolve( loggedIn );\n\t\t\t\t\t\t}\n\t\t\t\t\t} ).catch( reject );\n\t\t\t\t};\n\t\t\t\twindow.addEventListener( 'focus', onFocus );\n\t\t\t\tinstance.closed.then( () => window.removeEventListener( 'focus', onFocus ) );\n\n\t\t\t\t// Wait for a message from authSuccess.js.\n\t\t\t\t// Beware that it may never come if the initial popup was blocked,\n\t\t\t\t// in which case we rely on checking in the 'focus' event.\n\t\t\t\tconst onMessage = ( event ) => {\n\t\t\t\t\tif ( event.origin !== window.origin ) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tif ( event.data !== SUCCESS_PAGE_MESSAGE ) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( w ) {\n\t\t\t\t\t\tw.close();\n\t\t\t\t\t}\n\n\t\t\t\t\t// Okay, they went through the workflow. Confirm that they're logged in from our perspective,\n\t\t\t\t\t// because browsers are weird about cookies and they're also weird about popups.\n\t\t\t\t\tthis.checkLoggedIn().then( ( loggedIn ) => {\n\t\t\t\t\t\tm.close();\n\t\t\t\t\t\tif ( loggedIn ) {\n\t\t\t\t\t\t\t// Yes!\n\t\t\t\t\t\t\tresolve( loggedIn );\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t// If they're not logged in, despite (presumably) providing correct credentials\n\t\t\t\t\t\t\t// and reaching the success page, something is pretty wrong. It could be a\n\t\t\t\t\t\t\t// server-side problem, or maybe the user's browser must be doing something funky.\n\t\t\t\t\t\t\t// It's definitely unexpected and should be logged as an error.\n\t\t\t\t\t\t\treject( new AuthPopupError( 'Expected a successful login at this point' ) );\n\t\t\t\t\t\t}\n\t\t\t\t\t} ).catch( reject );\n\t\t\t\t};\n\t\t\t\twindow.addEventListener( 'message', onMessage );\n\t\t\t\tinstance.closed.then( () => window.removeEventListener( 'message', onMessage ) );\n\t\t\t} );\n\t\t} );\n\t}\n\n}\n\nmodule.exports = AuthPopup;\n","usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.authenticationPopup/AuthPopupError.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.authenticationPopup/constants.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.authenticationPopup/index.js","messages":[{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'userinfo' is undefined.","line":38,"column":1,"nodeType":"Block","endLine":38,"endColumn":1}],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"const AuthPopup = require( './AuthPopup.js' );\nconst config = require( './config.json' );\n\nfunction checkLoggedIn() {\n\treturn ( new mw.Api() ).get( {\n\t\tmeta: 'userinfo'\n\t} ).then( ( resp ) => {\n\t\tconst userinfo = resp.query.userinfo;\n\t\tif ( userinfo.anon !== undefined || userinfo.temp !== undefined ) {\n\t\t\treturn null;\n\t\t}\n\t\treturn userinfo;\n\t} );\n}\n\nconst loginTitle = mw.Title.makeTitle( -1, config.specialPageNames.UserLogin );\nconst successTitle = mw.Title.makeTitle( -1, config.specialPageNames.AuthenticationPopupSuccess );\n\nconst loginPopupUrl = loginTitle.getUrl( {\n\tdisplay: 'popup',\n\treturnto: successTitle.getPrefixedText(),\n\treturntoquery: 'display=popup'\n} );\nconst loginFallbackUrl = loginTitle.getUrl( {\n\treturnto: successTitle.getPrefixedText()\n} );\n\n/**\n * `userinfo` object as returned by the\n * {@link https://www.mediawiki.org/wiki/API:Userinfo action=query&meta=userinfo API module}.\n *\n * @typedef {Object} module:mediawiki.authenticationPopup~userinfo\n * @property {string} name\n * @property {number} id\n */\n\n/**\n * Exposes an instance of {@link AuthPopup} configured to display a login dialog for the local\n * instance of MediaWiki.\n *\n * The promises returned by `AuthPopup` methods will be resolved with a {@link userinfo} object.\n *\n * **This library is not stable yet (as of May 2024). We're still testing which of the\n * methods work from the technical side, and which methods are understandable for users.\n * Some methods or the whole library may be removed in the future.**\n *\n * @example\n * const authPopup = require( 'mediawiki.authenticationPopup' );\n * authPopup.startPopupWindow()\n * // or: authPopup.startNewTabOrWindow()\n * // or: authPopup.startIframe()\n * .then( function ( userinfo ) {\n * if ( userinfo ) {\n * // Logged in\n * console.log( userinfo.name );\n * } else {\n * // Cancelled by the user\n * }\n * }, function ( error ) {\n * // Unexpected error stopped the login process\n * } );\n *\n * @example <caption>Example using `await` syntax</caption>\n * const userinfo = await authPopup.startPopupWindow(); // etc.\n * if ( userinfo ) {\n * // Logged in\n * } else {\n * // Cancelled by the user\n * }\n *\n * @module mediawiki.authenticationPopup\n * @type {AuthPopup}\n */\nmodule.exports = new AuthPopup( {\n\tloginPopupUrl: loginPopupUrl,\n\tloginFallbackUrl: loginFallbackUrl,\n\tcheckLoggedIn: checkLoggedIn,\n\tmessage: () => $( '<div>' ).append(\n\t\t$( '<p>' ).append(\n\t\t\tmw.message(\n\t\t\t\t'userlogin-authpopup-loggingin-body',\n\t\t\t\t$( '<a>' ).attr( 'href', loginFallbackUrl ).attr( 'target', '_blank' )\n\t\t\t).parseDom()\n\t\t),\n\t\t$.createSpinner( {\n\t\t\tsize: 'large',\n\t\t\ttype: 'block'\n\t\t} )\n\t)\n} );\n","usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.authenticationPopup/success.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.base/.eslintrc.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.base/errorLogger.js","messages":[{"ruleId":"jsdoc/valid-types","severity":1,"message":"Syntax error in namepath: ~'global.error'","line":8,"column":1,"nodeType":"Block","endLine":8,"endColumn":1},{"ruleId":"jsdoc/valid-types","severity":1,"message":"Syntax error in namepath: ~'error.caught'","line":22,"column":1,"nodeType":"Block","endLine":22,"endColumn":1}],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":2,"fixableErrorCount":0,"fixableWarningCount":0,"source":"'use strict';\n\n/**\n * Fired via mw.track when an error is not handled by local code and is caught by the\n * window.onerror handler.\n *\n * @ignore\n * @event ~'global.error'\n * @param {string} errorMessage Error message.\n * @param {string} url URL where error was raised.\n * @param {number} line Line number where error was raised.\n * @param {number} [column] Line number where error was raised. Not all browsers\n * support this.\n * @param {Error|Mixed} [errorObject] The error object. Typically an instance of Error, but\n * anything (even a primitive value) passed to a throw clause will end up here.\n */\n\n/**\n * Fired via mw.track when an error is logged with mw.errorLogger#logError.\n *\n * @ignore\n * @event ~'error.caught'\n * @param {Error} errorObject The error object\n */\n\n/**\n * Install a `window.onerror` handler that logs errors by notifying both `global.error` and\n * `error.uncaught` topic subscribers that an event has occurred. Note well that the former is\n * done for backwards compatibilty.\n *\n * @private\n * @param {Object} window\n */\nfunction installGlobalHandler( window ) {\n\t// We will preserve the return value of the previous handler. window.onerror works the\n\t// opposite way than normal event handlers (returning true will prevent the default\n\t// action, returning false will let the browser handle the error normally, by e.g.\n\t// logging to the console), so our fallback old handler needs to return false.\n\tconst oldHandler = window.onerror || function () {\n\t\treturn false;\n\t};\n\n\twindow.onerror = function ( errorMessage, url, line, column, errorObject ) {\n\t\tmw.track( 'global.error', {\n\t\t\terrorMessage: errorMessage,\n\t\t\turl: url,\n\t\t\tlineNumber: line,\n\t\t\tcolumnNumber: column,\n\t\t\tstackTrace: errorObject ? errorObject.stack : '',\n\t\t\terrorObject: errorObject\n\t\t} );\n\n\t\tif ( errorObject ) {\n\t\t\tmw.track( 'error.uncaught', errorObject );\n\t\t}\n\n\t\treturn oldHandler.apply( this, arguments );\n\t};\n}\n\n/**\n * Allows the logging of client errors for later inspections.\n *\n * @namespace mw.errorLogger\n */\nmw.errorLogger = {\n\t/**\n\t * Logs an error by notifying subscribers to the given mw.track() topic\n\t * (by default `error.caught`) that an event has occurred.\n\t *\n\t * @param {Error} error\n\t * @param {string} [topic='error.caught'] Error topic. Conventionally in the form\n\t * 'error.⧼component⧽' (where ⧼component⧽ identifies the code logging the error at a\n\t * high level; e.g. an extension name).\n\t */\n\tlogError: function ( error, topic ) {\n\t\tmw.track( topic || 'error.caught', error );\n\t}\n};\n\nif ( window.QUnit ) {\n\tmw.errorLogger.installGlobalHandler = installGlobalHandler;\n} else {\n\tinstallGlobalHandler( window );\n}\n","usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.base/log.js","messages":[{"ruleId":"jsdoc/require-returns","severity":1,"message":"Found more than one @return declaration.","line":14,"column":1,"nodeType":"Block","endLine":20,"endColumn":4},{"ruleId":"jsdoc/require-returns-check","severity":1,"message":"Found more than one @return declaration.","line":14,"column":1,"nodeType":"Block","endLine":20,"endColumn":4}],"suppressedMessages":[{"ruleId":"no-console","severity":2,"message":"Unexpected console statement.","line":48,"column":46,"nodeType":"MemberExpression","messageId":"unexpected","endLine":48,"endColumn":59,"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":2,"fixableErrorCount":0,"fixableWarningCount":0,"source":"// This file extends the mw.log skeleton defined in startup/mediawiki.js.\n// Code that is not needed by mw.loader is placed here.\n\n/* eslint-disable no-console */\n\n/**\n * Log debug messages and developer warnings to the browser console.\n *\n * See [mw.log()]{@link mw.log(2)} for verbose debug logging.\n *\n * @namespace mw.log\n */\n\n/**\n * Create a function that returns true for the first call from any particular call stack.\n *\n * @private\n * @return {Function}\n * @return {boolean|undefined} return.return True if the caller was not seen before.\n */\nfunction stackSet() {\n\t// Optimisation: Don't create or compute anything for the common case\n\t// where deprecations are not triggered.\n\tlet stacks;\n\n\treturn function isFirst() {\n\t\tif ( !stacks ) {\n\t\t\tstacks = new Set();\n\t\t}\n\t\tconst stack = new Error().stack;\n\t\tif ( !stacks.has( stack ) ) {\n\t\t\tstacks.add( stack );\n\t\t\treturn true;\n\t\t}\n\t};\n}\n\n/**\n * Write a message to the browser console's error channel.\n *\n * Most browsers also print a stacktrace when calling this method if the\n * argument is an Error object.\n *\n * @since 1.26\n * @method\n * @param {...Mixed} msg Messages to output to console\n */\nmw.log.error = Function.prototype.bind.call( console.error, console );\n\n/**\n * Create a function that logs a deprecation warning when called.\n *\n * @example\n * var deprecatedNoB = mw.log.makeDeprecated( 'hello_without_b', 'Use of hello without b is deprecated.' );\n *\n * function hello( a, b ) {\n * if ( b === undefined ) {\n * deprecatedNoB();\n * b = 0;\n * }\n * return a + b;\n * }\n *\n * hello( 1 );\n *\n * @since 1.38\n * @param {string|null} key Name of the feature for deprecation tracker,\n * or null for a console-only deprecation.\n * @param {string} msg Deprecation warning.\n * @return {Function}\n */\nmw.log.makeDeprecated = function ( key, msg ) {\n\tconst isFirst = stackSet();\n\treturn function maybeLog() {\n\t\tif ( isFirst() ) {\n\t\t\tif ( key ) {\n\t\t\t\tmw.track( 'mw.deprecate', key );\n\t\t\t}\n\t\t\tmw.log.warn( msg );\n\t\t}\n\t};\n};\n\n/**\n * Create a property on a host object that, when accessed, will log\n * a deprecation warning to the console.\n *\n * @example\n * mw.log.deprecate( window, 'myGlobalFn', myGlobalFn );\n *\n * @example\n * mw.log.deprecate( Thing, 'old', old, 'Use Other.thing instead', 'Thing.old' );\n *\n * @param {Object} obj Host object of deprecated property\n * @param {string} key Name of property to create in `obj`\n * @param {any} val The value this property should return when accessed\n * @param {string} [msg] Optional extra text to add to the deprecation warning\n * @param {string} [logName] Name of the feature for deprecation tracker.\n * Tracking is disabled by default, except for global variables on `window`.\n */\nmw.log.deprecate = function ( obj, key, val, msg, logName ) {\n\tconst maybeLog = mw.log.makeDeprecated(\n\t\tlogName || ( obj === window ? key : null ),\n\t\t'Use of \"' + ( logName || key ) + '\" is deprecated.' + ( msg ? ' ' + msg : '' )\n\t);\n\tObject.defineProperty( obj, key, {\n\t\tconfigurable: true,\n\t\tenumerable: true,\n\t\tget: function () {\n\t\t\tmaybeLog();\n\t\t\treturn val;\n\t\t},\n\t\tset: function ( newVal ) {\n\t\t\tmaybeLog();\n\t\t\tval = newVal;\n\t\t}\n\t} );\n};\n","usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.base/mediawiki.base.js","messages":[{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'mediawiki.inspect.runReports' is undefined.","line":224,"column":1,"nodeType":"Block","endLine":224,"endColumn":1},{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'mediawiki.inspect.js.html' is undefined.","line":250,"column":1,"nodeType":"Block","endLine":250,"endColumn":1}],"suppressedMessages":[{"ruleId":"mediawiki/msg-doc","severity":1,"message":"All possible message keys should be documented. See https://w.wiki/4r9a for details.","line":354,"column":9,"nodeType":"CallExpression","endLine":354,"endColumn":41,"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":2,"fixableErrorCount":0,"fixableWarningCount":0,"source":"'use strict';\n\nconst slice = Array.prototype.slice;\n\n// Apply site-level data\n// Allow page-specific configs (which were already set in startup.js)\n// to take precedence over site configs (T380552, T393256)\nconst config = require( './config.json' );\nfor ( const key in config ) {\n\tif ( !mw.config.exists( key ) ) {\n\t\tmw.config.set( key, config[ key ] );\n\t}\n}\n\nrequire( './log.js' );\n\n/**\n * @class mw.Message\n * @classdesc Describes a translateable text or HTML string. Similar to the Message class in MediaWiki PHP.\n *\n * @example\n * var obj, str;\n * mw.messages.set( {\n * 'hello': 'Hello world',\n * 'hello-user': 'Hello, $1!',\n * 'welcome-user': 'Welcome back to $2, $1! Last visit by $1: $3',\n * 'so-unusual': 'You will find: $1'\n * } );\n *\n * obj = mw.message( 'hello' );\n * mw.log( obj.text() );\n * // Hello world\n *\n * obj = mw.message( 'hello-user', 'John Doe' );\n * mw.log( obj.text() );\n * // Hello, John Doe!\n *\n * obj = mw.message( 'welcome-user', 'John Doe', 'Wikipedia', '2 hours ago' );\n * mw.log( obj.text() );\n * // Welcome back to Wikipedia, John Doe! Last visit by John Doe: 2 hours ago\n *\n * // Using mw.msg shortcut, always in \"text' format.\n * str = mw.msg( 'hello-user', 'John Doe' );\n * mw.log( str );\n * // Hello, John Doe!\n *\n * // Different formats\n * obj = mw.message( 'so-unusual', 'Time \"after\" <time>' );\n *\n * mw.log( obj.text() );\n * // You will find: Time \"after\" <time>\n *\n * mw.log( obj.escaped() );\n * // You will find: Time "after" <time>\n *\n * @constructor\n * @description Object constructor for messages. The constructor is not publicly accessible;\n * use {@link mw.message} instead.\n * @param {mw.Map} map Message store\n * @param {string} key\n * @param {Array} [parameters]\n */\nfunction Message( map, key, parameters ) {\n\tthis.map = map;\n\tthis.key = key;\n\tthis.parameters = parameters || [];\n}\n\nMessage.prototype = /** @lends mw.Message.prototype */ {\n\t/**\n\t * Get parsed contents of the message.\n\t *\n\t * The default parser does simple $N replacements and nothing else.\n\t * This may be overridden to provide a more complex message parser.\n\t * The primary override is in the mediawiki.jqueryMsg module.\n\t *\n\t * This function will not be called for nonexistent messages.\n\t * For internal use by mediawiki.jqueryMsg only\n\t *\n\t * @private\n\t * @param {string} format\n\t * @return {string} Parsed message\n\t */\n\tparser: function ( format ) {\n\t\tlet text = this.map.get( this.key );\n\n\t\t// Apply qqx formatting.\n\t\t//\n\t\t// - Keep this synchronised with LanguageQqx/MessageCache in PHP.\n\t\t// - Keep this synchronised with mw.jqueryMsg.Parser#getAst.\n\t\t//\n\t\t// Unlike LanguageQqx in PHP, this doesn't replace unconditionally.\n\t\t// It replaces non-existent messages, and messages that were exported by\n\t\t// load.php as \"(key)\" in qqx formatting. Some extensions export other data\n\t\t// via their message blob (T222944).\n\t\tif (\n\t\t\tmw.config.get( 'wgUserLanguage' ) === 'qqx' &&\n\t\t\t( !text || text === '(' + this.key + ')' )\n\t\t) {\n\t\t\ttext = '(' + this.key + '$*)';\n\t\t}\n\t\ttext = mw.format( text, ...this.parameters );\n\t\tif ( format === 'parse' ) {\n\t\t\t// We don't know how to parse anything, so escape it all\n\t\t\ttext = mw.html.escape( text );\n\t\t}\n\t\treturn text;\n\t},\n\n\t/**\n\t * Add (does not replace) parameters for `$N` placeholder values.\n\t *\n\t * @param {Array} parameters\n\t * @return {mw.Message}\n\t * @chainable\n\t */\n\tparams: function ( parameters ) {\n\t\tthis.parameters.push( ...parameters );\n\t\treturn this;\n\t},\n\n\t/**\n\t * Convert message object to a string using the \"text\"-format .\n\t *\n\t * This exists for implicit string type casting only.\n\t * Do not call this directly. Use mw.Message#text() instead, one of the\n\t * other format methods.\n\t *\n\t * @private\n\t * @param {string} [format=\"text\"] Internal parameter. Uses \"text\" if called\n\t * implicitly through string casting.\n\t * @return {string} Message in the given format, or `⧼key⧽` if the key\n\t * does not exist.\n\t */\n\ttoString: function ( format ) {\n\t\tif ( !this.exists() ) {\n\t\t\t// Make sure qqx works for non-existent messages, see parser() above.\n\t\t\tif ( mw.config.get( 'wgUserLanguage' ) !== 'qqx' ) {\n\t\t\t\t// Use ⧼key⧽ as text if key does not exist\n\t\t\t\t// Err on the side of safety, ensure that the output\n\t\t\t\t// is always html safe in the event the message key is\n\t\t\t\t// missing, since in that case its highly likely the\n\t\t\t\t// message key is user-controlled.\n\t\t\t\t// '⧼' is used instead of '<' to side-step any\n\t\t\t\t// double-escaping issues.\n\t\t\t\t// (Keep synchronised with Message::toString() in PHP.)\n\t\t\t\treturn '⧼' + mw.html.escape( this.key ) + '⧽';\n\t\t\t}\n\t\t}\n\n\t\tif ( !format ) {\n\t\t\tformat = 'text';\n\t\t}\n\n\t\tif ( format === 'plain' || format === 'text' || format === 'parse' ) {\n\t\t\treturn this.parser( format );\n\t\t}\n\n\t\t// Format: 'escaped' (including for any invalid format, default to safe escape)\n\t\treturn mw.html.escape( this.parser( 'escaped' ) );\n\t},\n\n\t/**\n\t * Parse message as wikitext and return HTML.\n\t *\n\t * If jqueryMsg is loaded, this transforms text and parses a subset of supported wikitext\n\t * into HTML. Without jqueryMsg, it is equivalent to {@link mw.Message#escaped}.\n\t *\n\t * @return {string} String form of parsed message\n\t */\n\tparse: function () {\n\t\treturn this.toString( 'parse' );\n\t},\n\n\t/**\n\t * Return message plainly.\n\t *\n\t * This substitutes parameters, but otherwise does not transform the\n\t * message content.\n\t *\n\t * @return {string} String form of plain message\n\t */\n\tplain: function () {\n\t\treturn this.toString( 'plain' );\n\t},\n\n\t/**\n\t * Format message with text transformations applied.\n\t *\n\t * If jqueryMsg is loaded, `{{`-transformation is done for supported\n\t * magic words such as `{{plural:}}`, `{{gender:}}`, and `{{int:}}`.\n\t * Without jqueryMsg, it is equivalent to {@link mw.Message#plain}.\n\t *\n\t * @return {string} String form of text message\n\t */\n\ttext: function () {\n\t\treturn this.toString( 'text' );\n\t},\n\n\t/**\n\t * Format message and return as escaped text in HTML.\n\t *\n\t * This is equivalent to the #text format, which is then HTML-escaped.\n\t *\n\t * @return {string} String form of html escaped message\n\t */\n\tescaped: function () {\n\t\treturn this.toString( 'escaped' );\n\t},\n\n\t/**\n\t * Check if a message exists. Equivalent to {@link mw.Map.exists}.\n\t *\n\t * @return {boolean}\n\t */\n\texists: function () {\n\t\treturn this.map.exists( this.key );\n\t}\n};\n\n/**\n * @class mw\n * @singleton\n * @borrows mediawiki.inspect.runReports as inspect\n */\n\n/**\n * Empty object for third-party libraries, for cases where you don't\n * want to add a new global, or the global is bad and needs containment\n * or wrapping.\n *\n * @type {Object}\n */\nmw.libs = {};\n\n/**\n * OOUI widgets specific to MediaWiki.\n * Initially empty. To expand the amount of available widgets the `mediawiki.widget` module can be loaded.\n *\n * @namespace mw.widgets\n * @example\n * mw.loader.using('mediawiki.widget').then(() => {\n * OO.ui.getWindowManager().addWindows( [ new mw.widget.AbandonEditDialog() ] );\n * });\n */\nmw.widgets = {};\n\n/**\n * Generates a ResourceLoader report using the\n * {@link mediawiki.inspect.js.html|mediawiki.inspect module}.\n *\n * @ignore\n */\nmw.inspect = function ( ...reports ) {\n\t// Lazy-load\n\tmw.loader.using( 'mediawiki.inspect', () => {\n\t\tmw.inspect.runReports( ...reports );\n\t} );\n};\n\n/**\n * Replace `$*` with a list of parameters for `uselang=qqx` support.\n *\n * @private\n * @since 1.33\n * @param {string} formatString Format string\n * @param {Array} parameters Values for $N replacements\n * @return {string} Transformed format string\n */\nmw.internalDoTransformFormatForQqx = function ( formatString, parameters ) {\n\tif ( formatString.includes( '$*' ) ) {\n\t\tlet replacement = '';\n\t\tif ( parameters.length ) {\n\t\t\treplacement = ': ' + parameters.map( ( _, i ) => '$' + ( i + 1 ) ).join( ', ' );\n\t\t}\n\t\treturn formatString.replace( '$*', replacement );\n\t}\n\treturn formatString;\n};\n\n/**\n * Encode page titles in a way that matches `wfUrlencode` in PHP.\n *\n * @see mw.util#wikiUrlencode\n * @private\n * @param {string} str\n * @return {string}\n */\nmw.internalWikiUrlencode = function ( str ) {\n\treturn encodeURIComponent( String( str ) )\n\t\t.replace( /'/g, '%27' )\n\t\t.replace( /%20/g, '_' )\n\t\t.replace( /%3B/g, ';' )\n\t\t.replace( /%40/g, '@' )\n\t\t.replace( /%24/g, '$' )\n\t\t.replace( /%2C/g, ',' )\n\t\t.replace( /%2F/g, '/' )\n\t\t.replace( /%3A/g, ':' );\n};\n\n/**\n * Format a string. Replace $1, $2 ... $N with positional arguments.\n *\n * Used by {@link mw.Message#parse}.\n *\n * @memberof mw\n * @since 1.25\n * @param {string} formatString Format string\n * @param {...Mixed} parameters Values for $N replacements\n * @return {string} Formatted string\n */\nmw.format = function ( formatString, ...parameters ) {\n\tformatString = mw.internalDoTransformFormatForQqx( formatString, parameters );\n\treturn formatString.replace( /\\$(\\d+)/g, ( str, match ) => {\n\t\tconst index = parseInt( match, 10 ) - 1;\n\t\treturn parameters[ index ] !== undefined ? parameters[ index ] : '$' + match;\n\t} );\n};\n\n// Expose Message constructor\nmw.Message = Message;\n\n/**\n * Get a message object.\n *\n * Shortcut for `new mw.Message( mw.messages, key, parameters )`.\n *\n * @memberof mw\n * @see {@link mw.Message}\n * @param {string} key Key of message to get\n * @param {...Mixed} parameters Values for $N replacements\n * @return {mw.Message}\n */\nmw.message = function ( key ) {\n\tconst parameters = slice.call( arguments, 1 );\n\treturn new Message( mw.messages, key, parameters );\n};\n\n/**\n * Get a message string using the (default) 'text' format.\n *\n * Shortcut for `mw.message( key, parameters... ).text()`.\n *\n * @memberof mw\n * @see {@link mw.Message}\n * @param {string} key Key of message to get\n * @param {...any} parameters Values for $N replacements\n * @return {string}\n */\nmw.msg = function ( key, ...parameters ) {\n\t// Shortcut must process text transformations by default\n\t// if mediawiki.jqueryMsg is loaded. (T46459)\n\t// eslint-disable-next-line mediawiki/msg-doc\n\treturn mw.message( key, ...parameters ).text();\n};\n\n/**\n * Convenience method for loading and accessing the\n * {@link mw.notification.notify|mw.notification module}.\n *\n * @memberof mw\n * @param {HTMLElement|HTMLElement[]|jQuery|mw.Message|string} message\n * @param {Object} [options] See mw.notification#defaults for the defaults.\n * @return {jQuery.Promise}\n */\nmw.notify = function ( message, options ) {\n\t// Lazy load\n\treturn mw.loader.using( 'mediawiki.notification' ).then( () => mw.notification.notify( message, options ) );\n};\n\nconst trackCallbacks = $.Callbacks( 'memory' );\nlet trackHandlers = [];\n\n/**\n * Track an analytic event.\n *\n * This method provides a generic means for MediaWiki JavaScript code to capture state\n * information for analysis. Each logged event specifies a string topic name that describes\n * the kind of event that it is. Topic names consist of dot-separated path components,\n * arranged from most general to most specific. Each path component should have a clear and\n * well-defined purpose.\n *\n * Data handlers are registered via `mw.trackSubscribe`, and receive the full set of\n * events that match their subscription, including buffered events that fired before the handler\n * was subscribed.\n *\n * @memberof mw\n * @param {string} topic Topic name\n * @param {...Object|number|string} [data] Data describing the event.\n */\nmw.track = function ( topic, ...data ) {\n\tmw.trackQueue.push( { topic, args: data } );\n\ttrackCallbacks.fire( mw.trackQueue );\n};\n\n/**\n * Register a handler for subset of analytic events, specified by topic.\n *\n * Handlers will be called once for each tracked event, including for any buffered events that\n * fired before the handler was subscribed. The callback is passed a `topic` string, and optional\n * `data` argument(s).\n *\n * @example\n * // To monitor all topics for debugging\n * mw.trackSubscribe( '', console.log );\n *\n * @example\n * // To subscribe to any of `foo.*`, e.g. both `foo.bar` and `foo.quux`\n * mw.trackSubscribe( 'foo.', console.log );\n *\n * @memberof mw\n * @param {string} topic Handle events whose name starts with this string prefix\n * @param {Function} callback Handler to call for each matching tracked event\n * @param {string} callback.topic\n * @param {...Object|number|string} [callback.data]\n */\nmw.trackSubscribe = function ( topic, callback ) {\n\tlet seen = 0;\n\tfunction handler( trackQueue ) {\n\t\tfor ( ; seen < trackQueue.length; seen++ ) {\n\t\t\tconst event = trackQueue[ seen ];\n\t\t\tif ( event.topic.startsWith( topic ) ) {\n\t\t\t\tcallback( event.topic, ...event.args );\n\t\t\t}\n\t\t}\n\t}\n\n\ttrackHandlers.push( [ handler, callback ] );\n\ttrackCallbacks.add( handler );\n};\n\n/**\n * Stop handling events for a particular handler.\n *\n * @memberof mw\n * @param {Function} callback\n */\nmw.trackUnsubscribe = function ( callback ) {\n\ttrackHandlers = trackHandlers.filter( ( fns ) => {\n\t\tif ( fns[ 1 ] === callback ) {\n\t\t\ttrackCallbacks.remove( fns[ 0 ] );\n\t\t\t// Ensure the tuple is removed to avoid holding on to closures\n\t\t\treturn false;\n\t\t}\n\t\treturn true;\n\t} );\n};\n\n// Notify subscribers of any mw.trackQueue.push() calls\n// from the startup module before mw.track() is defined.\ntrackCallbacks.fire( mw.trackQueue );\n\n/**\n * @namespace Hooks\n * @description Registry and firing of events.\n *\n * MediaWiki has various interface components that are extended, enhanced\n * or manipulated in some other way by extensions, gadgets and even\n * in core itself.\n *\n * This framework helps streamlining the timing of when these other\n * code paths fire their plugins (instead of using document-ready,\n * which can and should be limited to firing only once).\n *\n * Features like navigating to other wiki pages, previewing an edit\n * and editing itself – without a refresh – can then retrigger these\n * hooks accordingly to ensure everything still works as expected.\n * See {@link Hook}.\n *\n * Example usage:\n * ```\n * mw.hook( 'wikipage.content' ).add( fn ).remove( fn );\n * mw.hook( 'wikipage.content' ).fire( $content );\n * ```\n *\n * Handlers can be added and fired for arbitrary event names at any time. The same\n * event can be fired multiple times. The last run of an event is memorized\n * (similar to `$(document).ready` and `$.Deferred().done`).\n * This means if an event is fired, and a handler added afterwards, the added\n * function will be fired right away with the last given event data.\n *\n * Like Deferreds and Promises, the {@link mw.hook} object is both detachable and chainable.\n * Thus allowing flexible use and optimal maintainability and authority control.\n * You can pass around the `add` and/or `fire` method to another piece of code\n * without it having to know the event name (or {@link mw.hook} for that matter).\n *\n * ```\n * var h = mw.hook( 'bar.ready' );\n * new mw.Foo( .. ).fetch( { callback: h.fire } );\n * ```\n *\n * The function signature for hooks can be considered [stable](https://www.mediawiki.org/wiki/Special:MyLanguage/Stable_interface_policy/Frontend).\n * See available global events below.\n */\n\nconst hooks = Object.create( null );\n\n/**\n * Create an instance of {@link Hook}.\n *\n * @example\n * const hook = mw.hook( 'name' );\n * hook.add( () => alert( 'Hook was fired' ) );\n * hook.fire();\n *\n * @param {string} name Name of hook.\n * @return {Hook}\n */\nmw.hook = function ( name ) {\n\treturn hooks[ name ] || ( hooks[ name ] = ( function () {\n\t\tlet memory;\n\t\tlet deprecated;\n\t\tconst fns = [];\n\t\tfunction rethrow( e ) {\n\t\t\tsetTimeout( () => {\n\t\t\t\tthrow e;\n\t\t\t} );\n\t\t}\n\t\t/**\n\t\t * @class Hook\n\t\t * @classdesc An instance of a hook, created via [mw.hook method]{@link mw.hook}.\n\t\t * @global\n\t\t * @hideconstructor\n\t\t */\n\t\treturn {\n\t\t\t/**\n\t\t\t * Register a hook handler.\n\t\t\t *\n\t\t\t * @param {...Function} handlers Function(s) to bind.\n\t\t\t * @memberof Hook\n\t\t\t * @return {Hook}\n\t\t\t */\n\t\t\tadd: function ( ...handlers ) {\n\t\t\t\tif ( deprecated ) {\n\t\t\t\t\tdeprecated();\n\t\t\t\t}\n\t\t\t\tfns.push( ...handlers );\n\t\t\t\tif ( memory ) {\n\t\t\t\t\tfor ( const handler of handlers ) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\thandler( ...memory );\n\t\t\t\t\t\t} catch ( e ) {\n\t\t\t\t\t\t\trethrow( e );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn this;\n\t\t\t},\n\t\t\t/**\n\t\t\t * Unregister a hook handler.\n\t\t\t *\n\t\t\t * @param {...Function} handlers Function(s) to unbind.\n\t\t\t * @memberof Hook\n\t\t\t * @return {Hook}\n\t\t\t */\n\t\t\tremove: function ( ...handlers ) {\n\t\t\t\tfor ( const handler of handlers ) {\n\t\t\t\t\tlet j;\n\t\t\t\t\twhile ( ( j = fns.indexOf( handler ) ) !== -1 ) {\n\t\t\t\t\t\tfns.splice( j, 1 );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn this;\n\t\t\t},\n\t\t\t/**\n\t\t\t * Enable a deprecation warning, logged after registering a hook handler.\n\t\t\t *\n\t\t\t * @example\n\t\t\t * mw.hook( 'myhook' ).deprecate().fire( data );\n\t\t\t *\n\t\t\t * @example\n\t\t\t * mw.hook( 'myhook' )\n\t\t\t * .deprecate( 'Use the \"someother\" hook instead.' )\n\t\t\t * .fire( data );\n\t\t\t *\n\t\t\t * NOTE: This must be called before calling fire(), as otherwise some\n\t\t\t * hook handlers may be registered and fired without being reported.\n\t\t\t *\n\t\t\t * @memberof Hook\n\t\t\t * @param {string} msg Optional extra text to add to the deprecation warning\n\t\t\t * @return {Hook}\n\t\t\t * @chainable\n\t\t\t */\n\t\t\tdeprecate: function ( msg ) {\n\t\t\t\tdeprecated = mw.log.makeDeprecated(\n\t\t\t\t\t`hook_${ name }`,\n\t\t\t\t\t`mw.hook \"${ name }\" is deprecated.` + ( msg ? ' ' + msg : '' )\n\t\t\t\t);\n\t\t\t\treturn this;\n\t\t\t},\n\t\t\t/**\n\t\t\t * Call hook handlers with data.\n\t\t\t *\n\t\t\t * @memberof Hook\n\t\t\t * @param {...any} data\n\t\t\t * @return {Hook}\n\t\t\t * @chainable\n\t\t\t */\n\t\t\tfire: function ( ...data ) {\n\t\t\t\tif ( deprecated && fns.length ) {\n\t\t\t\t\tdeprecated();\n\t\t\t\t}\n\n\t\t\t\tfor ( const fn of fns ) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tfn.apply( null, arguments );\n\t\t\t\t\t} catch ( e ) {\n\t\t\t\t\t\trethrow( e );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tmemory = data;\n\n\t\t\t\treturn this;\n\t\t\t}\n\t\t};\n\t}() ) );\n};\n\n/**\n * HTML construction helper functions.\n *\n * @example\n * var Html, output;\n *\n * Html = mw.html;\n * output = Html.element( 'div', {}, new Html.Raw(\n * Html.element( 'img', { src: '<' } )\n * ) );\n * mw.log( output ); // <div><img src=\"<\"/></div>\n *\n * @namespace mw.html\n */\n\nfunction escapeCallback( s ) {\n\tswitch ( s ) {\n\t\tcase '\\'':\n\t\t\treturn ''';\n\t\tcase '\"':\n\t\t\treturn '"';\n\t\tcase '<':\n\t\t\treturn '<';\n\t\tcase '>':\n\t\t\treturn '>';\n\t\tcase '&':\n\t\t\treturn '&';\n\t}\n}\nmw.html = {\n\t/**\n\t * Escape a string for HTML.\n\t *\n\t * Converts special characters to HTML entities.\n\t *\n\t * @example\n\t * mw.html.escape( '< > \\' & \"' );\n\t * // Returns < > ' & "\n\t *\n\t * @param {string} s The string to escape\n\t * @return {string} HTML\n\t */\n\tescape: function ( s ) {\n\t\treturn s.replace( /['\"<>&]/g, escapeCallback );\n\t},\n\n\t/**\n\t * Create an HTML element string, with safe escaping.\n\t *\n\t * @param {string} name The tag name.\n\t * @param {Object} [attrs] An object with members mapping element names to values\n\t * @param {string|mw.html.Raw|null} [contents=null] The contents of the element.\n\t *\n\t * - string: Text to be escaped.\n\t * - null: The element is treated as void with short closing form, e.g. `<br/>`.\n\t * - this.Raw: The raw value is directly included.\n\t * @return {string} HTML\n\t */\n\telement: function ( name, attrs, contents ) {\n\t\tlet s = '<' + name;\n\n\t\tif ( attrs ) {\n\t\t\tfor ( const attrName in attrs ) {\n\t\t\t\tlet v = attrs[ attrName ];\n\t\t\t\t// Convert name=true, to name=name\n\t\t\t\tif ( v === true ) {\n\t\t\t\t\tv = attrName;\n\t\t\t\t\t// Skip name=false\n\t\t\t\t} else if ( v === false ) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\ts += ' ' + attrName + '=\"' + this.escape( String( v ) ) + '\"';\n\t\t\t}\n\t\t}\n\t\tif ( contents === undefined || contents === null ) {\n\t\t\t// Self close tag\n\t\t\ts += '/>';\n\t\t\treturn s;\n\t\t}\n\t\t// Regular open tag\n\t\ts += '>';\n\t\tif ( typeof contents === 'string' ) {\n\t\t\t// Escaped\n\t\t\ts += this.escape( contents );\n\t\t} else if ( typeof contents === 'number' || typeof contents === 'boolean' ) {\n\t\t\t// Convert to string\n\t\t\ts += String( contents );\n\t\t} else if ( contents instanceof this.Raw ) {\n\t\t\t// Raw HTML inclusion\n\t\t\ts += contents.value;\n\t\t} else {\n\t\t\tthrow new Error( 'Invalid content type' );\n\t\t}\n\t\ts += '</' + name + '>';\n\t\treturn s;\n\t},\n\n\t/**\n\t * @classdesc Wrapper object for raw HTML. Can be used with {@link mw.html.element}.\n\t * @class mw.html.Raw\n\t * @param {string} value\n\t * @example\n\t * const raw = new mw.html.Raw( 'Text' );\n\t * mw.html.element( 'div', { class: 'html' }, raw );\n\t */\n\tRaw: function ( value ) {\n\t\tthis.value = value;\n\t}\n};\n\n/**\n * Schedule a function to run once the page is ready (DOM loaded).\n *\n * @since 1.5.8\n * @memberof window\n * @param {Function} fn\n */\nwindow.addOnloadHook = function ( fn ) {\n\t$( () => {\n\t\tfn();\n\t} );\n};\n\nconst loadedScripts = {};\n\n/**\n * Import a script using an absolute URI.\n *\n * @since 1.12.2\n * @memberof window\n * @param {string} url\n * @return {HTMLElement|null} Script tag, or null if it was already imported before\n */\nwindow.importScriptURI = function ( url ) {\n\tif ( loadedScripts[ url ] ) {\n\t\treturn null;\n\t}\n\tloadedScripts[ url ] = true;\n\treturn mw.loader.addScriptTag( url );\n};\n\n/**\n * Import a local JS content page, for use by user scripts and site-wide scripts.\n *\n * Note that if the same title is imported multiple times, it will only\n * be loaded and executed once.\n *\n * @since 1.12.2\n * @memberof window\n * @param {string} title\n * @return {HTMLElement|null} Script tag, or null if it was already imported before\n */\nwindow.importScript = function ( title ) {\n\treturn window.importScriptURI(\n\t\tmw.config.get( 'wgScript' ) + '?title=' + mw.internalWikiUrlencode( title ) +\n\t\t\t'&action=raw&ctype=text/javascript'\n\t);\n};\n\n/**\n * Import a local CSS content page, for use by user scripts and site-wide scripts.\n *\n * @since 1.12.2\n * @memberof window\n * @param {string} title\n * @return {HTMLElement} Link tag\n */\nwindow.importStylesheet = function ( title ) {\n\treturn mw.loader.addLinkTag(\n\t\tmw.config.get( 'wgScript' ) + '?title=' + mw.internalWikiUrlencode( title ) +\n\t\t\t'&action=raw&ctype=text/css'\n\t);\n};\n\n/**\n * Import a stylesheet using an absolute URI.\n *\n * @since 1.12.2\n * @memberof window\n * @param {string} url\n * @param {string} media\n * @return {HTMLElement} Link tag\n */\nwindow.importStylesheetURI = function ( url, media ) {\n\treturn mw.loader.addLinkTag( url, media );\n};\n\n/**\n * Get the names of all registered ResourceLoader modules.\n *\n * @memberof mw.loader\n * @return {string[]}\n */\nmw.loader.getModuleNames = function () {\n\treturn Object.keys( mw.loader.moduleRegistry );\n};\n\n/**\n * Execute a function after one or more modules are ready.\n *\n * Use this method if you need to dynamically control which modules are loaded\n * and/or when they loaded (instead of declaring them as dependencies directly\n * on your module.)\n *\n * This uses the same loader as for regular module dependencies. This means\n * ResourceLoader will not re-download or re-execute a module for the second\n * time if something else already needed it. And the same browser HTTP cache,\n * and localStorage are checked before considering to fetch from the network.\n * And any on-going requests from other dependencies or using() calls are also\n * automatically re-used.\n *\n * Example of inline dependency on OOjs:\n * ```\n * mw.loader.using( 'oojs', function () {\n * OO.compare( [ 1 ], [ 1 ] );\n * } );\n * ```\n *\n * Example of inline dependency obtained via `require()`:\n * ```\n * mw.loader.using( [ 'mediawiki.util' ], function ( require ) {\n * var util = require( 'mediawiki.util' );\n * } );\n * ```\n *\n * Since MediaWiki 1.23 this returns a promise.\n *\n * Since MediaWiki 1.28 the promise is resolved with a `require` function.\n *\n * @memberof mw.loader\n * @param {string|Array} dependencies Module name or array of modules names the\n * callback depends on to be ready before executing\n * @param {Function} [ready] Callback to execute when all dependencies are ready\n * @param {Function} [error] Callback to execute if one or more dependencies failed\n * @return {jQuery.Promise} With a `require` function\n */\nmw.loader.using = function ( dependencies, ready, error ) {\n\tconst deferred = $.Deferred();\n\n\t// Allow calling with a single dependency as a string\n\tif ( !Array.isArray( dependencies ) ) {\n\t\tdependencies = [ dependencies ];\n\t}\n\n\tif ( ready ) {\n\t\tdeferred.done( ready );\n\t}\n\tif ( error ) {\n\t\tdeferred.fail( error );\n\t}\n\n\ttry {\n\t\t// Resolve entire dependency map\n\t\tdependencies = mw.loader.resolve( dependencies );\n\t} catch ( e ) {\n\t\treturn deferred.reject( e ).promise();\n\t}\n\n\tmw.loader.enqueue(\n\t\tdependencies,\n\t\t() => {\n\t\t\tdeferred.resolve( mw.loader.require );\n\t\t},\n\t\tdeferred.reject\n\t);\n\n\treturn deferred.promise();\n};\n\n/**\n * Load a script by URL.\n *\n * @example\n * mw.loader.getScript(\n * 'https://example.org/x-1.0.0.js'\n * )\n * .then( function () {\n * // Script succeeded. You can use X now.\n * }, function ( e ) {\n * // Script failed. X is not avaiable\n * mw.log.error( e.message ); // => \"Failed to load script\"\n * } );\n * } );\n *\n * @memberof mw.loader\n * @param {string} url Script URL\n * @return {jQuery.Promise} Resolved when the script is loaded\n */\nmw.loader.getScript = function ( url ) {\n\treturn $.ajax( url, { dataType: 'script', cache: true } )\n\t\t.catch( () => {\n\t\t\tthrow new Error( 'Failed to load script' );\n\t\t} );\n};\n\n// Skeleton user object, extended by the 'mediawiki.user' module.\n/**\n * @namespace mw.user\n * @ignore\n */\nmw.user = {\n\t/**\n\t * Map of user preferences and their values.\n\t *\n\t * @type {mw.Map}\n\t */\n\toptions: new mw.Map(),\n\t/**\n\t * Map of retrieved user tokens.\n\t *\n\t * @type {mw.Map}\n\t */\n\ttokens: new mw.Map()\n};\n\nmw.user.options.set( require( './user.json' ) );\n\n// Process callbacks for modern browsers (Grade A) that require modules.\nconst queue = window.RLQ;\n// Replace temporary RLQ implementation from startup.js with the\n// final implementation that also processes callbacks that can\n// require modules. It must also support late arrivals of\n// plain callbacks. (T208093)\nwindow.RLQ = {\n\tpush: function ( entry ) {\n\t\tif ( typeof entry === 'function' ) {\n\t\t\tentry();\n\t\t} else {\n\t\t\tmw.loader.using( entry[ 0 ], entry[ 1 ] );\n\t\t}\n\t}\n};\nwhile ( queue[ 0 ] ) {\n\twindow.RLQ.push( queue.shift() );\n}\n\n/**\n * Replace document.write/writeln with basic html parsing that appends\n * to the `<body>` to avoid blanking pages. Added JavaScript will not run.\n *\n * @ignore\n * @deprecated since 1.26\n */\n[ 'write', 'writeln' ].forEach( ( func ) => {\n\tmw.log.deprecate( document, func, function () {\n\t\t$( document.body ).append( $.parseHTML( slice.call( arguments ).join( '' ) ) );\n\t}, 'Use jQuery or mw.loader.load instead.', 'document.' + func );\n} );\n\n// Load other files in the package\nrequire( './errorLogger.js' );\n","usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.checkboxtoggle.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.cldr/index.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.confirmCloseWindow.js","messages":[],"suppressedMessages":[{"ruleId":"no-alert","severity":2,"message":"Unexpected confirm.","line":105,"column":21,"nodeType":"CallExpression","messageId":"unexpected","endLine":105,"endColumn":39,"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.cookie/.eslintrc.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.cookie/index.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.cookie/jar.js","messages":[{"ruleId":"mediawiki/no-cookie","severity":1,"message":"Avoid direct access to document.cookie. Use mw.cookie instead.","line":74,"column":23,"nodeType":"Identifier","messageId":"noCookie","endLine":74,"endColumn":29},{"ruleId":"mediawiki/no-cookie","severity":1,"message":"Avoid direct access to document.cookie. Use mw.cookie instead.","line":93,"column":23,"nodeType":"Identifier","messageId":"noCookie","endLine":93,"endColumn":29}],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":2,"fixableErrorCount":0,"fixableWarningCount":0,"source":"/**\n * Cookie Plugin\n * Based on https://github.com/carhartl/jquery-cookie\n *\n * Copyright 2013 Klaus Hartl\n * Released under the MIT license\n *\n * Now forked by MediaWiki.\n *\n * @private\n * @class mw.cookie.jar\n */\n( function () {\n\n\tconst pluses = /\\+/g;\n\tlet config = null, cookie;\n\n\tfunction raw( s ) {\n\t\treturn s;\n\t}\n\n\tfunction decoded( s ) {\n\t\ttry {\n\t\t\treturn unRfc2068( decodeURIComponent( s.replace( pluses, ' ' ) ) );\n\t\t} catch ( e ) {\n\t\t\t// If the cookie cannot be decoded this should not throw an error.\n\t\t\t// See T271838.\n\t\t\treturn '';\n\t\t}\n\t}\n\n\tfunction unRfc2068( value ) {\n\t\tif ( value.startsWith( '\"' ) ) {\n\t\t\t// This is a quoted cookie as according to RFC2068, unescape\n\t\t\tvalue = value.slice( 1, -1 ).replace( /\\\\\"/g, '\"' ).replace( /\\\\\\\\/g, '\\\\' );\n\t\t}\n\t\treturn value;\n\t}\n\n\tfunction fromJSON( value ) {\n\t\treturn config.json ? JSON.parse( value ) : value;\n\t}\n\n\t/**\n\t * Get, set, or remove a cookie.\n\t *\n\t * @ignore\n\t * @param {string} [key] Cookie name or (when getting) omit to return an object with all\n\t * current cookie keys and values.\n\t * @param {string|null} [value] Cookie value to set. If `null`, this method will remove the cookie.\n\t * If omited, this method will get and return the current value.\n\t * @param {mw.cookie.CookieOptions} [options]\n\t * @return {string|Object} The current value (if getting a cookie), or an internal `document.cookie`\n\t * expression (if setting or removing).\n\t */\n\tconfig = cookie = function ( key, value, options ) {\n\n\t\t// write\n\t\tif ( value !== undefined ) {\n\t\t\toptions = Object.assign( {}, config.defaults, options );\n\n\t\t\tif ( value === null ) {\n\t\t\t\toptions.expires = -1;\n\t\t\t}\n\n\t\t\tif ( typeof options.expires === 'number' ) {\n\t\t\t\tconst days = options.expires, t = options.expires = new Date();\n\t\t\t\tt.setDate( t.getDate() + days );\n\t\t\t}\n\n\t\t\tvalue = config.json ? JSON.stringify( value ) : String( value );\n\n\t\t\ttry {\n\t\t\t\treturn ( document.cookie = [\n\t\t\t\t\tencodeURIComponent( key ), '=', config.raw ? value : encodeURIComponent( value ),\n\t\t\t\t\toptions.expires ? '; expires=' + options.expires.toUTCString() : '', // use expires attribute, max-age is not supported by IE\n\t\t\t\t\toptions.path ? '; path=' + options.path : '',\n\t\t\t\t\toptions.domain ? '; domain=' + options.domain : '',\n\t\t\t\t\toptions.secure ? '; secure' : '',\n\t\t\t\t\t// PATCH: handle SameSite flag --tgr\n\t\t\t\t\toptions.sameSite ? '; samesite=' + options.sameSite : ''\n\t\t\t\t].join( '' ) );\n\t\t\t} catch ( e ) {\n\t\t\t\t// Fail silently if the document is not allowed to access cookies.\n\t\t\t\treturn '';\n\t\t\t}\n\t\t}\n\n\t\t// read\n\t\tconst decode = config.raw ? raw : decoded;\n\t\tlet cookies;\n\t\ttry {\n\t\t\tcookies = document.cookie.split( '; ' );\n\t\t} catch ( e ) {\n\t\t\t// Fail silently if the document is not allowed to access cookies.\n\t\t\tcookies = [];\n\t\t}\n\t\tlet result = key ? null : {};\n\t\tfor ( let i = 0, l = cookies.length; i < l; i++ ) {\n\t\t\tconst parts = cookies[ i ].split( '=' );\n\t\t\tconst name = decode( parts.shift() );\n\t\t\tconst s = decode( parts.join( '=' ) );\n\n\t\t\tif ( key && key === name ) {\n\t\t\t\tresult = fromJSON( s );\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tif ( !key ) {\n\t\t\t\tresult[ name ] = fromJSON( s );\n\t\t\t}\n\t\t}\n\n\t\treturn result;\n\t};\n\n\tconfig.defaults = {};\n\n\t/**\n\t * Remove a cookie by key.\n\t *\n\t * @ignore\n\t * @param {string} key\n\t * @param {mw.cookie.CookieOptions} options\n\t * @return {boolean} True if the cookie previously existed\n\t */\n\tfunction removeCookie( key, options ) {\n\t\tif ( cookie( key ) !== null ) {\n\t\t\tcookie( key, null, options );\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tmodule.exports = {\n\t\tcookie,\n\t\tremoveCookie\n\t};\n}() );\n","usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.cookie/jquery.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.cookie/types.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.debug/debug.js","messages":[],"suppressedMessages":[{"ruleId":"no-jquery/no-slide","severity":2,"message":"Prefer CSS transitions to .slideUp","line":91,"column":5,"nodeType":"CallExpression","endLine":91,"endColumn":38,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-slide","severity":2,"message":"Prefer CSS transitions to .slideDown","line":101,"column":5,"nodeType":"CallExpression","endLine":101,"endColumn":42,"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.debug/jquery.footHovzer.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.deflate/.eslintrc.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.deflate/mw.deflate.js","messages":[],"suppressedMessages":[{"ruleId":"compat/compat","severity":2,"message":"CompressionStream is not supported in Safari 11.1, iOS Safari 11.3-11.4, Firefox 108","line":48,"column":8,"nodeType":"NewExpression","endLine":48,"endColumn":46,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"compat/compat","severity":2,"message":"CompressionStream is not supported in Safari 11.1, iOS Safari 11.3-11.4, Firefox 108","line":52,"column":8,"nodeType":"NewExpression","endLine":52,"endColumn":42,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-bitwise","severity":2,"message":"Unexpected use of '>>'.","line":91,"column":24,"nodeType":"BinaryExpression","messageId":"unexpected","endLine":91,"endColumn":43,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-bitwise","severity":2,"message":"Unexpected use of '|'.","line":92,"column":24,"nodeType":"BinaryExpression","messageId":"unexpected","endLine":92,"endColumn":84,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-bitwise","severity":2,"message":"Unexpected use of '<<'.","line":92,"column":26,"nodeType":"BinaryExpression","messageId":"unexpected","endLine":92,"endColumn":56,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-bitwise","severity":2,"message":"Unexpected use of '&'.","line":92,"column":28,"nodeType":"BinaryExpression","messageId":"unexpected","endLine":92,"endColumn":49,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-bitwise","severity":2,"message":"Unexpected use of '>>'.","line":92,"column":63,"nodeType":"BinaryExpression","messageId":"unexpected","endLine":92,"endColumn":82,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-bitwise","severity":2,"message":"Unexpected use of '|'.","line":93,"column":24,"nodeType":"BinaryExpression","messageId":"unexpected","endLine":93,"endColumn":80,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-bitwise","severity":2,"message":"Unexpected use of '<<'.","line":93,"column":26,"nodeType":"BinaryExpression","messageId":"unexpected","endLine":93,"endColumn":56,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-bitwise","severity":2,"message":"Unexpected use of '&'.","line":93,"column":28,"nodeType":"BinaryExpression","messageId":"unexpected","endLine":93,"endColumn":49,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-bitwise","severity":2,"message":"Unexpected use of '>>'.","line":93,"column":63,"nodeType":"BinaryExpression","messageId":"unexpected","endLine":93,"endColumn":78,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-bitwise","severity":2,"message":"Unexpected use of '&'.","line":94,"column":24,"nodeType":"BinaryExpression","messageId":"unexpected","endLine":94,"endColumn":41,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-bitwise","severity":2,"message":"Unexpected use of '>>'.","line":97,"column":24,"nodeType":"BinaryExpression","messageId":"unexpected","endLine":97,"endColumn":43,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-bitwise","severity":2,"message":"Unexpected use of '<<'.","line":98,"column":24,"nodeType":"BinaryExpression","messageId":"unexpected","endLine":98,"endColumn":54,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-bitwise","severity":2,"message":"Unexpected use of '&'.","line":98,"column":26,"nodeType":"BinaryExpression","messageId":"unexpected","endLine":98,"endColumn":47,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-bitwise","severity":2,"message":"Unexpected use of '>>'.","line":102,"column":24,"nodeType":"BinaryExpression","messageId":"unexpected","endLine":102,"endColumn":43,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-bitwise","severity":2,"message":"Unexpected use of '|'.","line":103,"column":24,"nodeType":"BinaryExpression","messageId":"unexpected","endLine":103,"endColumn":84,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-bitwise","severity":2,"message":"Unexpected use of '<<'.","line":103,"column":26,"nodeType":"BinaryExpression","messageId":"unexpected","endLine":103,"endColumn":56,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-bitwise","severity":2,"message":"Unexpected use of '&'.","line":103,"column":28,"nodeType":"BinaryExpression","messageId":"unexpected","endLine":103,"endColumn":49,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-bitwise","severity":2,"message":"Unexpected use of '>>'.","line":103,"column":63,"nodeType":"BinaryExpression","messageId":"unexpected","endLine":103,"endColumn":82,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-bitwise","severity":2,"message":"Unexpected use of '<<'.","line":104,"column":24,"nodeType":"BinaryExpression","messageId":"unexpected","endLine":104,"endColumn":54,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-bitwise","severity":2,"message":"Unexpected use of '&'.","line":104,"column":26,"nodeType":"BinaryExpression","messageId":"unexpected","endLine":104,"endColumn":47,"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.diff/diff.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.diff/inlineFormatToggle.js","messages":[{"ruleId":"jsdoc/valid-types","severity":1,"message":"Syntax error in namepath: ~'wikipage.diff.wikitextDiffBody'","line":150,"column":1,"nodeType":"Block","endLine":150,"endColumn":1},{"ruleId":"jsdoc/valid-types","severity":1,"message":"Syntax error in namepath: ~'wikipage.diff.diffTypeSwitch'","line":162,"column":1,"nodeType":"Block","endLine":162,"endColumn":1}],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":2,"fixableErrorCount":0,"fixableWarningCount":0,"source":"/*!\n * JavaScript for diff inline toggle\n */\nmodule.exports = function ( $inlineToggleSwitchLayout ) {\n\tconst url = new URL( location.href ),\n\t\tapi = new mw.Api(),\n\t\t$inlineLegendContainer = $( '.mw-diff-inline-legend' ),\n\t\tinlineToggleSwitchLayout = OO.ui.FieldLayout.static.infuse( $inlineToggleSwitchLayout ),\n\t\tinlineToggleSwitch = inlineToggleSwitchLayout.getField();\n\n\tinlineToggleSwitch.on( 'change', ( e ) => {\n\t\tonDiffTypeInlineChange( e, true );\n\t} );\n\tinlineToggleSwitch.on( 'disable', onDiffTypeInlineDisabled );\n\n\tconst $wikitextDiffContainer = $( 'table.diff[data-mw=\"interface\"]' );\n\tconst $wikitextDiffHeader = $wikitextDiffContainer.find( 'tr.diff-title' )\n\t\t.add( $wikitextDiffContainer.find( 'td.diff-multi, td.diff-notice' ).parent() );\n\tlet $wikitextDiffBody = $wikitextDiffContainer.find( 'tr' ).not( $wikitextDiffHeader );\n\n\tlet $wikitextDiffBodyInline, $wikitextDiffBodyTable;\n\tif ( inlineToggleSwitch.getValue() ) {\n\t\t$wikitextDiffBodyInline = $wikitextDiffBody;\n\t} else {\n\t\t$wikitextDiffBodyTable = $wikitextDiffBody;\n\t}\n\n\t/**\n\t * Handler for inlineToggleSwitch onChange event\n\t *\n\t * @param {boolean} isInline\n\t * @param {boolean} saveDiffTypeOption\n\t */\n\tfunction onDiffTypeInlineChange( isInline, saveDiffTypeOption ) {\n\t\tif ( ( isInline && typeof $wikitextDiffBodyInline === 'undefined' ) ||\n\t\t\t( !isInline && typeof $wikitextDiffBodyTable === 'undefined' ) ) {\n\t\t\tfetchDiff( isInline );\n\t\t} else {\n\t\t\ttoggleDiffTypeVisibility( isInline );\n\t\t}\n\n\t\tif ( saveDiffTypeOption ) {\n\t\t\tapi.saveOption( 'diff-type', isInline ? 'inline' : 'table' )\n\t\t\t\t.fail( ( error ) => {\n\t\t\t\t\tif ( error === 'notloggedin' ) {\n\t\t\t\t\t\t// Can't save preference, so use query parameter stickiness\n\t\t\t\t\t\tswitchQueryParams( isInline );\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t}\n\t}\n\n\t/**\n\t * Toggle legend and the DOM containers according to the format selected.\n\t *\n\t * @param {boolean} isInline\n\t */\n\tfunction toggleDiffTypeVisibility( isInline ) {\n\t\t$inlineLegendContainer.toggleClass( 'oo-ui-element-hidden', !isInline );\n\t\tif ( typeof $wikitextDiffBodyInline !== 'undefined' ) {\n\t\t\t$wikitextDiffBodyInline.toggleClass( 'oo-ui-element-hidden', !isInline );\n\t\t}\n\n\t\tif ( typeof $wikitextDiffBodyTable !== 'undefined' ) {\n\t\t\t$wikitextDiffBodyTable.toggleClass( 'oo-ui-element-hidden', isInline );\n\t\t}\n\t}\n\n\t/**\n\t * Change the query parameters to maintain the new diff type.\n\t * This is used for anonymous users.\n\t *\n\t * @param {boolean} isInline\n\t */\n\tfunction switchQueryParams( isInline ) {\n\t\t$( '#differences-prevlink, #differences-nextlink' )\n\t\t\t.each( function () {\n\t\t\t\tlet linkUrl;\n\t\t\t\ttry {\n\t\t\t\t\tlinkUrl = new URL( this.href );\n\t\t\t\t} catch ( e ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tif ( isInline ) {\n\t\t\t\t\tlinkUrl.searchParams.set( 'diff-type', 'inline' );\n\t\t\t\t} else {\n\t\t\t\t\tlinkUrl.searchParams.delete( 'diff-type' );\n\t\t\t\t}\n\t\t\t\tthis.href = linkUrl.toString();\n\t\t\t} );\n\t}\n\n\t/**\n\t * Toggle the legend when the toggle switch disabled state changes.\n\t *\n\t * @param {boolean} disabled\n\t */\n\tfunction onDiffTypeInlineDisabled( disabled ) {\n\t\tif ( disabled ) {\n\t\t\t$inlineLegendContainer.addClass( 'oo-ui-element-hidden' );\n\t\t} else {\n\t\t\t$inlineLegendContainer.toggleClass( 'oo-ui-element-hidden', !inlineToggleSwitch.getValue() );\n\t\t\t// When Inline Switch is enabled, toggle wikitext according to its value.\n\t\t\t// Do not save user 'diff-type' preference\n\t\t\tonDiffTypeInlineChange( inlineToggleSwitch.getValue(), false );\n\t\t}\n\t}\n\n\t/**\n\t * Fetch the diff through mw.API in the given format.\n\t *\n\t * @param {boolean} isInline\n\t */\n\tfunction fetchDiff( isInline ) {\n\t\tconst diffType = isInline ? 'inline' : 'table',\n\t\t\toldRevId = mw.config.get( 'wgDiffOldId' ),\n\t\t\tnewRevId = mw.config.get( 'wgDiffNewId' );\n\n\t\tlet oldPageName, newPageName;\n\t\tif ( mw.config.get( 'wgCanonicalSpecialPageName' ) !== 'ComparePages' ) {\n\t\t\toldPageName = newPageName = mw.config.get( 'wgRelevantPageName' );\n\t\t} else {\n\t\t\toldPageName = url.searchParams.get( 'page1' );\n\t\t\tnewPageName = url.searchParams.get( 'page2' );\n\t\t}\n\n\t\tconst apiParams = {\n\t\t\taction: 'compare',\n\t\t\tfromtitle: oldPageName,\n\t\t\ttotitle: newPageName,\n\t\t\tfromrev: oldRevId,\n\t\t\ttorev: newRevId,\n\t\t\tdifftype: diffType\n\t\t};\n\n\t\tapi.get( apiParams ).done( ( diffData ) => {\n\t\t\tif ( isInline ) {\n\t\t\t\t$wikitextDiffBodyInline = $( diffData.compare[ '*' ] );\n\t\t\t} else {\n\t\t\t\t$wikitextDiffBodyTable = $( diffData.compare[ '*' ] );\n\t\t\t}\n\n\t\t\ttoggleDiffTypeVisibility( inlineToggleSwitch.getValue() );\n\n\t\t\t$wikitextDiffBody.last().after( isInline ? $wikitextDiffBodyInline : $wikitextDiffBodyTable );\n\t\t\t$wikitextDiffBody = $wikitextDiffContainer.find( 'tr' ).not( $wikitextDiffHeader );\n\t\t\t/**\n\t\t\t * Fired when the wikitext DOM is updated so others can react accordingly.\n\t\t\t *\n\t\t\t * @event ~'wikipage.diff.wikitextDiffBody'\n\t\t\t * @memberof Hooks\n\t\t\t * @param {jQuery} $wikitextDiffBody\n\t\t\t */\n\t\t\tmw.hook( 'wikipage.diff.wikitextBodyUpdate' ).fire( $wikitextDiffBody );\n\t\t} );\n\t}\n\n\t/**\n\t * Fired when the diff type switch is present so others can decide\n\t * how to manipulate the DOM.\n\t *\n\t * @event ~'wikipage.diff.diffTypeSwitch'\n\t * @memberof Hooks\n\t * @param {OO.ui.ToggleSwitchWidget} inlineToggleSwitch\n\t */\n\tmw.hook( 'wikipage.diff.diffTypeSwitch' ).fire( inlineToggleSwitch );\n};\n","usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.diff/undoButtonToggle.js","messages":[{"ruleId":"jsdoc/require-param-type","severity":1,"message":"Missing JSDoc @param \"$undoButton\" type.","line":5,"column":1,"nodeType":"Block","endLine":5,"endColumn":1}],"suppressedMessages":[{"ruleId":"mediawiki/class-doc","severity":1,"message":"All possible CSS classes should be documented. See https://w.wiki/PS2 for details.","line":17,"column":3,"nodeType":"CallExpression","endLine":17,"endColumn":70,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"mediawiki/class-doc","severity":1,"message":"All possible CSS classes should be documented. See https://w.wiki/PS2 for details.","line":19,"column":3,"nodeType":"CallExpression","endLine":19,"endColumn":74,"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"/**\n * Add classes to the undo button to 1. Display if the user is logged in and\n * 2. Change the styling of the undo link into a Codex fake button\n *\n * @param $undoButton\n */\nmodule.exports = function ( $undoButton ) {\n\tconst UNDO_LINK_FAKE_BUTTON_CLASS =\n\t\t'cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--action-default';\n\tconst isMinerva = mw.config.get( 'skin' ) === 'minerva';\n\tif ( isMinerva ) {\n\t\tif ( mw.user.isAnon() ) {\n\t\t\t$undoButton.hide();\n\t\t}\n\t\tconst $rollbackButton = $( '.mw-rollback-link' );\n\t\t// eslint-disable-next-line mediawiki/class-doc\n\t\t$undoButton.children( 'a' ).addClass( UNDO_LINK_FAKE_BUTTON_CLASS );\n\t\t// eslint-disable-next-line mediawiki/class-doc\n\t\t$rollbackButton.children( 'a' ).addClass( UNDO_LINK_FAKE_BUTTON_CLASS );\n\t}\n};\n","usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.editRecovery/.eslintrc.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.editRecovery/LoadNotification.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.editRecovery/edit.js","messages":[{"ruleId":"jsdoc/valid-types","severity":1,"message":"Syntax error in namepath: ~'editRecovery.loadEnd'","line":184,"column":1,"nodeType":"Block","endLine":184,"endColumn":1}],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"/**\n * In-progress edit recovery for action=edit\n *\n * @ignore\n */\nconst storage = require( './storage.js' );\nconst LoadNotification = require( './LoadNotification.js' );\n\nconst pageName = mw.config.get( 'wgPageName' );\nconst wiki = mw.config.get( 'wgDBname' );\nconst section = $( 'input[name=\"wpSection\"]' ).val() || null;\nconst inputFields = {};\nconst fieldNamePrefix = 'field_';\nlet originalData = {};\nlet changeDebounceTimer = null;\n\n// Number of miliseconds to debounce form input.\nconst debounceTime = 5000;\n\n// This module is loaded for every edit form, but not all should have Edit Recovery functioning.\nconst wasPosted = mw.config.get( 'wgEditRecoveryWasPosted' );\nconst isUndo = $( 'input[name=\"wpUndoAfter\"]' ).length > 0;\nconst isOldRevision = $( 'input[name=\"oldid\"]' ).val() > 0;\nconst isConflict = mw.config.get( 'wgEditMessage' ) === 'editconflict';\nconst useEditRecovery = !isUndo && !isOldRevision && !isConflict;\nif ( useEditRecovery ) {\n\tmw.hook( 'wikipage.editform' ).add( init );\n} else {\n\t// Always remove the data-saved flag when editing without Edit Recovery.\n\t// It may have been set by a previous editing session (within 5 minutes) that did use ER.\n\tmw.storage.session.remove( 'EditRecovery-data-saved' );\n}\n\nconst windowManager = OO.ui.getWindowManager();\nwindowManager.addWindows( [ new mw.widgets.AbandonEditDialog() ] );\n\n/**\n * Initialise when the wikipage.editform hook first fires\n *\n * @ignore\n * @param {jQuery} $editForm\n */\nfunction init( $editForm ) {\n\tmw.hook( 'wikipage.editform' ).remove( init );\n\n\t// Monitor all text-entry inputs for changes/typing.\n\tconst inputsToMonitorSelector = 'textarea, select, input:not([type=\"hidden\"], [type=\"submit\"])';\n\tconst $inputsToMonitor = $editForm.find( inputsToMonitorSelector );\n\t$inputsToMonitor.each( ( _i, field ) => {\n\t\tif ( field.classList.contains( 'oo-ui-inputWidget-input' ) ) {\n\t\t\ttry {\n\t\t\t\tinputFields[ field.name ] = OO.ui.infuse( field.closest( '.oo-ui-widget' ) );\n\t\t\t} catch ( e ) {\n\t\t\t\t// Ignore any non-infusable widget because we won't be able to set its value.\n\t\t\t}\n\t\t} else {\n\t\t\tinputFields[ field.name ] = field;\n\t\t}\n\t} );\n\t// Save the contents of all of those, as well as the following hidden inputs.\n\tconst inputsToSaveNames = [ 'wpSection', 'editRevId', 'oldid', 'parentRevId', 'format', 'model' ];\n\tconst $inputsToSave = $editForm.find( '[name=\"' + inputsToSaveNames.join( '\"], [name=\"' ) + '\"]' );\n\t$inputsToSave.each( ( _i, field ) => {\n\t\tinputFields[ field.name ] = field;\n\t} );\n\n\t// Store the original data for later comparing to the data-to-save. Use the defaultValue/defaultChecked in order to\n\t// avoid using any data remembered by the browser. Note that we have to be careful to store with the same types as\n\t// it will be done later, in order to correctly compare it (e.g. checkboxes as booleans).\n\tfor ( const fieldName in inputFields ) {\n\t\tconst field = inputFields[ fieldName ];\n\t\tif ( field.nodeName === 'INPUT' || field.nodeName === 'TEXTAREA' ) {\n\t\t\tif ( field.type === 'checkbox' ) {\n\t\t\t\t// Checkboxes (Minoredit and Watchthis are handled below as they are OOUI widgets).\n\t\t\t\toriginalData[ fieldNamePrefix + fieldName ] = field.defaultChecked;\n\t\t\t} else {\n\t\t\t\t// Other HTMLInputElements.\n\t\t\t\toriginalData[ fieldNamePrefix + fieldName ] = field.defaultValue;\n\t\t\t}\n\t\t} else if ( field.$input !== undefined ) {\n\t\t\t// OOUI widgets, which may not have been infused by this point.\n\t\t\tif ( field.$input[ 0 ].type === 'checkbox' ) {\n\t\t\t\t// Checkboxes.\n\t\t\t\toriginalData[ fieldNamePrefix + fieldName ] = field.$input[ 0 ].defaultChecked;\n\t\t\t} else {\n\t\t\t\t// Other OOUI widgets.\n\t\t\t\toriginalData[ fieldNamePrefix + fieldName ] = field.$input[ 0 ].defaultValue;\n\t\t\t}\n\t\t}\n\t}\n\n\t// Set a short-lived (5m / see postEdit.js) localStorage item to indicate which section is being edited.\n\tif ( section ) {\n\t\tmw.storage.session.set( pageName + '-editRecoverySection', section, 300 );\n\t}\n\t// Open indexedDB database and load any saved data that might be there.\n\tstorage.openDatabase().then( () => {\n\t\t// Check for and delete any expired data for any page, before loading any saved data for the current page.\n\t\tstorage.deleteExpiredData().then( () => {\n\t\t\tstorage.loadData( pageName, section ).then( loadDataSuccess );\n\t\t} );\n\t} );\n\n\t// Set up cancel handler to delete data.\n\tconst cancelButton = OO.ui.infuse( $editForm.find( '#mw-editform-cancel' )[ 0 ] );\n\tcancelButton.on( 'click', () => {\n\t\twindowManager.openWindow( 'abandonedit' ).closed.then( ( data ) => {\n\t\t\tif ( data && data.action === 'discard' ) {\n\t\t\t\t// Note that originalData is used below in loadDataSuccess() but that's always called before this method.\n\t\t\t\t// Here we set originalData to null in order to signal to saveFormData() to deleted the stored data.\n\t\t\t\toriginalData = null;\n\t\t\t\tstorage.deleteData( pageName, section ).finally( () => {\n\t\t\t\t\tmw.storage.session.remove( pageName + '-editRecoverySection' );\n\t\t\t\t\t// Release the beforeunload handler from mediawiki.action.edit.editWarning,\n\t\t\t\t\t// per the documentation there\n\t\t\t\t\t$( window ).off( 'beforeunload.editwarning' );\n\t\t\t\t\tlocation.href = cancelButton.getHref();\n\t\t\t\t} );\n\t\t\t}\n\t\t} );\n\t} );\n}\n\n/**\n * loadData promise resolved successfully\n *\n * @ignore\n * @param {Object|undefined} pageData Page data, undefined if none found\n */\nfunction loadDataSuccess( pageData ) {\n\tif ( wasPosted ) {\n\t\t// If this is a POST request, save the current data (e.g. from a preview).\n\t\tsaveFormData();\n\t}\n\t// If there is data stored, load it into the form.\n\tif ( !wasPosted && pageData !== undefined && !isSameAsOriginal( pageData, true ) ) {\n\t\tconst loadNotification = new LoadNotification( {\n\t\t\tdifferentRev: originalData.field_parentRevId !== pageData.field_parentRevId\n\t\t} );\n\n\t\t// statsv: Track the number of times the edit recovery notification is shown.\n\t\tmw.track( `counter.MediaWiki.edit_recovery.show.by_wiki.${ wiki }` );\n\t\tmw.track( 'stats.mediawiki_editrecovery_prompt_total', 1, { action: 'show', wiki } );\n\n\t\tconst notification = loadNotification.getNotification();\n\t\t// On 'restore changes'.\n\t\tloadNotification.getRecoverButton().on( 'click', () => {\n\t\t\trecover( pageData );\n\t\t\tnotification.close();\n\t\t\t// statsv: Track the number of times the edit recovery data is recovered.\n\t\t\tmw.track( `counter.MediaWiki.edit_recovery.recover.by_wiki.${ wiki }` );\n\t\t\tmw.track( 'stats.mediawiki_editrecovery_prompt_total', 1, { action: 'recover', wiki } );\n\t\t} );\n\t\t// On 'discard changes'.\n\t\tloadNotification.getDiscardButton().on( 'click', () => {\n\t\t\tstorage.deleteData( pageName, section ).then( () => {\n\t\t\t\tnotification.close();\n\t\t\t} );\n\t\t\t// statsv: Track the number of times the edit recovery data is discarded.\n\t\t\tmw.track( `counter.MediaWiki.edit_recovery.discard.by_wiki.${ wiki }` );\n\t\t\tmw.track( 'stats.mediawiki_editrecovery_prompt_total', 1, { action: 'discard', wiki } );\n\t\t} );\n\t}\n\n\t// Add change handlers.\n\tfor ( const fieldName in inputFields ) {\n\t\tconst field = inputFields[ fieldName ];\n\t\tif ( field.nodeName !== undefined && field.nodeName === 'TEXTAREA' ) {\n\t\t\tfield.addEventListener( 'input', fieldChangeHandler );\n\t\t} else if ( field instanceof OO.ui.Widget ) {\n\t\t\tfield.on( 'change', fieldChangeHandler );\n\t\t} else {\n\t\t\tfield.addEventListener( 'change', fieldChangeHandler );\n\t\t}\n\t}\n\t// Also add handlers for when the window is closed or hidden. Saving the data at these points is not guaranteed to\n\t// work, but it often does and the save operation is atomic so there's no harm in trying.\n\twindow.addEventListener( 'beforeunload', saveFormData );\n\twindow.addEventListener( 'blur', saveFormData );\n\n\t/**\n\t * Fired after EditRecovery has loaded any recovery data, added event handlers, etc.\n\t *\n\t * @event ~'editRecovery.loadEnd'\n\t * @memberof Hooks\n\t * @param {Object} editRecovery\n\t * @param {Function} editRecovery.fieldChangeHandler\n\t */\n\tmw.hook( 'editRecovery.loadEnd' ).fire( { fieldChangeHandler: fieldChangeHandler } );\n}\n\n/**\n * Recover specified page data\n *\n * @ignore\n * @param {Object} pageData Page data\n */\nfunction recover( pageData ) {\n\tfor ( const fieldName in inputFields ) {\n\t\tif ( pageData[ fieldNamePrefix + fieldName ] === undefined ) {\n\t\t\tcontinue;\n\t\t}\n\t\tconst field = inputFields[ fieldName ];\n\t\tconst $field = $( field );\n\t\t// Set the field value depending on what type of field it is.\n\t\tif ( field instanceof OO.ui.CheckboxInputWidget ) {\n\t\t\t// OOUI checkbox widgets.\n\t\t\tfield.setSelected( pageData[ fieldNamePrefix + fieldName ] );\n\t\t} else if ( field instanceof OO.ui.Widget ) {\n\t\t\t// Other OOUI widgets.\n\t\t\tfield.setValue( pageData[ fieldNamePrefix + fieldName ], field );\n\t\t} else if ( field.nodeName === 'TEXTAREA' ) {\n\t\t\t// Textareas (also reset caret location to top).\n\t\t\t$field.textSelection( 'setContents', pageData[ fieldNamePrefix + fieldName ] );\n\t\t\t$field.textSelection( 'setSelection', { start: 0 } );\n\t\t} else {\n\t\t\t// Anything else.\n\t\t\tfield.value = pageData[ fieldNamePrefix + fieldName ];\n\t\t}\n\t}\n}\n\n/**\n * Handle an edit form field changing\n *\n * @ignore\n */\nfunction fieldChangeHandler() {\n\tclearTimeout( changeDebounceTimer );\n\tchangeDebounceTimer = setTimeout( saveFormData, debounceTime );\n}\n\n/**\n * Compare a set of form field values to their original values (as at page load time).\n *\n * @ignore\n * @param {Object} pageData The page data to compare to the original.\n * @param {boolean} [ignoreRevIds=false] Do not use parent revision info when determining similarity.\n * @return {boolean}\n */\nfunction isSameAsOriginal( pageData, ignoreRevIds = false ) {\n\tfor ( const fieldName in inputFields ) {\n\t\tif ( ignoreRevIds && ( fieldName === 'editRevId' || fieldName === 'parentRevId' ) ) {\n\t\t\tcontinue;\n\t\t}\n\t\t// Trim trailing whitespace from string fields, to approximate what PHP does when saving.\n\t\tlet currentVal = pageData[ fieldNamePrefix + fieldName ];\n\t\tif ( typeof currentVal === 'string' ) {\n\t\t\tcurrentVal = currentVal.replace( /\\s+$/, '' );\n\t\t}\n\t\tlet originalVal = originalData[ fieldNamePrefix + fieldName ];\n\t\tif ( typeof originalVal === 'string' ) {\n\t\t\toriginalVal = originalVal.replace( /\\s+$/, '' );\n\t\t}\n\t\tif ( currentVal !== originalVal ) {\n\t\t\treturn false;\n\t\t}\n\t}\n\treturn true;\n}\n\n/**\n * Save the current edit form state in the storage backend\n *\n * @ignore\n */\nfunction saveFormData() {\n\tconst pageData = getFormData();\n\tif ( ( originalData === null || isSameAsOriginal( pageData ) ) && !wasPosted ) {\n\t\t// Delete the stored data if there's no change,\n\t\t// or if we've flagged originalData as irrelevant,\n\t\t// or if we can't determine this because this page was POSTed.\n\t\tstorage.deleteData( pageName, section );\n\t\tmw.storage.session.remove( 'EditRecovery-data-saved' );\n\t} else {\n\t\tstorage.saveData( pageName, section, pageData );\n\t\t// Flag the data for deletion in the postEdit handler in ./postEdit.js\n\t\tmw.storage.session.set( 'EditRecovery-data-saved', true, 300 );\n\t}\n}\n\n/**\n * Get the current form data.\n *\n * @ignore\n * @return {Object}\n */\nfunction getFormData() {\n\tconst formData = {};\n\tfor ( const fieldName in inputFields ) {\n\t\tconst field = inputFields[ fieldName ];\n\t\tlet newValue = null;\n\t\tif ( !( field instanceof OO.ui.Widget ) && field.nodeName !== undefined && field.nodeName === 'TEXTAREA' ) {\n\t\t\t// Text areas.\n\t\t\tnewValue = $( field ).textSelection( 'getContents' );\n\t\t} else if ( field instanceof OO.ui.CheckboxInputWidget ) {\n\t\t\t// OOUI checkbox widgets.\n\t\t\tnewValue = field.isSelected();\n\t\t} else if ( field instanceof OO.ui.Widget ) {\n\t\t\t// Other OOUI widgets.\n\t\t\tnewValue = field.getValue();\n\t\t} else {\n\t\t\t// Anything else.\n\t\t\tnewValue = field.value;\n\t\t}\n\t\tformData[ fieldNamePrefix + fieldName ] = newValue;\n\t}\n\treturn formData;\n}\n","usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.editRecovery/postEdit.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.editRecovery/storage.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.experiments.js","messages":[],"suppressedMessages":[{"ruleId":"no-bitwise","severity":2,"message":"Unexpected use of '<<'.","line":31,"column":14,"nodeType":"BinaryExpression","messageId":"unexpected","endLine":31,"endColumn":24,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-bitwise","severity":2,"message":"Unexpected use of '^='.","line":32,"column":4,"nodeType":"AssignmentExpression","messageId":"unexpected","endLine":32,"endColumn":25,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-bitwise","severity":2,"message":"Unexpected use of '>>'.","line":32,"column":14,"nodeType":"BinaryExpression","messageId":"unexpected","endLine":32,"endColumn":23,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-bitwise","severity":2,"message":"Unexpected use of '<<'.","line":34,"column":13,"nodeType":"BinaryExpression","messageId":"unexpected","endLine":34,"endColumn":22,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-bitwise","severity":2,"message":"Unexpected use of '^='.","line":35,"column":3,"nodeType":"AssignmentExpression","messageId":"unexpected","endLine":35,"endColumn":25,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-bitwise","severity":2,"message":"Unexpected use of '>>'.","line":35,"column":13,"nodeType":"BinaryExpression","messageId":"unexpected","endLine":35,"endColumn":23,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-bitwise","severity":2,"message":"Unexpected use of '<<'.","line":36,"column":13,"nodeType":"BinaryExpression","messageId":"unexpected","endLine":36,"endColumn":23,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-bitwise","severity":2,"message":"Unexpected use of '>>>'.","line":38,"column":10,"nodeType":"BinaryExpression","messageId":"unexpected","endLine":38,"endColumn":20,"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.feedback/.eslintrc.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.feedback/FeedbackDialog.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.feedback/feedback.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.filewarning/filewarning.js","messages":[],"suppressedMessages":[{"ruleId":"mediawiki/msg-doc","severity":1,"message":"All possible message keys should be documented. See https://w.wiki/4r9a for details.","line":42,"column":12,"nodeType":"CallExpression","endLine":42,"endColumn":29,"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.htmlform.ooui/Element.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.htmlform/.eslintrc.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.htmlform/autocomplete.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.htmlform/autoinfuse.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.htmlform/cloner.js","messages":[],"suppressedMessages":[{"ruleId":"no-jquery/no-class-state","severity":2,"message":"Where possible, maintain application state in JS to avoid slower DOM queries","line":42,"column":8,"nodeType":"CallExpression","endLine":42,"endColumn":43,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-sizzle","severity":2,"message":"Selector extensions are not allowed","line":51,"column":4,"nodeType":"CallExpression","endLine":51,"endColumn":31,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-class-state","severity":2,"message":"Where possible, maintain application state in JS to avoid slower DOM queries","line":62,"column":8,"nodeType":"CallExpression","endLine":62,"endColumn":43,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-sizzle","severity":2,"message":"Selector extensions are not allowed","line":71,"column":4,"nodeType":"CallExpression","endLine":71,"endColumn":31,"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.htmlform/cond-state.js","messages":[{"ruleId":"jsdoc/require-returns-check","severity":1,"message":"Found more than one @return declaration.","line":48,"column":1,"nodeType":"Block","endLine":59,"endColumn":4}],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"/*\n * HTMLForm enhancements:\n * Set up 'hide-if' and 'disable-if' behaviors for form fields that have them.\n */\n\n/**\n * Helper function for conditional states to find the nearby form field.\n *\n * Find the closest match for the given name, \"closest\" being the minimum\n * level of parents to go to find a form field matching the given name or\n * ending in array keys matching the given name (e.g. \"baz\" matches\n * \"foo[bar][baz]\").\n *\n * @ignore\n * @private\n * @param {jQuery} $root\n * @param {string} name\n * @return {jQuery|null}\n */\nfunction conditionGetField( $root, name ) {\n\tconst nameFilter = function () {\n\t\treturn this.name === name || this.name === name + '[]';\n\t};\n\tlet $found = $root.find( '[name]' ).filter( nameFilter );\n\tif ( !$found.length ) {\n\t\t// Field cloner can load from template dynamically and fire event on sub element\n\t\t$found = $root.closest( 'form' ).find( '[name]' ).filter( nameFilter );\n\t}\n\treturn $found.length ? $found : null;\n}\n\n/**\n * Helper function to get the OOUI widget containing the given field, if any.\n *\n * @ignore\n * @private\n * @param {jQuery} $field\n * @return {OO.ui.Widget|null}\n */\nfunction getWidget( $field ) {\n\tconst $widget = $field.closest( '.oo-ui-widget[data-ooui]' );\n\tif ( $widget.length ) {\n\t\treturn OO.ui.Widget.static.infuse( $widget );\n\t}\n\treturn null;\n}\n\n/**\n * Helper function for conditional states to return a test function and list of\n * dependent fields for a conditional states specification.\n *\n * @ignore\n * @private\n * @param {jQuery} $root\n * @param {Array} spec\n * @return {Array}\n * @return {Array} return.0 Dependent fields, array of jQuery objects\n * @return {Function} return.1 Test function\n */\nfunction conditionParse( $root, spec ) {\n\tlet v, fields, func;\n\n\tconst op = spec[ 0 ];\n\tlet l = spec.length;\n\tswitch ( op ) {\n\t\tcase 'AND':\n\t\tcase 'OR':\n\t\tcase 'NAND':\n\t\tcase 'NOR': {\n\t\t\tconst funcs = [];\n\t\t\tfields = [];\n\t\t\tfor ( let i = 1; i < l; i++ ) {\n\t\t\t\tif ( !Array.isArray( spec[ i ] ) ) {\n\t\t\t\t\tthrow new Error( op + ' parameters must be arrays' );\n\t\t\t\t}\n\t\t\t\tv = conditionParse( $root, spec[ i ] );\n\t\t\t\tfields = fields.concat( v[ 0 ] );\n\t\t\t\tfuncs.push( v[ 1 ] );\n\t\t\t}\n\n\t\t\tl = funcs.length;\n\t\t\tconst valueChk = { AND: false, OR: true, NAND: false, NOR: true };\n\t\t\tconst valueRet = { AND: true, OR: false, NAND: false, NOR: true };\n\t\t\tfunc = function () {\n\t\t\t\tfor ( let j = 0; j < l; j++ ) {\n\t\t\t\t\tif ( valueChk[ op ] === funcs[ j ]() ) {\n\t\t\t\t\t\treturn !valueRet[ op ];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn valueRet[ op ];\n\t\t\t};\n\n\t\t\treturn [ fields, func ];\n\t\t}\n\n\t\tcase 'NOT':\n\t\t\tif ( l !== 2 ) {\n\t\t\t\tthrow new Error( 'NOT takes exactly one parameter' );\n\t\t\t}\n\t\t\tif ( !Array.isArray( spec[ 1 ] ) ) {\n\t\t\t\tthrow new Error( 'NOT parameters must be arrays' );\n\t\t\t}\n\t\t\tv = conditionParse( $root, spec[ 1 ] );\n\t\t\tfields = v[ 0 ];\n\t\t\tfunc = v[ 1 ];\n\t\t\treturn [ fields, function () {\n\t\t\t\treturn !func();\n\t\t\t} ];\n\n\t\tcase '===':\n\t\tcase '!==':\n\t\tcase 'CONTAINS': {\n\t\t\tif ( l !== 3 ) {\n\t\t\t\tthrow new Error( op + ' takes exactly two parameters' );\n\t\t\t}\n\t\t\tconst $field = conditionGetField( $root, spec[ 1 ] );\n\t\t\tif ( !$field ) {\n\t\t\t\treturn [ [], function () {\n\t\t\t\t\treturn false;\n\t\t\t\t} ];\n\t\t\t}\n\t\t\tv = spec[ 2 ];\n\n\t\t\tlet widget;\n\t\t\tconst getVal = function () {\n\t\t\t\t// When the value is requested for the first time,\n\t\t\t\t// determine if we need to treat this field as a OOUI widget.\n\t\t\t\tif ( widget === undefined ) {\n\t\t\t\t\twidget = getWidget( $field );\n\t\t\t\t}\n\n\t\t\t\tif ( widget ) {\n\t\t\t\t\tif ( widget.supports( 'isSelected' ) ) {\n\t\t\t\t\t\tconst selected = widget.isSelected();\n\t\t\t\t\t\treturn selected ? widget.getValue() : '';\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn widget.getValue();\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tif ( $field.prop( 'type' ) === 'radio' || $field.prop( 'type' ) === 'checkbox' ) {\n\t\t\t\t\t\tconst $selected = $field.filter( ':checked' );\n\t\t\t\t\t\treturn $selected.length ? $selected.val() : '';\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn $field.val();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tswitch ( op ) {\n\t\t\t\tcase '===':\n\t\t\t\t\tfunc = function () {\n\t\t\t\t\t\treturn getVal() === v;\n\t\t\t\t\t};\n\t\t\t\t\tbreak;\n\t\t\t\tcase '!==':\n\t\t\t\t\tfunc = function () {\n\t\t\t\t\t\treturn getVal() !== v;\n\t\t\t\t\t};\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'CONTAINS':\n\t\t\t\t\tfunc = function () {\n\t\t\t\t\t\treturn getVal().includes( v );\n\t\t\t\t\t};\n\t\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\treturn [ [ $field ], func ];\n\t\t}\n\n\t\tdefault:\n\t\t\tthrow new Error( 'Unrecognized operation \\'' + op + '\\'' );\n\t}\n}\n\n/**\n * Helper function to get the list of ResourceLoader modules needed to infuse the OOUI widgets\n * containing the given fields.\n *\n * @ignore\n * @private\n * @param {jQuery} $fields\n * @return {string[]}\n */\nfunction gatherOOUIModules( $fields ) {\n\tconst $oouiFields = $fields.filter( '[data-ooui]' );\n\tconst modules = [];\n\n\tif ( $oouiFields.length ) {\n\t\tmodules.push( 'mediawiki.htmlform.ooui' );\n\t\t$oouiFields.each( function () {\n\t\t\tconst data = $( this ).data( 'mw-modules' );\n\t\t\tif ( data ) {\n\t\t\t\t// We can trust this value, 'data-mw-*' attributes are banned from user content in Sanitizer\n\t\t\t\tconst extraModules = data.split( ',' );\n\t\t\t\tmodules.push( ...extraModules );\n\t\t\t}\n\t\t} );\n\t}\n\n\treturn modules;\n}\n\nmw.hook( 'htmlform.enhance' ).add( ( $root ) => {\n\tconst $exclude = $root.find( '.mw-htmlform-autoinfuse-lazy' )\n\t\t.find( '.mw-htmlform-hide-if, .mw-htmlform-disable-if' );\n\tconst $fields = $root.find( '.mw-htmlform-hide-if, .mw-htmlform-disable-if' ).not( $exclude );\n\n\t// Load modules for the fields we will hide/disable\n\tmw.loader.using( gatherOOUIModules( $fields ) ).done( () => {\n\t\t$fields.each( function () {\n\t\t\tconst $el = $( this );\n\n\t\t\tlet spec, $elOrLayout, $form;\n\t\t\tif ( $el.is( '[data-ooui]' ) ) {\n\t\t\t\t// $elOrLayout should be a FieldLayout that mixes in mw.htmlform.Element\n\t\t\t\t$elOrLayout = OO.ui.FieldLayout.static.infuse( $el );\n\t\t\t\t$form = $elOrLayout.$element.closest( 'form' );\n\t\t\t\tspec = $elOrLayout.condState;\n\t\t\t} else {\n\t\t\t\t$elOrLayout = $el;\n\t\t\t\t$form = $el.closest( 'form' );\n\t\t\t\tspec = $el.data( 'condState' );\n\t\t\t}\n\n\t\t\tif ( !spec ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tlet fields = [];\n\t\t\tconst test = {};\n\t\t\t[ 'hide', 'disable' ].forEach( ( type ) => {\n\t\t\t\tif ( spec[ type ] ) {\n\t\t\t\t\tconst v = conditionParse( $form, spec[ type ] );\n\t\t\t\t\tfields = fields.concat( fields, v[ 0 ] );\n\t\t\t\t\ttest[ type ] = v[ 1 ];\n\t\t\t\t}\n\t\t\t} );\n\t\t\tconst func = function () {\n\t\t\t\tconst shouldHide = spec.hide ? test.hide() : false;\n\t\t\t\tconst shouldDisable = shouldHide || ( spec.disable ? test.disable() : false );\n\t\t\t\tif ( spec.hide ) {\n\t\t\t\t\t// Remove server-side CSS class that hides the elements, and re-compute the state\n\t\t\t\t\tif ( $elOrLayout instanceof $ ) {\n\t\t\t\t\t\t$elOrLayout.removeClass( 'mw-htmlform-hide-if-hidden' );\n\t\t\t\t\t} else {\n\t\t\t\t\t\t$elOrLayout.$element.removeClass( 'mw-htmlform-hide-if-hidden' );\n\t\t\t\t\t}\n\t\t\t\t\t// The .toggle() method works mostly the same for jQuery objects and OO.ui.Widget\n\t\t\t\t\t$elOrLayout.toggle( !shouldHide );\n\t\t\t\t}\n\n\t\t\t\t// Disable fields with either 'disable-if' or 'hide-if' rules\n\t\t\t\t// Hidden fields should be disabled to avoid users meet validation failure on these fields,\n\t\t\t\t// because disabled fields will not be submitted with the form.\n\t\t\t\tif ( $elOrLayout instanceof $ ) {\n\t\t\t\t\t// This also finds elements inside any nested fields (in case of HTMLFormFieldCloner),\n\t\t\t\t\t// which is problematic. But it works because:\n\t\t\t\t\t// * HTMLFormFieldCloner::createFieldsForKey() copies '*-if' rules to nested fields\n\t\t\t\t\t// * jQuery collections like $fields are in document order, so we register event\n\t\t\t\t\t// handlers for parents first\n\t\t\t\t\t// * Event handlers are fired in the order they were registered, so even if the handler\n\t\t\t\t\t// for parent messed up the child, the handle for child will run next and fix it\n\t\t\t\t\t$elOrLayout.find( 'input, textarea, select' ).each( function () {\n\t\t\t\t\t\tconst $this = $( this );\n\t\t\t\t\t\tif ( shouldDisable ) {\n\t\t\t\t\t\t\tif ( $this.data( 'was-disabled' ) === undefined ) {\n\t\t\t\t\t\t\t\t$this.data( 'was-disabled', $this.prop( 'disabled' ) );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t$this.prop( 'disabled', true );\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t$this.prop( 'disabled', $this.data( 'was-disabled' ) );\n\t\t\t\t\t\t}\n\t\t\t\t\t} );\n\t\t\t\t} else {\n\t\t\t\t\t// $elOrLayout is a OO.ui.FieldLayout\n\t\t\t\t\tif ( shouldDisable ) {\n\t\t\t\t\t\tif ( $elOrLayout.wasDisabled === undefined ) {\n\t\t\t\t\t\t\t$elOrLayout.wasDisabled = $elOrLayout.fieldWidget.isDisabled();\n\t\t\t\t\t\t}\n\t\t\t\t\t\t$elOrLayout.fieldWidget.setDisabled( true );\n\t\t\t\t\t} else if ( $elOrLayout.wasDisabled !== undefined ) {\n\t\t\t\t\t\t$elOrLayout.fieldWidget.setDisabled( $elOrLayout.wasDisabled );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tconst oouiNodes = fields.map(\n\t\t\t\t// We expect undefined for non-OOUI nodes (T308626)\n\t\t\t\t( $node ) => $node.closest( '.oo-ui-fieldLayout[data-ooui]' )[ 0 ]\n\t\t\t).filter(\n\t\t\t\t// Remove undefined\n\t\t\t\t( node ) => !!node\n\t\t\t);\n\n\t\t\t// Load modules for the fields whose state we will check\n\t\t\tmw.loader.using( gatherOOUIModules( $( oouiNodes ) ) ).done( () => {\n\t\t\t\tfor ( let i = 0; i < fields.length; i++ ) {\n\t\t\t\t\tconst widget = getWidget( fields[ i ] );\n\t\t\t\t\tif ( widget ) {\n\t\t\t\t\t\tfields[ i ] = widget;\n\t\t\t\t\t}\n\t\t\t\t\t// The .on() method works mostly the same for jQuery objects and OO.ui.Widget\n\t\t\t\t\tfields[ i ].on( 'change', func );\n\t\t\t\t}\n\t\t\t\tfunc();\n\t\t\t} );\n\t\t} );\n\t} );\n} );\n","usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.htmlform/htmlform.js","messages":[{"ruleId":"jsdoc/valid-types","severity":1,"message":"Syntax error in namepath: ~'htmlform.enhance'","line":5,"column":1,"nodeType":"Block","endLine":5,"endColumn":1}],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"$( () => {\n\t/**\n\t * Fired on page load to enhance any HTML forms on the page.\n\t *\n\t * @event ~'htmlform.enhance'\n\t * @param {jQuery} document\n\t * @memberof Hooks\n\t */\n\tmw.hook( 'htmlform.enhance' ).fire( $( document ) );\n} );\n\nmw.hook( 'htmlform.enhance' ).add( ( $root ) => {\n\t// Turn HTML5 form validation back on, in cases where it was disabled server-side (see\n\t// HTMLForm::needsJSForHtml5FormValidation()) because we need extra logic implemented in JS to\n\t// validate correctly. Currently, this is only used for forms containing fields with 'hide-if'.\n\t$root.find( '.mw-htmlform' ).removeAttr( 'novalidate' );\n\n\t// Enable collapsible forms\n\tconst $collapsible = $root.find( '.mw-htmlform-ooui .oo-ui-fieldsetLayout.mw-collapsible' );\n\tif ( $collapsible.length ) {\n\t\tmw.loader.using( 'jquery.makeCollapsible' ).then( () => {\n\t\t\t$collapsible.makeCollapsible();\n\t\t} );\n\t}\n} );\n\n// Collect other hook handlers\nrequire( './autocomplete.js' );\nrequire( './autoinfuse.js' );\nrequire( './cloner.js' );\nrequire( './cond-state.js' );\nrequire( './selectandother.js' );\nrequire( './selectorother.js' );\nrequire( './timezone.js' );\n","usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.htmlform/selectandother.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.htmlform/selectorother.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.htmlform/timezone.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.inspect.js","messages":[{"ruleId":"jsdoc/require-returns","severity":1,"message":"Found more than one @return declaration.","line":112,"column":2,"nodeType":"Block","endLine":123,"endColumn":5},{"ruleId":"jsdoc/require-returns-check","severity":1,"message":"Found more than one @return declaration.","line":112,"column":2,"nodeType":"Block","endLine":123,"endColumn":5},{"ruleId":"mediawiki/no-storage","severity":1,"message":"Avoid direct access to localStorage. Use mw.storage instead.","line":309,"column":18,"nodeType":"Identifier","messageId":"noStorage","endLine":309,"endColumn":30}],"suppressedMessages":[{"ruleId":"no-console","severity":2,"message":"Unexpected console statement.","line":167,"column":22,"nodeType":"MemberExpression","messageId":"unexpected","endLine":167,"endColumn":35,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-console","severity":2,"message":"Unexpected console statement.","line":184,"column":9,"nodeType":"MemberExpression","messageId":"unexpected","endLine":184,"endColumn":22,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-console","severity":2,"message":"Unexpected console statement.","line":185,"column":5,"nodeType":"MemberExpression","messageId":"unexpected","endLine":185,"endColumn":18,"suggestions":[{"messageId":"removeConsole","data":{"propertyName":"group"},"fix":{"range":[5581,5631],"text":""},"desc":"Remove the console.group()."}],"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-console","severity":2,"message":"Unexpected console statement.","line":187,"column":5,"nodeType":"MemberExpression","messageId":"unexpected","endLine":187,"endColumn":16,"suggestions":[{"messageId":"removeConsole","data":{"propertyName":"log"},"fix":{"range":[5648,5696],"text":""},"desc":"Remove the console.log()."}],"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-console","severity":2,"message":"Unexpected console statement.","line":190,"column":9,"nodeType":"MemberExpression","messageId":"unexpected","endLine":190,"endColumn":22,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-console","severity":2,"message":"Unexpected console statement.","line":191,"column":5,"nodeType":"MemberExpression","messageId":"unexpected","endLine":191,"endColumn":21,"suggestions":[{"messageId":"removeConsole","data":{"propertyName":"groupEnd"},"fix":{"range":[5783,5836],"text":""},"desc":"Remove the console.groupEnd()."}],"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":3,"fixableErrorCount":0,"fixableWarningCount":0,"source":"/*!\n * The mediawiki.inspect module.\n *\n * @author Ori Livneh\n * @since 1.22\n */\n\n/* eslint-disable no-console */\n\n( function () {\n\n\t// mw.inspect is a singleton class with static methods\n\t// that itself can also be invoked as a function (mediawiki.base/mw#inspect).\n\t// In JavaScript, that is implemented by starting with a function,\n\t// and subsequently setting additional properties on the function object.\n\n\t/**\n\t * @classdesc Tools for inspecting page composition and performance.\n\t *\n\t * @class mediawiki.inspect\n\t * @hideconstructor\n\t */\n\n\tconst inspect = mw.inspect,\n\t\tbyteLength = require( 'mediawiki.String' ).byteLength,\n\t\thasOwn = Object.prototype.hasOwnProperty;\n\n\tfunction sortByProperty( array, prop, descending ) {\n\t\tconst order = descending ? -1 : 1;\n\t\treturn array.sort( ( a, b ) => {\n\t\t\tif ( a[ prop ] === undefined || b[ prop ] === undefined ) {\n\t\t\t\t// Sort undefined to the end, regardless of direction\n\t\t\t\treturn a[ prop ] !== undefined ? -1 : b[ prop ] !== undefined ? 1 : 0;\n\t\t\t}\n\t\t\treturn a[ prop ] > b[ prop ] ? order : a[ prop ] < b[ prop ] ? -order : 0;\n\t\t} );\n\t}\n\n\tfunction humanSize( bytesInput ) {\n\t\tlet bytes = +bytesInput;\n\t\tconst units = [ '', ' KiB', ' MiB', ' GiB', ' TiB', ' PiB' ];\n\n\t\tif ( bytes === 0 || isNaN( bytes ) ) {\n\t\t\treturn bytesInput;\n\t\t}\n\n\t\tlet i;\n\t\tfor ( i = 0; bytes >= 1024; bytes /= 1024 ) {\n\t\t\ti++;\n\t\t}\n\t\t// Maintain one decimal for KiB and above, but don't\n\t\t// add \".0\" for bytes.\n\t\treturn bytes.toFixed( i > 0 ? 1 : 0 ) + units[ i ];\n\t}\n\n\t/**\n\t * Return a map of all dependency relationships between loaded modules.\n\t *\n\t * @return {Object} Maps module names to objects. Each sub-object has\n\t * two properties, 'requires' and 'requiredBy'.\n\t * @memberof mediawiki.inspect\n\t * @method mediawiki.inspect.getDependencyGraph\n\t */\n\tinspect.getDependencyGraph = function () {\n\t\tconst modules = inspect.getLoadedModules(),\n\t\t\tgraph = {};\n\n\t\tmodules.forEach( ( moduleName ) => {\n\t\t\tconst dependencies = mw.loader.moduleRegistry[ moduleName ].dependencies || [];\n\n\t\t\tif ( !hasOwn.call( graph, moduleName ) ) {\n\t\t\t\tgraph[ moduleName ] = { requiredBy: [] };\n\t\t\t}\n\t\t\tgraph[ moduleName ].requires = dependencies;\n\n\t\t\tdependencies.forEach( ( depName ) => {\n\t\t\t\tif ( !hasOwn.call( graph, depName ) ) {\n\t\t\t\t\tgraph[ depName ] = { requiredBy: [] };\n\t\t\t\t}\n\t\t\t\tgraph[ depName ].requiredBy.push( moduleName );\n\t\t\t} );\n\t\t} );\n\t\treturn graph;\n\t};\n\n\t/**\n\t * Calculate the byte size of a ResourceLoader module.\n\t *\n\t * @param {string} moduleName The name of the module\n\t * @return {number|null} Module size in bytes or null\n\t * @memberof mediawiki.inspect\n\t * @method mediawiki.inspect.getModuleSize\n\t */\n\tinspect.getModuleSize = function ( moduleName ) {\n\t\t// We typically receive them from the server through batches from load.php,\n\t\t// or embedded as inline scripts (handled in PHP by ResourceLoader::makeModuleResponse\n\t\t// and ResourceLoader\\ClientHtml respectively).\n\t\t//\n\t\t// The module declarator function is stored by mw.loader.implement(), allowing easy\n\t\t// computation of the exact size.\n\t\tconst module = mw.loader.moduleRegistry[ moduleName ];\n\n\t\tif ( module.state !== 'ready' ) {\n\t\t\treturn null;\n\t\t}\n\t\tif ( !module.declarator ) {\n\t\t\treturn 0;\n\t\t}\n\t\treturn byteLength( module.declarator.toString() );\n\t};\n\n\t/**\n\t * Given CSS source, count both the total number of selectors it\n\t * contains and the number which match some element in the current\n\t * document.\n\t *\n\t * @param {string} css CSS source\n\t * @return {Object} Selector counts\n\t * @return {number} return.selectors Total number of selectors\n\t * @return {number} return.matched Number of matched selectors\n\t * @memberof mediawiki.inspect\n\t * @method mediawiki.inspect.auditSelectors\n\t */\n\tinspect.auditSelectors = function ( css ) {\n\t\tconst selectors = { total: 0, matched: 0 },\n\t\t\tstyle = document.createElement( 'style' );\n\n\t\tstyle.textContent = css;\n\t\tdocument.body.appendChild( style );\n\t\tconst cssRules = style.sheet.cssRules;\n\t\tfor ( const index in cssRules ) {\n\t\t\tconst rule = cssRules[ index ];\n\t\t\tselectors.total++;\n\t\t\t// document.querySelector() on prefixed pseudo-elements can throw exceptions\n\t\t\t// in Firefox and Safari. Ignore these exceptions.\n\t\t\t// https://bugs.webkit.org/show_bug.cgi?id=149160\n\t\t\t// https://bugzilla.mozilla.org/show_bug.cgi?id=1204880\n\t\t\ttry {\n\t\t\t\tif ( document.querySelector( rule.selectorText ) !== null ) {\n\t\t\t\t\tselectors.matched++;\n\t\t\t\t}\n\t\t\t} catch ( e ) {}\n\t\t}\n\t\tdocument.body.removeChild( style );\n\t\treturn selectors;\n\t};\n\n\t/**\n\t * Get a list of all loaded ResourceLoader modules.\n\t *\n\t * @return {Array} List of module names\n\t * @memberof mediawiki.inspect\n\t * @method mediawiki.inspect.getLoadedModules\n\t */\n\tinspect.getLoadedModules = function () {\n\t\treturn mw.loader.getModuleNames().filter( ( module ) => mw.loader.getState( module ) === 'ready' );\n\t};\n\n\t/**\n\t * Print tabular data to the console using console.table.\n\t *\n\t * @param {Array} data Tabular data represented as an array of objects\n\t * with common properties.\n\t * @memberof mediawiki.inspect\n\t * @method mediawiki.inspect.dumpTable\n\t */\n\tinspect.dumpTable = console.table;\n\n\t/**\n\t * Generate and print reports.\n\t *\n\t * When invoked without arguments, prints all available reports.\n\t *\n\t * @param {...string} [reports] One or more of \"size\", \"css\", \"store\", or \"time\".\n\t * @memberof mediawiki.inspect\n\t * @method mediawiki.inspect.runReports\n\t */\n\tinspect.runReports = function () {\n\t\tconst reports = arguments.length > 0 ?\n\t\t\tArray.prototype.slice.call( arguments ) :\n\t\t\tObject.keys( inspect.reports );\n\n\t\treports.forEach( ( name ) => {\n\t\t\tif ( console.group ) {\n\t\t\t\tconsole.group( 'mw.inspect ' + name + ' report' );\n\t\t\t} else {\n\t\t\t\tconsole.log( 'mw.inspect ' + name + ' report' );\n\t\t\t}\n\t\t\tinspect.dumpTable( inspect.reports[ name ]() );\n\t\t\tif ( console.group ) {\n\t\t\t\tconsole.groupEnd( 'mw.inspect ' + name + ' report' );\n\t\t\t}\n\t\t} );\n\t};\n\n\t/**\n\t * Perform a string search across the JavaScript and CSS source code\n\t * of all loaded modules and return an array of the names of the\n\t * modules that matched.\n\t *\n\t * @param {string|RegExp} pattern String or regexp to match.\n\t * @return {Array} Array of the names of modules that matched.\n\t * @memberof mediawiki.inspect\n\t * @method mediawiki.inspect.grep\n\t */\n\tinspect.grep = function ( pattern ) {\n\t\tif ( typeof pattern.test !== 'function' ) {\n\n\t\t\tpattern = new RegExp( mw.util.escapeRegExp( pattern ), 'g' );\n\t\t}\n\n\t\treturn inspect.getLoadedModules().filter( ( moduleName ) => {\n\t\t\tconst module = mw.loader.moduleRegistry[ moduleName ];\n\n\t\t\t// Grep module's JavaScript\n\t\t\tif ( typeof module.script === 'function' && pattern.test( module.script.toString() ) ) {\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\t// Grep module's CSS\n\t\t\tif (\n\t\t\t\t$.isPlainObject( module.style ) && Array.isArray( module.style.css ) &&\n\t\t\t\tpattern.test( module.style.css.join( '' ) )\n\t\t\t) {\n\t\t\t\t// Module's CSS source matches\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\treturn false;\n\t\t} );\n\t};\n\n\t/**\n\t * @private\n\t * @class mw.inspect.reports\n\t * @singleton\n\t */\n\tinspect.reports = {\n\t\t/**\n\t\t * Generate a breakdown of all loaded modules and their size in\n\t\t * kibibytes. Modules are ordered from largest to smallest.\n\t\t *\n\t\t * @return {Object[]} Size reports\n\t\t */\n\t\tsize: function () {\n\t\t\t// Map each module to a descriptor object.\n\t\t\tconst modules = inspect.getLoadedModules().map( ( module ) => ( {\n\t\t\t\tname: module,\n\t\t\t\tsize: inspect.getModuleSize( module )\n\t\t\t} ) );\n\n\t\t\t// Sort module descriptors by size, largest first.\n\t\t\tsortByProperty( modules, 'size', true );\n\n\t\t\t// Convert size to human-readable string.\n\t\t\tmodules.forEach( ( module ) => {\n\t\t\t\tmodule.sizeInBytes = module.size;\n\t\t\t\tmodule.size = humanSize( module.size );\n\t\t\t} );\n\n\t\t\treturn modules;\n\t\t},\n\n\t\t/**\n\t\t * For each module with styles, count the number of selectors, and\n\t\t * count how many match against some element currently in the DOM.\n\t\t *\n\t\t * @return {Object[]} CSS reports\n\t\t */\n\t\tcss: function () {\n\t\t\tconst modules = [];\n\n\t\t\tinspect.getLoadedModules().forEach( ( name ) => {\n\t\t\t\tconst module = mw.loader.moduleRegistry[ name ];\n\n\t\t\t\tlet css;\n\t\t\t\ttry {\n\t\t\t\t\tcss = module.style.css.join();\n\t\t\t\t} catch ( e ) {\n\t\t\t\t\t// skip\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst stats = inspect.auditSelectors( css );\n\t\t\t\tmodules.push( {\n\t\t\t\t\tmodule: name,\n\t\t\t\t\tallSelectors: stats.total,\n\t\t\t\t\tmatchedSelectors: stats.matched,\n\t\t\t\t\tpercentMatched: stats.total !== 0 ?\n\t\t\t\t\t\t( stats.matched / stats.total * 100 ).toFixed( 2 ) + '%' : null\n\t\t\t\t} );\n\t\t\t} );\n\t\t\tsortByProperty( modules, 'allSelectors', true );\n\t\t\treturn modules;\n\t\t},\n\n\t\t/**\n\t\t * Report stats on mw.loader.store: the number of localStorage\n\t\t * cache hits and misses, the number of items purged from the\n\t\t * cache, and the total size of the module blob in localStorage.\n\t\t *\n\t\t * @return {Object[]} Store stats\n\t\t */\n\t\tstore: function () {\n\t\t\tconst stats = { enabled: mw.loader.store.enabled };\n\t\t\tif ( stats.enabled ) {\n\t\t\t\tObject.assign( stats, mw.loader.store.stats );\n\t\t\t\ttry {\n\t\t\t\t\tconst raw = localStorage.getItem( mw.loader.store.key );\n\t\t\t\t\tstats.totalSizeInBytes = byteLength( raw );\n\t\t\t\t\tstats.totalSize = humanSize( byteLength( raw ) );\n\t\t\t\t} catch ( e ) {}\n\t\t\t}\n\t\t\treturn [ stats ];\n\t\t},\n\n\t\t/**\n\t\t * Generate a breakdown of all loaded modules and their time\n\t\t * spent during initialisation (measured in milliseconds).\n\t\t *\n\t\t * This timing data is collected by mw.loader.profiler.\n\t\t *\n\t\t * @return {Object[]} Table rows\n\t\t */\n\t\ttime: function () {\n\t\t\tif ( !mw.loader.profiler ) {\n\t\t\t\tmw.log.warn( 'mw.inspect: The time report requires $wgResourceLoaderEnableJSProfiler.' );\n\t\t\t\treturn [];\n\t\t\t}\n\n\t\t\tconst modules = inspect.getLoadedModules()\n\t\t\t\t.map( ( moduleName ) => mw.loader.profiler.getProfile( moduleName ) )\n\t\t\t\t.filter(\n\t\t\t\t\t// Exclude modules that reached \"ready\" state without involvement from mw.loader.\n\t\t\t\t\t// This is primarily styles-only as loaded via <link rel=\"stylesheet\">.\n\t\t\t\t\t( perf ) => perf !== null\n\t\t\t\t);\n\n\t\t\t// Sort by total time spent, highest first.\n\t\t\tsortByProperty( modules, 'total', true );\n\n\t\t\t// Add human-readable strings\n\t\t\tmodules.forEach( ( module ) => {\n\t\t\t\tmodule.totalInMs = module.total;\n\t\t\t\tmodule.total = module.totalInMs.toLocaleString() + ' ms';\n\t\t\t} );\n\n\t\t\treturn modules;\n\t\t}\n\t};\n\n\tif ( mw.config.get( 'debug' ) ) {\n\t\tmw.log( 'mw.inspect: reports are not available in debug mode.' );\n\t}\n\n}() );\n","usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.jqueryMsg/.eslintrc.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.jqueryMsg/mediawiki.jqueryMsg.js","messages":[{"ruleId":"jsdoc/require-returns","severity":1,"message":"Found more than one @return declaration.","line":148,"column":1,"nodeType":"Block","endLine":160,"endColumn":4},{"ruleId":"jsdoc/require-returns-check","severity":1,"message":"Found more than one @return declaration.","line":148,"column":1,"nodeType":"Block","endLine":160,"endColumn":4},{"ruleId":"jsdoc/require-throws-type","severity":1,"message":"@throws should have a type","line":338,"column":2,"nodeType":"Block","endLine":347,"endColumn":5}],"suppressedMessages":[{"ruleId":"no-useless-escape","severity":2,"message":"Unnecessary escape character: \\[.","line":483,"column":49,"nodeType":"Literal","messageId":"unnecessaryEscape","endLine":483,"endColumn":50,"suggestions":[{"messageId":"removeEscape","fix":{"range":[14461,14462],"text":""},"desc":"Remove the `\\`. This maintains the current functionality."},{"messageId":"escapeBackslash","fix":{"range":[14461,14461],"text":"\\"},"desc":"Replace the `\\` with `\\\\` to include the actual backslash character."}],"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-useless-escape","severity":2,"message":"Unnecessary escape character: \\[.","line":484,"column":59,"nodeType":"Literal","messageId":"unnecessaryEscape","endLine":484,"endColumn":60,"suggestions":[{"messageId":"removeEscape","fix":{"range":[14533,14534],"text":""},"desc":"Remove the `\\`. This maintains the current functionality."},{"messageId":"escapeBackslash","fix":{"range":[14533,14533],"text":"\\"},"desc":"Replace the `\\` with `\\\\` to include the actual backslash character."}],"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-useless-escape","severity":2,"message":"Unnecessary escape character: \\[.","line":485,"column":61,"nodeType":"Literal","messageId":"unnecessaryEscape","endLine":485,"endColumn":62,"suggestions":[{"messageId":"removeEscape","fix":{"range":[14607,14608],"text":""},"desc":"Remove the `\\`. This maintains the current functionality."},{"messageId":"escapeBackslash","fix":{"range":[14607,14607],"text":"\\"},"desc":"Replace the `\\` with `\\\\` to include the actual backslash character."}],"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-map-util","severity":2,"message":"Prefer Array#map to $.map","line":950,"column":22,"nodeType":"CallExpression","endLine":950,"endColumn":85,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-misleading-character-class","severity":2,"message":"Unexpected combined character in character class.","line":981,"column":25,"nodeType":"NewExpression","messageId":"combiningClass","endLine":989,"endColumn":2,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-map-util","severity":2,"message":"Prefer Array#map to $.map","line":1280,"column":11,"nodeType":"CallExpression","endLine":1280,"endColumn":37,"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":3,"fixableErrorCount":0,"fixableWarningCount":0,"source":"/*!\n* Experimental advanced wikitext parser-emitter.\n* See: https://www.mediawiki.org/wiki/Extension:UploadWizard/MessageParser for docs\n*\n* @author neilk@wikimedia.org\n* @author mflaschen@wikimedia.org\n*/\n/**\n * @typedef {string|string[]} module:mediawiki.jqueryMsg~Replacements\n * @ignore\n */\n/**\n * @callback {Function} module:mediawiki.jqueryMsg~MessageFormatterFunction\n * @param {Array<module:mediawiki.jqueryMsg~Replacements>} replacements Optional variable replacements (variadically or an array).\n * This is a mixed array of strings or arrays of string. This is equivalent to Array<string|string[]> but cannot be documented until the\n * jsdoc theme has been patched (T354716).\n * @return {jQuery} Rendered HTML.\n * @ignore\n */\n\n/**\n * @callback {Function} MessageFormatterFunctionGenerator\n * @return {module:mediawiki.jqueryMsg~MessageFormatterFunction}\n * @ignore\n */\n\nconst slice = Array.prototype.slice,\n\tutil = require( 'mediawiki.util' ),\n\tmwString = require( 'mediawiki.String' ),\n\tparserDefaults = {\n\t\t// Magic words and their expansions. Server-side data is added to this below.\n\t\tmagic: {\n\t\t\tPAGENAME: mw.config.get( 'wgPageName' ),\n\t\t\tPAGENAMEE: util.wikiUrlencode( mw.config.get( 'wgPageName' ) ),\n\t\t\tSERVERNAME: mw.config.get( 'wgServerName' ),\n\t\t\tCONTENTLANGUAGE: mw.config.get( 'wgContentLanguage' )\n\t\t},\n\t\t// Whitelist for allowed HTML elements in wikitext.\n\t\t// Filled in with server-side data below\n\t\tallowedHtmlElements: [],\n\t\t// Whitelist for allowed self-closing elements.\n\t\t// We're not using server data here because we don't want to allow <meta> or <link>.\n\t\tallowedSelfClosingHtmlElements: [\n\t\t\t'br',\n\t\t\t'wbr',\n\t\t\t'hr'\n\t\t],\n\t\t// Key tag name, value allowed attributes for that tag.\n\t\t// See Sanitizer::setupAttributeWhitelist\n\t\tallowedHtmlCommonAttributes: [\n\t\t\t// HTML\n\t\t\t'id',\n\t\t\t'class',\n\t\t\t'style',\n\t\t\t'lang',\n\t\t\t'dir',\n\t\t\t'title',\n\n\t\t\t// WAI-ARIA\n\t\t\t'role'\n\t\t],\n\n\t\t// Attributes allowed for specific elements.\n\t\t// Key is element name in lower case\n\t\t// Value is array of allowed attributes for that element\n\t\tallowedHtmlAttributesByElement: {},\n\t\tmessages: mw.messages,\n\t\tlanguage: mw.language,\n\n\t\t// Same meaning as in mediawiki.js.\n\t\t//\n\t\t// Only 'text', 'parse', and 'escaped' are supported, and the\n\t\t// actual escaping for 'escaped' is done by other code (generally\n\t\t// through mediawiki.js).\n\t\t//\n\t\t// However, note that this default only\n\t\t// applies to direct calls to jqueryMsg. The default for mediawiki.js itself\n\t\t// is 'text', including when it uses jqueryMsg.\n\t\tformat: 'parse'\n\t};\n\n// Add in server-side data (allowedHtmlElements and magic words)\n$.extend( true, parserDefaults, require( './parserDefaults.json' ) );\n\n/**\n * Wrapper around jQuery append that converts all non-objects to TextNode so append will not\n * convert what it detects as an htmlString to an element.\n *\n * If our own HtmlEmitter jQuery object is given, its children will be unwrapped and appended to\n * new parent.\n *\n * Object elements of children (jQuery, HTMLElement, TextNode, etc.) will be left as is.\n *\n * @private\n * @param {jQuery} $parent Parent node wrapped by jQuery\n * @param {Object|string|Array} children What to append, with the same possible types as jQuery\n * @return {jQuery} $parent\n */\nfunction appendWithoutParsing( $parent, children ) {\n\tlet i, len;\n\n\tif ( !Array.isArray( children ) ) {\n\t\tchildren = [ children ];\n\t}\n\n\tfor ( i = 0, len = children.length; i < len; i++ ) {\n\t\tif ( typeof children[ i ] !== 'object' ) {\n\t\t\tchildren[ i ] = document.createTextNode( children[ i ] );\n\t\t}\n\t\tif ( children[ i ] instanceof $ && children[ i ].hasClass( 'mediaWiki_htmlEmitter' ) ) {\n\t\t\tchildren[ i ] = children[ i ].contents();\n\t\t}\n\t}\n\n\treturn $parent.append( children );\n}\n\n/**\n * Decodes the main HTML entities, those encoded by mw.html.escape.\n *\n * @private\n * @param {string} encoded Encoded string\n * @return {string} String with those entities decoded\n */\nfunction decodePrimaryHtmlEntities( encoded ) {\n\treturn encoded\n\t\t.replace( /'/g, '\\'' )\n\t\t.replace( /"/g, '\"' )\n\t\t.replace( /</g, '<' )\n\t\t.replace( />/g, '>' )\n\t\t.replace( /&/g, '&' );\n}\n\n/**\n * Turn input into a string.\n *\n * @private\n * @param {string|jQuery} input\n * @return {string} Textual value of input\n */\nfunction textify( input ) {\n\tif ( input instanceof $ ) {\n\t\tinput = input.text();\n\t}\n\treturn String( input );\n}\n\n/**\n * Given parser options, return a function that parses a key and replacements, returning jQuery object\n *\n * Try to parse a key and optional replacements, returning a jQuery object that may be a tree of jQuery nodes.\n * If there was an error parsing, return the key and the error message (wrapped in jQuery). This should put the error right into\n * the interface, without causing the page to halt script execution, and it hopefully should be clearer how to fix it.\n *\n * @private\n * @param {Object} options Parser options\n * @return {Function}\n * @return {Array} return.args First element is the key, replacements may be in array in 2nd element, or remaining elements.\n * @return {jQuery} return.return\n */\nfunction getFailableParserFn( options ) {\n\treturn function ( args ) {\n\t\tconst parser = new Parser( options ),\n\t\t\tkey = args[ 0 ],\n\t\t\targsArray = Array.isArray( args[ 1 ] ) ? args[ 1 ] : slice.call( args, 1 );\n\t\ttry {\n\t\t\treturn parser.parse( key, argsArray );\n\t\t} catch ( e ) {\n\t\t\tconst fallback = parser.settings.messages.get( key );\n\t\t\tmw.log.warn( 'mediawiki.jqueryMsg: ' + key + ': ' + e.message );\n\t\t\tmw.track( 'mediawiki.jqueryMsg.error', {\n\t\t\t\tmessageKey: key,\n\t\t\t\terrorMessage: e.message\n\t\t\t} );\n\t\t\treturn $( '<span>' ).text( fallback );\n\t\t}\n\t};\n}\n\n/**\n * Initialize parser defaults.\n *\n * This is currently used by the QUnit testrunner to change the reference in\n * parserDefaults.messages to the test messages and back.\n *\n * @private\n * @param {Object} data New data to extend parser defaults with\n */\nconst setParserDefaults = function ( data ) {\n\tObject.assign( parserDefaults, data );\n};\n\n/**\n * Get current parser defaults.\n *\n * Primarily used for the unit test. Returns a copy.\n *\n * @private\n * @return {Object}\n */\nconst getParserDefaults = function () {\n\treturn Object.assign( {}, parserDefaults );\n};\n\n/**\n * Returns a function suitable for static use, to construct strings from a message key (and optional replacements).\n *\n * @ignore\n * @param {Object} options parser options\n * @return {module:mediawiki.jqueryMsg~MessageFormatterFunction}\n */\nconst defaultMessageFunction = function ( options ) {\n\tlet failableParserFn, format;\n\n\tif ( options && options.format !== undefined ) {\n\t\tformat = options.format;\n\t} else {\n\t\tformat = parserDefaults.format;\n\t}\n\n\treturn function () {\n\t\tif ( !failableParserFn ) {\n\t\t\tfailableParserFn = getFailableParserFn( options );\n\t\t}\n\t\tconst $result = failableParserFn( arguments );\n\t\tif ( format === 'text' || format === 'escaped' ) {\n\t\t\treturn $result.text();\n\t\t} else {\n\t\t\treturn $result.html();\n\t\t}\n\t};\n};\n/**\n * @type {MessageFormatterFunctionGenerator}\n * @ignore\n */\nlet messageFunction = defaultMessageFunction;\n\n/**\n * @ignore\n * @param {Object} options parser options\n * @return {module:mediawiki.jqueryMsg~MessageFormatterFunction} options\n */\nconst getMessageFunction = function ( options ) {\n\treturn messageFunction( options );\n};\n\n/**\n * Allows tests to override the message function.\n *\n * @ignore\n * @param {MessageFormatterFunctionGenerator} msgFunction\n * @return {Function} that allows you to restore the original message function.\n */\nconst setMessageFunction = function ( msgFunction ) {\n\tmessageFunction = msgFunction;\n\treturn function () {\n\t\tmessageFunction = defaultMessageFunction;\n\t};\n};\n\n/**\n * Returns a jQuery plugin.\n *\n * @ignore\n * @param {Object} [options] Parser options\n * @return {module:mediawiki.jqueryMsg~MessageFormatterFunction}\n */\nconst getPlugin = function ( options ) {\n\tlet failableParserFn;\n\n\treturn function () {\n\t\tif ( !failableParserFn ) {\n\t\t\tfailableParserFn = getFailableParserFn( options );\n\t\t}\n\t\tconst $result = failableParserFn( arguments );\n\t\treturn this.empty().append( $result.contents() );\n\t};\n};\n\n/**\n * The parser itself.\n * Describes an object, whose primary duty is to .parse() message keys.\n *\n * @class\n * @private\n * @param {Object} options\n */\nfunction Parser( options ) {\n\tthis.settings = Object.assign( {}, parserDefaults, options );\n\tthis.settings.onlyCurlyBraceTransform = ( this.settings.format === 'text' || this.settings.format === 'escaped' );\n\tthis.astCache = {};\n\n\tthis.emitter = new HtmlEmitter( this.settings.language, this.settings.magic );\n}\n\nParser.prototype = {\n\t/**\n\t * Where the magic happens.\n\t * Parses a message from the key, and swaps in replacements as necessary, wraps in jQuery\n\t * If an error is thrown, returns original key, and logs the error\n\t *\n\t * @param {string} key Message key.\n\t * @param {Array} replacements Variable replacements for $1, $2... $n\n\t * @return {jQuery}\n\t */\n\tparse: function ( key, replacements ) {\n\t\tconst ast = this.getAst( key, replacements );\n\t\treturn this.emitter.emit( ast, replacements );\n\t},\n\n\t/**\n\t * Fetch the message string associated with a key, return parsed structure. Memoized.\n\t * Note that we pass '⧼' + key + '⧽' back for a missing message here.\n\t *\n\t * @param {string} key\n\t * @param {Array} replacements Variable replacements for $1, $2... $n\n\t * @return {string|Array} string of '⧼key⧽' if message missing, simple string if possible, array of arrays if needs parsing\n\t */\n\tgetAst: function ( key, replacements ) {\n\t\tif ( !Object.prototype.hasOwnProperty.call( this.astCache, key ) ) {\n\t\t\tlet wikiText = this.settings.messages.get( key );\n\t\t\t// Keep this synchronised with Message#parser in mediawiki.base.js\n\t\t\tif (\n\t\t\t\tmw.config.get( 'wgUserLanguage' ) === 'qqx' &&\n\t\t\t\t( !wikiText || wikiText === '(' + key + ')' )\n\t\t\t) {\n\t\t\t\twikiText = '(' + key + '$*)';\n\t\t\t} else if ( typeof wikiText !== 'string' ) {\n\t\t\t\twikiText = '⧼' + key + '⧽';\n\t\t\t}\n\t\t\twikiText = mw.internalDoTransformFormatForQqx( wikiText, replacements );\n\t\t\tthis.astCache[ key ] = this.wikiTextToAst( wikiText );\n\t\t}\n\t\treturn this.astCache[ key ];\n\t},\n\n\t/**\n\t * Parses the input wikiText into an abstract syntax tree, essentially an s-expression.\n\t *\n\t * CAVEAT: This does not parse all wikitext. It could be more efficient, but it's pretty good already.\n\t * n.b. We want to move this functionality to the server. Nothing here is required to be on the client.\n\t *\n\t * @param {string} input Message string wikitext\n\t * @throws Error\n\t * @return {any} abstract syntax tree\n\t */\n\twikiTextToAst: function ( input ) {\n\t\tlet nonWhitespaceExpression = null, expression = null, templateContents = null, paramExpression = null, colon = null;\n\t\tconst settings = this.settings;\n\n\t\t// Indicates current position in input as we parse through it.\n\t\t// Shared among all parsing functions below.\n\t\tlet pos = 0;\n\n\t\t// =========================================================\n\t\t// parsing combinators - could be a library on its own\n\t\t// =========================================================\n\n\t\t/**\n\t\t * Try parsers until one works, if none work return null\n\t\t *\n\t\t * @private\n\t\t * @param {Function[]} ps\n\t\t * @return {Function} that will return {string|null}\n\t\t */\n\t\tfunction choice( ps ) {\n\t\t\treturn function () {\n\t\t\t\tlet i, result;\n\t\t\t\tfor ( i = 0; i < ps.length; i++ ) {\n\t\t\t\t\tresult = ps[ i ]();\n\t\t\t\t\tif ( result !== null ) {\n\t\t\t\t\t\treturn result;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn null;\n\t\t\t};\n\t\t}\n\n\t\t/**\n\t\t * Try several ps in a row, all must succeed or return null.\n\t\t * This is the only eager one.\n\t\t *\n\t\t * @private\n\t\t * @param {Function[]} ps Each function should return a string or null\n\t\t * @return {string[]|null}\n\t\t */\n\t\tfunction sequence( ps ) {\n\t\t\tconst originalPos = pos,\n\t\t\t\tresult = [];\n\t\t\tfor ( let i = 0; i < ps.length; i++ ) {\n\t\t\t\tconst r = ps[ i ]();\n\t\t\t\tif ( r === null ) {\n\t\t\t\t\tpos = originalPos;\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t\tresult.push( r );\n\t\t\t}\n\t\t\treturn result;\n\t\t}\n\n\t\t/**\n\t\t * Run the same parser over and over until it fails.\n\t\t * Must succeed a minimum of n times or return null.\n\t\t *\n\t\t * @private\n\t\t * @param {number} n\n\t\t * @param {Function} p Should return a string or null\n\t\t * @return {Function} that will return {string[]|null}\n\t\t */\n\t\tfunction nOrMore( n, p ) {\n\t\t\treturn function () {\n\t\t\t\tconst originalPos = pos,\n\t\t\t\t\tresult = [];\n\t\t\t\tlet parsed = p();\n\t\t\t\twhile ( parsed !== null ) {\n\t\t\t\t\tresult.push( parsed );\n\t\t\t\t\tparsed = p();\n\t\t\t\t}\n\t\t\t\tif ( result.length < n ) {\n\t\t\t\t\tpos = originalPos;\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t\treturn result;\n\t\t\t};\n\t\t}\n\n\t\t/**\n\t\t * Just make parsers out of simpler JS builtin types\n\t\t *\n\t\t * @private\n\t\t * @param {string} s\n\t\t * @return {Function} that will return {string|null}\n\t\t */\n\t\tfunction makeStringParser( s ) {\n\t\t\tconst len = s.length;\n\t\t\treturn function () {\n\t\t\t\tlet result = null;\n\t\t\t\tif ( input.slice( pos, pos + len ) === s ) {\n\t\t\t\t\tresult = s;\n\t\t\t\t\tpos += len;\n\t\t\t\t}\n\t\t\t\treturn result;\n\t\t\t};\n\t\t}\n\n\t\t/**\n\t\t * Makes a regex parser, given a RegExp object.\n\t\t * The regex being passed in should start with a ^ to anchor it to the start\n\t\t * of the string.\n\t\t *\n\t\t * @private\n\t\t * @param {RegExp} regex anchored regex\n\t\t * @return {Function} function to parse input based on the regex\n\t\t */\n\t\tfunction makeRegexParser( regex ) {\n\t\t\treturn function () {\n\t\t\t\tconst matches = input.slice( pos ).match( regex );\n\t\t\t\tif ( matches === null ) {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t\tpos += matches[ 0 ].length;\n\t\t\t\treturn matches[ 0 ];\n\t\t\t};\n\t\t}\n\n\t\t// ===================================================================\n\t\t// General patterns above this line -- wikitext specific parsers below\n\t\t// ===================================================================\n\n\t\t// Parsing functions follow. All parsing functions work like this:\n\t\t// They don't accept any arguments.\n\t\t// Instead, they just operate non destructively on the string 'input'\n\t\t// As they can consume parts of the string, they advance the shared variable pos,\n\t\t// and return tokens (or whatever else they want to return).\n\t\t// some things are defined as closures and other things as ordinary functions\n\t\t// converting everything to a closure makes it a lot harder to debug... errors pop up\n\t\t// but some debuggers can't tell you exactly where they come from. Also the mutually\n\t\t// recursive functions seem not to work in all browsers then. (Tested IE6-7, Opera, Safari, FF)\n\t\t// This may be because, to save code, memoization was removed\n\n\t\t/* eslint-disable no-useless-escape */\n\t\tconst regularLiteral = makeRegexParser( /^[^{}\\[\\]$<\\\\]/ );\n\t\tconst regularLiteralWithoutBar = makeRegexParser( /^[^{}\\[\\]$\\\\|]/ );\n\t\tconst regularLiteralWithoutSpace = makeRegexParser( /^[^{}\\[\\]$\\s]/ );\n\t\t/* eslint-enable no-useless-escape */\n\n\t\tconst backslash = makeStringParser( '\\\\' );\n\t\tconst anyCharacter = makeRegexParser( /^./ );\n\t\tfunction escapedLiteral() {\n\t\t\tconst result = sequence( [\n\t\t\t\tbackslash,\n\t\t\t\tanyCharacter\n\t\t\t] );\n\t\t\treturn result === null ? null : result[ 1 ];\n\t\t}\n\t\tconst escapedOrLiteralWithoutSpace = choice( [\n\t\t\tescapedLiteral,\n\t\t\tregularLiteralWithoutSpace\n\t\t] );\n\t\tconst escapedOrLiteralWithoutBar = choice( [\n\t\t\tescapedLiteral,\n\t\t\tregularLiteralWithoutBar\n\t\t] );\n\t\tconst escapedOrRegularLiteral = choice( [\n\t\t\tescapedLiteral,\n\t\t\tregularLiteral\n\t\t] );\n\t\t// Used to define \"literals\" without spaces, in space-delimited situations\n\t\tfunction literalWithoutSpace() {\n\t\t\tconst result = nOrMore( 1, escapedOrLiteralWithoutSpace )();\n\t\t\treturn result === null ? null : result.join( '' );\n\t\t}\n\t\t// Used to define \"literals\" within template parameters. The pipe character is the parameter delimeter, so by default\n\t\t// it is not a literal in the parameter\n\t\tfunction literalWithoutBar() {\n\t\t\tconst result = nOrMore( 1, escapedOrLiteralWithoutBar )();\n\t\t\treturn result === null ? null : result.join( '' );\n\t\t}\n\n\t\tfunction literal() {\n\t\t\tconst result = nOrMore( 1, escapedOrRegularLiteral )();\n\t\t\treturn result === null ? null : result.join( '' );\n\t\t}\n\n\t\tconst asciiAlphabetLiteral = makeRegexParser( /^[A-Za-z]+/ );\n\n\t\tconst whitespace = makeRegexParser( /^\\s+/ );\n\n\t\tconst dollar = makeStringParser( '$' );\n\t\tconst digits = makeRegexParser( /^\\d+/ );\n\t\tfunction replacement() {\n\t\t\tconst result = sequence( [\n\t\t\t\tdollar,\n\t\t\t\tdigits\n\t\t\t] );\n\t\t\tif ( result === null ) {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\treturn [ 'REPLACE', parseInt( result[ 1 ], 10 ) - 1 ];\n\t\t}\n\t\tconst openExtlink = makeStringParser( '[' );\n\t\tconst closeExtlink = makeStringParser( ']' );\n\t\t// this extlink MUST have inner contents, e.g. [foo] not allowed; [foo bar] [foo <i>bar</i>], etc. are allowed\n\t\tfunction extlink() {\n\t\t\tconst parsedResult = sequence( [\n\t\t\t\topenExtlink,\n\t\t\t\tnOrMore( 1, nonWhitespaceExpression ),\n\t\t\t\twhitespace,\n\t\t\t\tnOrMore( 1, expression ),\n\t\t\t\tcloseExtlink\n\t\t\t] );\n\t\t\tif ( parsedResult === null ) {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\t// When the entire link target is a single parameter, we can't use CONCAT, as we allow\n\t\t\t// passing fancy parameters (like a whole jQuery object or a function) to use for the\n\t\t\t// link. Check only if it's a single match, since we can either do CONCAT or not for\n\t\t\t// singles with the same effect.\n\t\t\tconst target = parsedResult[ 1 ].length === 1 ?\n\t\t\t\tparsedResult[ 1 ][ 0 ] :\n\t\t\t\t[ 'CONCAT', ...parsedResult[ 1 ] ];\n\t\t\treturn [\n\t\t\t\t'EXTLINK',\n\t\t\t\ttarget,\n\t\t\t\t[ 'CONCAT', ...parsedResult[ 3 ] ]\n\t\t\t];\n\t\t}\n\t\tconst pipe = makeStringParser( '|' );\n\n\t\tconst openTemplate = makeStringParser( '{{' );\n\t\tconst closeTemplate = makeStringParser( '}}' );\n\t\tfunction template() {\n\t\t\tconst result = sequence( [\n\t\t\t\topenTemplate,\n\t\t\t\ttemplateContents,\n\t\t\t\tcloseTemplate\n\t\t\t] );\n\t\t\treturn result === null ? null : result[ 1 ];\n\t\t}\n\n\t\tfunction templateName() {\n\t\t\t// see $wgLegalTitleChars\n\t\t\t// not allowing : due to the need to catch \"PLURAL:$1\"\n\t\t\tconst templateNameRegex = makeRegexParser( /^#?[ !\"$&'()*,./0-9;=?@A-Z^_`a-z~\\x80-\\xFF+-]+/ );\n\t\t\tconst result = templateNameRegex();\n\t\t\treturn result === null ? null : result.toString();\n\t\t}\n\n\t\tfunction templateParam() {\n\t\t\tconst result = sequence( [\n\t\t\t\tpipe,\n\t\t\t\tnOrMore( 0, paramExpression )\n\t\t\t] );\n\t\t\tif ( result === null ) {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\tconst expr = result[ 1 ];\n\t\t\t// use a CONCAT operator if there are multiple nodes, otherwise return the first node, raw.\n\t\t\treturn expr.length > 1 ? [ 'CONCAT', ...expr ] : expr[ 0 ];\n\t\t}\n\n\t\tfunction templateNameWithParam() {\n\t\t\tconst result = sequence( [\n\t\t\t\ttemplateName,\n\t\t\t\tcolon,\n\t\t\t\tnOrMore( 0, paramExpression )\n\t\t\t] );\n\t\t\tif ( result === null ) {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\tconst expr = result[ 2 ];\n\t\t\t// use a CONCAT operator if there are multiple nodes, otherwise return the first node, raw.\n\t\t\treturn [ result[ 0 ], expr.length > 1 ? [ 'CONCAT', ...expr ] : expr[ 0 ] ];\n\t\t}\n\t\tcolon = makeStringParser( ':' );\n\t\ttemplateContents = choice( [\n\t\t\tfunction () {\n\t\t\t\tconst result = sequence( [\n\t\t\t\t\ttemplateNameWithParam,\n\t\t\t\t\tnOrMore( 0, templateParam )\n\t\t\t\t] );\n\t\t\t\treturn result === null ? null : [ ...result[ 0 ], ...result[ 1 ] ];\n\t\t\t},\n\t\t\tfunction () {\n\t\t\t\tconst result = sequence( [\n\t\t\t\t\ttemplateName,\n\t\t\t\t\tnOrMore( 0, templateParam )\n\t\t\t\t] );\n\t\t\t\tif ( result === null ) {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t\treturn [ result[ 0 ], ...result[ 1 ] ];\n\t\t\t}\n\t\t] );\n\n\t\tfunction pipedWikilink() {\n\t\t\tconst result = sequence( [\n\t\t\t\tnOrMore( 1, paramExpression ),\n\t\t\t\tpipe,\n\t\t\t\tnOrMore( 1, expression )\n\t\t\t] );\n\t\t\treturn result === null ? null : [\n\t\t\t\t[ 'CONCAT', ...result[ 0 ] ],\n\t\t\t\t[ 'CONCAT', ...result[ 2 ] ]\n\t\t\t];\n\t\t}\n\n\t\tfunction unpipedWikilink() {\n\t\t\tconst result = sequence( [\n\t\t\t\tnOrMore( 1, paramExpression )\n\t\t\t] );\n\t\t\treturn result === null ? null : [\n\t\t\t\t[ 'CONCAT', ...result[ 0 ] ]\n\t\t\t];\n\t\t}\n\n\t\tconst wikilinkContents = choice( [\n\t\t\tpipedWikilink,\n\t\t\tunpipedWikilink\n\t\t] );\n\n\t\tconst openWikilink = makeStringParser( '[[' );\n\t\tconst closeWikilink = makeStringParser( ']]' );\n\t\tfunction wikilink() {\n\t\t\tconst parsedResult = sequence( [\n\t\t\t\topenWikilink,\n\t\t\t\twikilinkContents,\n\t\t\t\tcloseWikilink\n\t\t\t] );\n\t\t\treturn parsedResult === null ? null : [ 'WIKILINK', ...parsedResult[ 1 ] ];\n\t\t}\n\n\t\t// TODO: Support data- if appropriate\n\t\tconst doubleQuote = makeStringParser( '\"' );\n\t\tconst htmlDoubleQuoteAttributeValue = makeRegexParser( /^[^\"]*/ );\n\t\tfunction doubleQuotedHtmlAttributeValue() {\n\t\t\tconst parsedResult = sequence( [\n\t\t\t\tdoubleQuote,\n\t\t\t\thtmlDoubleQuoteAttributeValue,\n\t\t\t\tdoubleQuote\n\t\t\t] );\n\t\t\treturn parsedResult === null ? null : parsedResult[ 1 ];\n\t\t}\n\n\t\tconst singleQuote = makeStringParser( '\\'' );\n\t\tconst htmlSingleQuoteAttributeValue = makeRegexParser( /^[^']*/ );\n\t\tfunction singleQuotedHtmlAttributeValue() {\n\t\t\tconst parsedResult = sequence( [\n\t\t\t\tsingleQuote,\n\t\t\t\thtmlSingleQuoteAttributeValue,\n\t\t\t\tsingleQuote\n\t\t\t] );\n\t\t\treturn parsedResult === null ? null : parsedResult[ 1 ];\n\t\t}\n\n\t\tconst htmlAttributeEquals = makeRegexParser( /^\\s*=\\s*/ );\n\t\tfunction htmlAttribute() {\n\t\t\tconst parsedResult = sequence( [\n\t\t\t\twhitespace,\n\t\t\t\tasciiAlphabetLiteral,\n\t\t\t\thtmlAttributeEquals,\n\t\t\t\tchoice( [\n\t\t\t\t\tdoubleQuotedHtmlAttributeValue,\n\t\t\t\t\tsingleQuotedHtmlAttributeValue\n\t\t\t\t] )\n\t\t\t] );\n\t\t\treturn parsedResult === null ? null : [ parsedResult[ 1 ], parsedResult[ 3 ] ];\n\t\t}\n\n\t\t/**\n\t\t * Checks if HTML is allowed\n\t\t *\n\t\t * @param {string} startTagName HTML start tag name\n\t\t * @param {string|null} endTagName HTML end tag name, or null for self-closing tags\n\t\t * @param {Object} attributes array of consecutive key value pairs,\n\t\t * with index 2 * n being a name and 2 * n + 1 the associated value\n\t\t * @return {boolean} true if this is HTML is allowed, false otherwise\n\t\t * @ignore\n\t\t */\n\t\tfunction isAllowedHtml( startTagName, endTagName, attributes ) {\n\t\t\tstartTagName = startTagName.toLowerCase();\n\t\t\tconst isSelfClosing = endTagName === null;\n\t\t\tif (\n\t\t\t\t( isSelfClosing && !settings.allowedSelfClosingHtmlElements.includes( startTagName ) ) ||\n\t\t\t\t( !isSelfClosing && ( startTagName !== endTagName.toLowerCase() || !settings.allowedHtmlElements.includes( startTagName ) ) )\n\t\t\t) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tconst badStyle = /[\\000-\\010\\013\\016-\\037\\177]|expression|filter\\s*:|accelerator\\s*:|-o-link\\s*:|-o-link-source\\s*:|-o-replace\\s*:|url\\s*\\(|image\\s*\\(|image-set\\s*\\(/i;\n\n\t\t\tlet attributeName;\n\t\t\tfor ( let i = 0, len = attributes.length; i < len; i += 2 ) {\n\t\t\t\tattributeName = attributes[ i ];\n\t\t\t\tif ( !settings.allowedHtmlCommonAttributes.includes( attributeName ) &&\n\t\t\t\t\t!( settings.allowedHtmlAttributesByElement[ startTagName ] || [] ).includes( attributeName ) ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\tif ( attributeName === 'style' && attributes[ i + 1 ].search( badStyle ) !== -1 ) {\n\t\t\t\t\tmw.log( 'HTML tag not parsed due to dangerous style attribute' );\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn true;\n\t\t}\n\n\t\tfunction htmlAttributes() {\n\t\t\tconst parsedResult = nOrMore( 0, htmlAttribute )();\n\t\t\t// Un-nest attributes array due to structure of jQueryMsg operations (see emit).\n\t\t\treturn [ 'HTMLATTRIBUTES' ].concat( ...parsedResult );\n\t\t}\n\n\t\tconst openHtmlStartTag = makeStringParser( '<' );\n\t\tconst optionalWhitespace = makeRegexParser( /\\s*/ );\n\t\tconst optionalForwardSlash = makeRegexParser( /^\\/?/ );\n\t\tconst openHtmlEndTag = makeStringParser( '</' );\n\t\tconst closeHtmlTag = makeRegexParser( /^\\s*>/ );\n\t\t// Subset of allowed HTML markup.\n\t\t// Most elements and many attributes allowed on the server are not supported yet.\n\t\tfunction html() {\n\t\t\t// Break into three sequence calls. That should allow accurate reconstruction of the original HTML, and requiring an exact tag name match.\n\t\t\t// 1. open through closeHtmlTag\n\t\t\t// 2. expression\n\t\t\t// 3. openHtmlEnd through close\n\t\t\t// This will allow recording the positions to reconstruct if HTML is to be treated as text.\n\n\t\t\tconst startOpenTagPos = pos;\n\t\t\tconst parsedOpenTagResult = sequence( [\n\t\t\t\topenHtmlStartTag,\n\t\t\t\tasciiAlphabetLiteral,\n\t\t\t\thtmlAttributes,\n\t\t\t\toptionalWhitespace,\n\t\t\t\toptionalForwardSlash,\n\t\t\t\tcloseHtmlTag\n\t\t\t] );\n\n\t\t\tif ( parsedOpenTagResult === null ) {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\tconst endOpenTagPos = pos;\n\t\t\tconst startTagName = parsedOpenTagResult[ 1 ];\n\t\t\tconst wrappedAttributes = parsedOpenTagResult[ 2 ];\n\t\t\tconst attributes = wrappedAttributes.slice( 1 );\n\n\t\t\t// Handle self-closing elements before parsing any contents\n\t\t\tif ( settings.allowedSelfClosingHtmlElements.includes( startTagName ) ) {\n\t\t\t\tif ( isAllowedHtml( startTagName, null, attributes ) ) {\n\t\t\t\t\treturn [ 'HTMLELEMENT', startTagName, wrappedAttributes ];\n\t\t\t\t}\n\t\t\t\treturn [ 'CONCAT', input.slice( startOpenTagPos, endOpenTagPos ) ];\n\t\t\t}\n\n\t\t\tconst parsedHtmlContents = nOrMore( 0, expression )();\n\n\t\t\tconst startCloseTagPos = pos;\n\t\t\tconst parsedCloseTagResult = sequence( [\n\t\t\t\topenHtmlEndTag,\n\t\t\t\tasciiAlphabetLiteral,\n\t\t\t\tcloseHtmlTag\n\t\t\t] );\n\n\t\t\tif ( parsedCloseTagResult === null ) {\n\t\t\t\t// Closing tag failed. Return the start tag and contents.\n\t\t\t\treturn [ 'CONCAT', input.slice( startOpenTagPos, endOpenTagPos ),\n\t\t\t\t\t...parsedHtmlContents ];\n\t\t\t}\n\n\t\t\tconst endCloseTagPos = pos;\n\t\t\tconst endTagName = parsedCloseTagResult[ 1 ];\n\t\t\tif ( isAllowedHtml( startTagName, endTagName, attributes ) ) {\n\t\t\t\treturn [ 'HTMLELEMENT', startTagName, wrappedAttributes,\n\t\t\t\t\t...parsedHtmlContents ];\n\t\t\t}\n\t\t\t// HTML is not allowed, so contents will remain how\n\t\t\t// it was, while HTML markup at this level will be\n\t\t\t// treated as text\n\t\t\t// E.g. assuming script tags are not allowed:\n\t\t\t//\n\t\t\t// <script>[[Foo|bar]]</script>\n\t\t\t//\n\t\t\t// results in '<script>' and '</script>'\n\t\t\t// (not treated as an HTML tag), surrounding a fully\n\t\t\t// parsed HTML link.\n\t\t\t//\n\t\t\t// Concatenate everything from the tag, flattening the contents.\n\t\t\treturn [ 'CONCAT', input.slice( startOpenTagPos, endOpenTagPos ),\n\t\t\t\t...parsedHtmlContents, input.slice( startCloseTagPos, endCloseTagPos ) ];\n\t\t}\n\n\t\t// <nowiki>...</nowiki> tag. The tags are stripped and the contents are returned unparsed.\n\t\tfunction nowiki() {\n\t\t\tconst parsedResult = sequence( [\n\t\t\t\tmakeStringParser( '<nowiki>' ),\n\t\t\t\t// We use a greedy non-backtracking parser, so we must ensure here that we don't take too much\n\t\t\t\tmakeRegexParser( /^.*?(?=<\\/nowiki>)/ ),\n\t\t\t\tmakeStringParser( '</nowiki>' )\n\t\t\t] );\n\t\t\treturn parsedResult === null ? null : [ 'CONCAT', ...parsedResult[ 1 ] ];\n\t\t}\n\n\t\tnonWhitespaceExpression = choice( [\n\t\t\ttemplate,\n\t\t\twikilink,\n\t\t\textlink,\n\t\t\treplacement,\n\t\t\tliteralWithoutSpace\n\t\t] );\n\t\tparamExpression = choice( [\n\t\t\ttemplate,\n\t\t\twikilink,\n\t\t\textlink,\n\t\t\treplacement,\n\t\t\tliteralWithoutBar\n\t\t] );\n\n\t\texpression = choice( [\n\t\t\ttemplate,\n\t\t\twikilink,\n\t\t\textlink,\n\t\t\treplacement,\n\t\t\tnowiki,\n\t\t\thtml,\n\t\t\tliteral\n\t\t] );\n\n\t\tconst regularLiteralWithSquareBrackets = makeRegexParser( /^[^{}$\\\\]/ );\n\t\tfunction curlyBraceTransformExpressionLiteral() {\n\t\t\tconst result = nOrMore( 1, regularLiteralWithSquareBrackets )();\n\t\t\treturn result === null ? null : result.join( '' );\n\t\t}\n\t\t// Used when only {{-transformation is wanted, for 'text'\n\t\t// or 'escaped' formats\n\t\tconst curlyBraceTransformExpression = choice( [\n\t\t\ttemplate,\n\t\t\treplacement,\n\t\t\tcurlyBraceTransformExpressionLiteral\n\t\t] );\n\n\t\t/**\n\t\t * Starts the parse\n\t\t *\n\t\t * @param {Function} rootExpression Root parse function\n\t\t * @return {Array|null}\n\t\t * @ignore\n\t\t */\n\t\tfunction start( rootExpression ) {\n\t\t\tconst result = nOrMore( 0, rootExpression )();\n\t\t\tif ( result === null ) {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\treturn [ 'CONCAT', ...result ];\n\t\t}\n\t\t// everything above this point is supposed to be stateless/static, but\n\t\t// I am deferring the work of turning it into prototypes & objects. It's quite fast enough\n\t\t// finally let's do some actual work...\n\n\t\tconst res = start( this.settings.onlyCurlyBraceTransform ? curlyBraceTransformExpression : expression );\n\n\t\t/*\n\t\t * For success, the p must have gotten to the end of the input\n\t\t * and returned a non-null.\n\t\t * n.b. This is part of language infrastructure, so we do not throw an internationalizable message.\n\t\t */\n\t\tif ( res === null || pos !== input.length ) {\n\t\t\tthrow new Error( 'Parse error at position ' + pos.toString() + ' in input: ' + input );\n\t\t}\n\t\treturn res;\n\t}\n\n};\n\n/**\n * Class that primarily exists to emit HTML from parser ASTs.\n *\n * @private\n * @class\n * @param {mw.language} language\n * @param {Object.<string,string>} [magic]\n */\nfunction HtmlEmitter( language, magic ) {\n\tthis.language = language;\n\tfor ( const key in ( magic || {} ) ) {\n\t\tconst val = magic[ key ];\n\t\tthis[ key.toLowerCase() ] = function () {\n\t\t\treturn val;\n\t\t};\n\t}\n\n\t/**\n\t * (We put this method definition here, and not in prototype, to make sure it's not overwritten by any magic.)\n\t * Walk entire node structure, applying replacements and template functions when appropriate\n\t *\n\t * @param {any} node Abstract syntax tree (top node or subnode)\n\t * @param {Array} replacements for $1, $2, ... $n\n\t * @return {any} single-string node or array of nodes suitable for jQuery appending\n\t */\n\tthis.emit = ( node, replacements ) => {\n\t\tswitch ( typeof node ) {\n\t\t\tcase 'string':\n\t\t\tcase 'number':\n\t\t\t\treturn node;\n\n\t\t\t// typeof returns object for arrays\n\t\t\tcase 'object': {\n\t\t\t\t// node is an array of nodes\n\t\t\t\t// eslint-disable-next-line no-jquery/no-map-util\n\t\t\t\tconst subnodes = $.map( node.slice( 1 ), ( n ) => this.emit( n, replacements ) );\n\t\t\t\tconst operation = node[ 0 ].toLowerCase();\n\t\t\t\tif ( typeof this[ operation ] === 'function' ) {\n\t\t\t\t\treturn this[ operation ]( subnodes, replacements );\n\t\t\t\t} else {\n\t\t\t\t\tthrow new Error( 'Unknown operation \"' + operation + '\"' );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tcase 'undefined':\n\t\t\t\t// Parsing the empty string (as an entire expression, or as a paramExpression in a template) results in undefined\n\t\t\t\t// Perhaps a more clever parser can detect this, and return the empty string? Or is that useful information?\n\t\t\t\t// The logical thing is probably to return the empty string here when we encounter undefined.\n\t\t\t\treturn '';\n\n\t\t\tdefault:\n\t\t\t\tthrow new Error( 'Unexpected type in AST: ' + typeof node );\n\t\t}\n\t};\n}\n\n// BIDI utility function, copied from jquery.i18n.emitter.bidi.js\n//\n// Matches the first strong directionality codepoint:\n// - in group 1 if it is LTR\n// - in group 2 if it is RTL\n// Does not match if there is no strong directionality codepoint.\n//\n// Generated by UnicodeJS (see tools/strongDir) from the UCD; see\n// https://gerrit.wikimedia.org/g/unicodejs .\n// eslint-disable-next-line no-misleading-character-class\nconst strongDirRegExp = new RegExp(\n\t'(?:' +\n\t\t'(' +\n\t\t\t'[\\u0041-\\u005a\\u0061-\\u007a\\u00aa\\u00b5\\u00ba\\u00c0-\\u00d6\\u00d8-\\u00f6\\u00f8-\\u02b8\\u02bb-\\u02c1\\u02d0\\u02d1\\u02e0-\\u02e4\\u02ee\\u0370-\\u0373\\u0376\\u0377\\u037a-\\u037d\\u037f\\u0386\\u0388-\\u038a\\u038c\\u038e-\\u03a1\\u03a3-\\u03f5\\u03f7-\\u0482\\u048a-\\u052f\\u0531-\\u0556\\u0559-\\u055f\\u0561-\\u0587\\u0589\\u0903-\\u0939\\u093b\\u093d-\\u0940\\u0949-\\u094c\\u094e-\\u0950\\u0958-\\u0961\\u0964-\\u0980\\u0982\\u0983\\u0985-\\u098c\\u098f\\u0990\\u0993-\\u09a8\\u09aa-\\u09b0\\u09b2\\u09b6-\\u09b9\\u09bd-\\u09c0\\u09c7\\u09c8\\u09cb\\u09cc\\u09ce\\u09d7\\u09dc\\u09dd\\u09df-\\u09e1\\u09e6-\\u09f1\\u09f4-\\u09fa\\u0a03\\u0a05-\\u0a0a\\u0a0f\\u0a10\\u0a13-\\u0a28\\u0a2a-\\u0a30\\u0a32\\u0a33\\u0a35\\u0a36\\u0a38\\u0a39\\u0a3e-\\u0a40\\u0a59-\\u0a5c\\u0a5e\\u0a66-\\u0a6f\\u0a72-\\u0a74\\u0a83\\u0a85-\\u0a8d\\u0a8f-\\u0a91\\u0a93-\\u0aa8\\u0aaa-\\u0ab0\\u0ab2\\u0ab3\\u0ab5-\\u0ab9\\u0abd-\\u0ac0\\u0ac9\\u0acb\\u0acc\\u0ad0\\u0ae0\\u0ae1\\u0ae6-\\u0af0\\u0af9\\u0b02\\u0b03\\u0b05-\\u0b0c\\u0b0f\\u0b10\\u0b13-\\u0b28\\u0b2a-\\u0b30\\u0b32\\u0b33\\u0b35-\\u0b39\\u0b3d\\u0b3e\\u0b40\\u0b47\\u0b48\\u0b4b\\u0b4c\\u0b57\\u0b5c\\u0b5d\\u0b5f-\\u0b61\\u0b66-\\u0b77\\u0b83\\u0b85-\\u0b8a\\u0b8e-\\u0b90\\u0b92-\\u0b95\\u0b99\\u0b9a\\u0b9c\\u0b9e\\u0b9f\\u0ba3\\u0ba4\\u0ba8-\\u0baa\\u0bae-\\u0bb9\\u0bbe\\u0bbf\\u0bc1\\u0bc2\\u0bc6-\\u0bc8\\u0bca-\\u0bcc\\u0bd0\\u0bd7\\u0be6-\\u0bf2\\u0c01-\\u0c03\\u0c05-\\u0c0c\\u0c0e-\\u0c10\\u0c12-\\u0c28\\u0c2a-\\u0c39\\u0c3d\\u0c41-\\u0c44\\u0c58-\\u0c5a\\u0c60\\u0c61\\u0c66-\\u0c6f\\u0c7f\\u0c82\\u0c83\\u0c85-\\u0c8c\\u0c8e-\\u0c90\\u0c92-\\u0ca8\\u0caa-\\u0cb3\\u0cb5-\\u0cb9\\u0cbd-\\u0cc4\\u0cc6-\\u0cc8\\u0cca\\u0ccb\\u0cd5\\u0cd6\\u0cde\\u0ce0\\u0ce1\\u0ce6-\\u0cef\\u0cf1\\u0cf2\\u0d02\\u0d03\\u0d05-\\u0d0c\\u0d0e-\\u0d10\\u0d12-\\u0d3a\\u0d3d-\\u0d40\\u0d46-\\u0d48\\u0d4a-\\u0d4c\\u0d4e\\u0d57\\u0d5f-\\u0d61\\u0d66-\\u0d75\\u0d79-\\u0d7f\\u0d82\\u0d83\\u0d85-\\u0d96\\u0d9a-\\u0db1\\u0db3-\\u0dbb\\u0dbd\\u0dc0-\\u0dc6\\u0dcf-\\u0dd1\\u0dd8-\\u0ddf\\u0de6-\\u0def\\u0df2-\\u0df4\\u0e01-\\u0e30\\u0e32\\u0e33\\u0e40-\\u0e46\\u0e4f-\\u0e5b\\u0e81\\u0e82\\u0e84\\u0e87\\u0e88\\u0e8a\\u0e8d\\u0e94-\\u0e97\\u0e99-\\u0e9f\\u0ea1-\\u0ea3\\u0ea5\\u0ea7\\u0eaa\\u0eab\\u0ead-\\u0eb0\\u0eb2\\u0eb3\\u0ebd\\u0ec0-\\u0ec4\\u0ec6\\u0ed0-\\u0ed9\\u0edc-\\u0edf\\u0f00-\\u0f17\\u0f1a-\\u0f34\\u0f36\\u0f38\\u0f3e-\\u0f47\\u0f49-\\u0f6c\\u0f7f\\u0f85\\u0f88-\\u0f8c\\u0fbe-\\u0fc5\\u0fc7-\\u0fcc\\u0fce-\\u0fda\\u1000-\\u102c\\u1031\\u1038\\u103b\\u103c\\u103f-\\u1057\\u105a-\\u105d\\u1061-\\u1070\\u1075-\\u1081\\u1083\\u1084\\u1087-\\u108c\\u108e-\\u109c\\u109e-\\u10c5\\u10c7\\u10cd\\u10d0-\\u1248\\u124a-\\u124d\\u1250-\\u1256\\u1258\\u125a-\\u125d\\u1260-\\u1288\\u128a-\\u128d\\u1290-\\u12b0\\u12b2-\\u12b5\\u12b8-\\u12be\\u12c0\\u12c2-\\u12c5\\u12c8-\\u12d6\\u12d8-\\u1310\\u1312-\\u1315\\u1318-\\u135a\\u1360-\\u137c\\u1380-\\u138f\\u13a0-\\u13f5\\u13f8-\\u13fd\\u1401-\\u167f\\u1681-\\u169a\\u16a0-\\u16f8\\u1700-\\u170c\\u170e-\\u1711\\u1720-\\u1731\\u1735\\u1736\\u1740-\\u1751\\u1760-\\u176c\\u176e-\\u1770\\u1780-\\u17b3\\u17b6\\u17be-\\u17c5\\u17c7\\u17c8\\u17d4-\\u17da\\u17dc\\u17e0-\\u17e9\\u1810-\\u1819\\u1820-\\u1877\\u1880-\\u18a8\\u18aa\\u18b0-\\u18f5\\u1900-\\u191e\\u1923-\\u1926\\u1929-\\u192b\\u1930\\u1931\\u1933-\\u1938\\u1946-\\u196d\\u1970-\\u1974\\u1980-\\u19ab\\u19b0-\\u19c9\\u19d0-\\u19da\\u1a00-\\u1a16\\u1a19\\u1a1a\\u1a1e-\\u1a55\\u1a57\\u1a61\\u1a63\\u1a64\\u1a6d-\\u1a72\\u1a80-\\u1a89\\u1a90-\\u1a99\\u1aa0-\\u1aad\\u1b04-\\u1b33\\u1b35\\u1b3b\\u1b3d-\\u1b41\\u1b43-\\u1b4b\\u1b50-\\u1b6a\\u1b74-\\u1b7c\\u1b82-\\u1ba1\\u1ba6\\u1ba7\\u1baa\\u1bae-\\u1be5\\u1be7\\u1bea-\\u1bec\\u1bee\\u1bf2\\u1bf3\\u1bfc-\\u1c2b\\u1c34\\u1c35\\u1c3b-\\u1c49\\u1c4d-\\u1c7f\\u1cc0-\\u1cc7\\u1cd3\\u1ce1\\u1ce9-\\u1cec\\u1cee-\\u1cf3\\u1cf5\\u1cf6\\u1d00-\\u1dbf\\u1e00-\\u1f15\\u1f18-\\u1f1d\\u1f20-\\u1f45\\u1f48-\\u1f4d\\u1f50-\\u1f57\\u1f59\\u1f5b\\u1f5d\\u1f5f-\\u1f7d\\u1f80-\\u1fb4\\u1fb6-\\u1fbc\\u1fbe\\u1fc2-\\u1fc4\\u1fc6-\\u1fcc\\u1fd0-\\u1fd3\\u1fd6-\\u1fdb\\u1fe0-\\u1fec\\u1ff2-\\u1ff4\\u1ff6-\\u1ffc\\u200e\\u2071\\u207f\\u2090-\\u209c\\u2102\\u2107\\u210a-\\u2113\\u2115\\u2119-\\u211d\\u2124\\u2126\\u2128\\u212a-\\u212d\\u212f-\\u2139\\u213c-\\u213f\\u2145-\\u2149\\u214e\\u214f\\u2160-\\u2188\\u2336-\\u237a\\u2395\\u249c-\\u24e9\\u26ac\\u2800-\\u28ff\\u2c00-\\u2c2e\\u2c30-\\u2c5e\\u2c60-\\u2ce4\\u2ceb-\\u2cee\\u2cf2\\u2cf3\\u2d00-\\u2d25\\u2d27\\u2d2d\\u2d30-\\u2d67\\u2d6f\\u2d70\\u2d80-\\u2d96\\u2da0-\\u2da6\\u2da8-\\u2dae\\u2db0-\\u2db6\\u2db8-\\u2dbe\\u2dc0-\\u2dc6\\u2dc8-\\u2dce\\u2dd0-\\u2dd6\\u2dd8-\\u2dde\\u3005-\\u3007\\u3021-\\u3029\\u302e\\u302f\\u3031-\\u3035\\u3038-\\u303c\\u3041-\\u3096\\u309d-\\u309f\\u30a1-\\u30fa\\u30fc-\\u30ff\\u3105-\\u312d\\u3131-\\u318e\\u3190-\\u31ba\\u31f0-\\u321c\\u3220-\\u324f\\u3260-\\u327b\\u327f-\\u32b0\\u32c0-\\u32cb\\u32d0-\\u32fe\\u3300-\\u3376\\u337b-\\u33dd\\u33e0-\\u33fe\\u3400-\\u4db5\\u4e00-\\u9fd5\\ua000-\\ua48c\\ua4d0-\\ua60c\\ua610-\\ua62b\\ua640-\\ua66e\\ua680-\\ua69d\\ua6a0-\\ua6ef\\ua6f2-\\ua6f7\\ua722-\\ua787\\ua789-\\ua7ad\\ua7b0-\\ua7b7\\ua7f7-\\ua801\\ua803-\\ua805\\ua807-\\ua80a\\ua80c-\\ua824\\ua827\\ua830-\\ua837\\ua840-\\ua873\\ua880-\\ua8c3\\ua8ce-\\ua8d9\\ua8f2-\\ua8fd\\ua900-\\ua925\\ua92e-\\ua946\\ua952\\ua953\\ua95f-\\ua97c\\ua983-\\ua9b2\\ua9b4\\ua9b5\\ua9ba\\ua9bb\\ua9bd-\\ua9cd\\ua9cf-\\ua9d9\\ua9de-\\ua9e4\\ua9e6-\\ua9fe\\uaa00-\\uaa28\\uaa2f\\uaa30\\uaa33\\uaa34\\uaa40-\\uaa42\\uaa44-\\uaa4b\\uaa4d\\uaa50-\\uaa59\\uaa5c-\\uaa7b\\uaa7d-\\uaaaf\\uaab1\\uaab5\\uaab6\\uaab9-\\uaabd\\uaac0\\uaac2\\uaadb-\\uaaeb\\uaaee-\\uaaf5\\uab01-\\uab06\\uab09-\\uab0e\\uab11-\\uab16\\uab20-\\uab26\\uab28-\\uab2e\\uab30-\\uab65\\uab70-\\uabe4\\uabe6\\uabe7\\uabe9-\\uabec\\uabf0-\\uabf9\\uac00-\\ud7a3\\ud7b0-\\ud7c6\\ud7cb-\\ud7fb\\ue000-\\ufa6d\\ufa70-\\ufad9\\ufb00-\\ufb06\\ufb13-\\ufb17\\uff21-\\uff3a\\uff41-\\uff5a\\uff66-\\uffbe\\uffc2-\\uffc7\\uffca-\\uffcf\\uffd2-\\uffd7\\uffda-\\uffdc]|\\ud800[\\udc00-\\udc0b]|\\ud800[\\udc0d-\\udc26]|\\ud800[\\udc28-\\udc3a]|\\ud800\\udc3c|\\ud800\\udc3d|\\ud800[\\udc3f-\\udc4d]|\\ud800[\\udc50-\\udc5d]|\\ud800[\\udc80-\\udcfa]|\\ud800\\udd00|\\ud800\\udd02|\\ud800[\\udd07-\\udd33]|\\ud800[\\udd37-\\udd3f]|\\ud800[\\uddd0-\\uddfc]|\\ud800[\\ude80-\\ude9c]|\\ud800[\\udea0-\\uded0]|\\ud800[\\udf00-\\udf23]|\\ud800[\\udf30-\\udf4a]|\\ud800[\\udf50-\\udf75]|\\ud800[\\udf80-\\udf9d]|\\ud800[\\udf9f-\\udfc3]|\\ud800[\\udfc8-\\udfd5]|\\ud801[\\udc00-\\udc9d]|\\ud801[\\udca0-\\udca9]|\\ud801[\\udd00-\\udd27]|\\ud801[\\udd30-\\udd63]|\\ud801\\udd6f|\\ud801[\\ude00-\\udf36]|\\ud801[\\udf40-\\udf55]|\\ud801[\\udf60-\\udf67]|\\ud804\\udc00|\\ud804[\\udc02-\\udc37]|\\ud804[\\udc47-\\udc4d]|\\ud804[\\udc66-\\udc6f]|\\ud804[\\udc82-\\udcb2]|\\ud804\\udcb7|\\ud804\\udcb8|\\ud804[\\udcbb-\\udcc1]|\\ud804[\\udcd0-\\udce8]|\\ud804[\\udcf0-\\udcf9]|\\ud804[\\udd03-\\udd26]|\\ud804\\udd2c|\\ud804[\\udd36-\\udd43]|\\ud804[\\udd50-\\udd72]|\\ud804[\\udd74-\\udd76]|\\ud804[\\udd82-\\uddb5]|\\ud804[\\uddbf-\\uddc9]|\\ud804\\uddcd|\\ud804[\\uddd0-\\udddf]|\\ud804[\\udde1-\\uddf4]|\\ud804[\\ude00-\\ude11]|\\ud804[\\ude13-\\ude2e]|\\ud804\\ude32|\\ud804\\ude33|\\ud804\\ude35|\\ud804[\\ude38-\\ude3d]|\\ud804[\\ude80-\\ude86]|\\ud804\\ude88|\\ud804[\\ude8a-\\ude8d]|\\ud804[\\ude8f-\\ude9d]|\\ud804[\\ude9f-\\udea9]|\\ud804[\\udeb0-\\udede]|\\ud804[\\udee0-\\udee2]|\\ud804[\\udef0-\\udef9]|\\ud804\\udf02|\\ud804\\udf03|\\ud804[\\udf05-\\udf0c]|\\ud804\\udf0f|\\ud804\\udf10|\\ud804[\\udf13-\\udf28]|\\ud804[\\udf2a-\\udf30]|\\ud804\\udf32|\\ud804\\udf33|\\ud804[\\udf35-\\udf39]|\\ud804[\\udf3d-\\udf3f]|\\ud804[\\udf41-\\udf44]|\\ud804\\udf47|\\ud804\\udf48|\\ud804[\\udf4b-\\udf4d]|\\ud804\\udf50|\\ud804\\udf57|\\ud804[\\udf5d-\\udf63]|\\ud805[\\udc80-\\udcb2]|\\ud805\\udcb9|\\ud805[\\udcbb-\\udcbe]|\\ud805\\udcc1|\\ud805[\\udcc4-\\udcc7]|\\ud805[\\udcd0-\\udcd9]|\\ud805[\\udd80-\\uddb1]|\\ud805[\\uddb8-\\uddbb]|\\ud805\\uddbe|\\ud805[\\uddc1-\\udddb]|\\ud805[\\ude00-\\ude32]|\\ud805\\ude3b|\\ud805\\ude3c|\\ud805\\ude3e|\\ud805[\\ude41-\\ude44]|\\ud805[\\ude50-\\ude59]|\\ud805[\\ude80-\\udeaa]|\\ud805\\udeac|\\ud805\\udeae|\\ud805\\udeaf|\\ud805\\udeb6|\\ud805[\\udec0-\\udec9]|\\ud805[\\udf00-\\udf19]|\\ud805\\udf20|\\ud805\\udf21|\\ud805\\udf26|\\ud805[\\udf30-\\udf3f]|\\ud806[\\udca0-\\udcf2]|\\ud806\\udcff|\\ud806[\\udec0-\\udef8]|\\ud808[\\udc00-\\udf99]|\\ud809[\\udc00-\\udc6e]|\\ud809[\\udc70-\\udc74]|\\ud809[\\udc80-\\udd43]|\\ud80c[\\udc00-\\udfff]|\\ud80d[\\udc00-\\udc2e]|\\ud811[\\udc00-\\ude46]|\\ud81a[\\udc00-\\ude38]|\\ud81a[\\ude40-\\ude5e]|\\ud81a[\\ude60-\\ude69]|\\ud81a\\ude6e|\\ud81a\\ude6f|\\ud81a[\\uded0-\\udeed]|\\ud81a\\udef5|\\ud81a[\\udf00-\\udf2f]|\\ud81a[\\udf37-\\udf45]|\\ud81a[\\udf50-\\udf59]|\\ud81a[\\udf5b-\\udf61]|\\ud81a[\\udf63-\\udf77]|\\ud81a[\\udf7d-\\udf8f]|\\ud81b[\\udf00-\\udf44]|\\ud81b[\\udf50-\\udf7e]|\\ud81b[\\udf93-\\udf9f]|\\ud82c\\udc00|\\ud82c\\udc01|\\ud82f[\\udc00-\\udc6a]|\\ud82f[\\udc70-\\udc7c]|\\ud82f[\\udc80-\\udc88]|\\ud82f[\\udc90-\\udc99]|\\ud82f\\udc9c|\\ud82f\\udc9f|\\ud834[\\udc00-\\udcf5]|\\ud834[\\udd00-\\udd26]|\\ud834[\\udd29-\\udd66]|\\ud834[\\udd6a-\\udd72]|\\ud834\\udd83|\\ud834\\udd84|\\ud834[\\udd8c-\\udda9]|\\ud834[\\uddae-\\udde8]|\\ud834[\\udf60-\\udf71]|\\ud835[\\udc00-\\udc54]|\\ud835[\\udc56-\\udc9c]|\\ud835\\udc9e|\\ud835\\udc9f|\\ud835\\udca2|\\ud835\\udca5|\\ud835\\udca6|\\ud835[\\udca9-\\udcac]|\\ud835[\\udcae-\\udcb9]|\\ud835\\udcbb|\\ud835[\\udcbd-\\udcc3]|\\ud835[\\udcc5-\\udd05]|\\ud835[\\udd07-\\udd0a]|\\ud835[\\udd0d-\\udd14]|\\ud835[\\udd16-\\udd1c]|\\ud835[\\udd1e-\\udd39]|\\ud835[\\udd3b-\\udd3e]|\\ud835[\\udd40-\\udd44]|\\ud835\\udd46|\\ud835[\\udd4a-\\udd50]|\\ud835[\\udd52-\\udea5]|\\ud835[\\udea8-\\udeda]|\\ud835[\\udedc-\\udf14]|\\ud835[\\udf16-\\udf4e]|\\ud835[\\udf50-\\udf88]|\\ud835[\\udf8a-\\udfc2]|\\ud835[\\udfc4-\\udfcb]|\\ud836[\\udc00-\\uddff]|\\ud836[\\ude37-\\ude3a]|\\ud836[\\ude6d-\\ude74]|\\ud836[\\ude76-\\ude83]|\\ud836[\\ude85-\\ude8b]|\\ud83c[\\udd10-\\udd2e]|\\ud83c[\\udd30-\\udd69]|\\ud83c[\\udd70-\\udd9a]|\\ud83c[\\udde6-\\ude02]|\\ud83c[\\ude10-\\ude3a]|\\ud83c[\\ude40-\\ude48]|\\ud83c\\ude50|\\ud83c\\ude51|[\\ud840-\\ud868][\\udc00-\\udfff]|\\ud869[\\udc00-\\uded6]|\\ud869[\\udf00-\\udfff]|[\\ud86a-\\ud86c][\\udc00-\\udfff]|\\ud86d[\\udc00-\\udf34]|\\ud86d[\\udf40-\\udfff]|\\ud86e[\\udc00-\\udc1d]|\\ud86e[\\udc20-\\udfff]|[\\ud86f-\\ud872][\\udc00-\\udfff]|\\ud873[\\udc00-\\udea1]|\\ud87e[\\udc00-\\ude1d]|[\\udb80-\\udbbe][\\udc00-\\udfff]|\\udbbf[\\udc00-\\udffd]|[\\udbc0-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udffd]' +\n\t\t')|(' +\n\t\t\t'[\\u0590\\u05be\\u05c0\\u05c3\\u05c6\\u05c8-\\u05ff\\u07c0-\\u07ea\\u07f4\\u07f5\\u07fa-\\u0815\\u081a\\u0824\\u0828\\u082e-\\u0858\\u085c-\\u089f\\u200f\\ufb1d\\ufb1f-\\ufb28\\ufb2a-\\ufb4f\\u0608\\u060b\\u060d\\u061b-\\u064a\\u066d-\\u066f\\u0671-\\u06d5\\u06e5\\u06e6\\u06ee\\u06ef\\u06fa-\\u0710\\u0712-\\u072f\\u074b-\\u07a5\\u07b1-\\u07bf\\u08a0-\\u08e2\\ufb50-\\ufd3d\\ufd40-\\ufdcf\\ufdf0-\\ufdfc\\ufdfe\\ufdff\\ufe70-\\ufefe]|\\ud802[\\udc00-\\udd1e]|\\ud802[\\udd20-\\ude00]|\\ud802\\ude04|\\ud802[\\ude07-\\ude0b]|\\ud802[\\ude10-\\ude37]|\\ud802[\\ude3b-\\ude3e]|\\ud802[\\ude40-\\udee4]|\\ud802[\\udee7-\\udf38]|\\ud802[\\udf40-\\udfff]|\\ud803[\\udc00-\\ude5f]|\\ud803[\\ude7f-\\udfff]|\\ud83a[\\udc00-\\udccf]|\\ud83a[\\udcd7-\\udfff]|\\ud83b[\\udc00-\\uddff]|\\ud83b[\\udf00-\\udfff]|\\ud83b[\\udf00-\\udfff]|\\ud83b[\\udf00-\\udfff]|\\ud83b[\\udf00-\\udfff]|\\ud83b[\\udf00-\\udfff]|\\ud83b[\\udf00-\\udfff]|\\ud83b[\\udf00-\\udfff]|\\ud83b[\\udf00-\\udfff]|\\ud83b[\\udf00-\\udfff]|\\ud83b[\\udf00-\\udfff]|\\ud83b[\\udf00-\\udfff]|\\ud83b[\\udf00-\\udfff]|\\ud83b[\\udf00-\\udfff]|\\ud83b[\\ude00-\\udeef]|\\ud83b[\\udef2-\\udeff]' +\n\t\t')' +\n\t')'\n);\n\n/**\n * Gets directionality of the first strongly directional codepoint\n *\n * This is the rule the BIDI algorithm uses to determine the directionality of\n * paragraphs ( http://unicode.org/reports/tr9/#The_Paragraph_Level ) and\n * FSI isolates ( http://unicode.org/reports/tr9/#Explicit_Directional_Isolates ).\n *\n * TODO: Does not handle BIDI control characters inside the text.\n * TODO: Does not handle unallocated characters.\n *\n * @ignore\n * @param {string} text The text from which to extract initial directionality.\n * @return {string|null} Directionality (either 'ltr' or 'rtl')\n */\nfunction strongDirFromContent( text ) {\n\tconst m = text.match( strongDirRegExp );\n\tif ( !m ) {\n\t\treturn null;\n\t}\n\tif ( m[ 2 ] === undefined ) {\n\t\treturn 'ltr';\n\t}\n\treturn 'rtl';\n}\n\n// For everything in input that follows double-open-curly braces, there should be an equivalent parser\n// function. For instance {{PLURAL ... }} will be processed by 'plural'.\n// If you have 'magic words' then configure the parser to have them upon creation.\n//\n// An emitter method takes the parent node, the array of subnodes and the array of replacements (the values that $1, $2... should translate to).\n// Note: all such functions must be pure, with the exception of referring to other pure functions via this.language (convertPlural and so on)\nHtmlEmitter.prototype = {\n\t/**\n\t * Parsing has been applied depth-first we can assume that all nodes here are single nodes\n\t * Must return a single node to parents -- a jQuery with synthetic span\n\t * However, unwrap any other synthetic spans in our children and pass them upwards\n\t *\n\t * @param {any[]} nodes Some single nodes, some arrays of nodes\n\t * @return {jQuery}\n\t */\n\tconcat: function ( nodes ) {\n\t\tconst $span = $( '<span>' ).addClass( 'mediaWiki_htmlEmitter' );\n\t\t// Use Array.from since mixed parameter.\n\t\tArray.from( nodes ).forEach( ( node ) => {\n\t\t\t// Let jQuery append nodes, arrays of nodes and jQuery objects\n\t\t\t// other things (strings, numbers, ..) are appended as text nodes (not as HTML strings)\n\t\t\tappendWithoutParsing( $span, node );\n\t\t} );\n\t\treturn $span;\n\t},\n\n\t/**\n\t * Return escaped replacement of correct index, or string if unavailable.\n\t * Note that we expect the parsed parameter to be zero-based. i.e. $1 should have become [ 0 ].\n\t * if the specified parameter is not found return the same string\n\t * (e.g. \"$99\" -> parameter 98 -> not found -> return \"$99\" )\n\t *\n\t * If the replacement at the index is an object, then a special property\n\t * is is added to it (if it does not exist already).\n\t * If the special property was already set, then we try to clone (instead of append)\n\t * the replacement object. This allows allow using a jQuery or HTMLElement object\n\t * multiple times within a single interface message.\n\t *\n\t * TODO: Throw error if nodes.length > 1 ?\n\t *\n\t * @param {Array} nodes List of one element, integer, n >= 0\n\t * @param {Array} replacements List of at least n strings\n\t * @return {string|jQuery} replacement\n\t */\n\treplace: function ( nodes, replacements ) {\n\t\tconst index = parseInt( nodes[ 0 ], 10 );\n\n\t\tif ( index < replacements.length ) {\n\t\t\tif ( typeof replacements[ index ] === 'object' ) {\n\t\t\t\t// Only actually clone on second use\n\t\t\t\tif ( !replacements[ index ].mwJQueryMsgHasAlreadyBeenUsedAsAReplacement ) {\n\t\t\t\t\t// Add our special property to the foreign object\n\t\t\t\t\t// in the least invasive way\n\t\t\t\t\tObject.defineProperty(\n\t\t\t\t\t\treplacements[ index ],\n\t\t\t\t\t\t'mwJQueryMsgHasAlreadyBeenUsedAsAReplacement',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tvalue: true,\n\t\t\t\t\t\t\tenumerable: false,\n\t\t\t\t\t\t\twritable: false\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t\treturn replacements[ index ];\n\t\t\t\t}\n\t\t\t\tif ( typeof replacements[ index ].clone === 'function' ) {\n\t\t\t\t\t// if it is a jQuery object, use jQuery's clone method\n\t\t\t\t\treturn replacements[ index ].clone( true );\n\t\t\t\t}\n\t\t\t\tif ( typeof replacements[ index ].cloneNode === 'function' ) {\n\t\t\t\t\t// if it is a Node, then use the native cloning functionality\n\t\t\t\t\treturn replacements[ index ].cloneNode( true );\n\t\t\t\t}\n\t\t\t\treturn replacements[ index ];\n\t\t\t}\n\t\t\treturn replacements[ index ];\n\t\t} else {\n\t\t\t// index not found, fallback to displaying variable\n\t\t\treturn '$' + ( index + 1 );\n\t\t}\n\t},\n\n\t/**\n\t * Transform wiki-link\n\t *\n\t * TODO:\n\t * It only handles basic cases, either no pipe, or a pipe with an explicit\n\t * anchor.\n\t *\n\t * It does not attempt to handle features like the pipe trick.\n\t * However, the pipe trick should usually not be present in wikitext retrieved\n\t * from the server, since the replacement is done at save time.\n\t * It may, though, if the wikitext appears in extension-controlled content.\n\t *\n\t * @param {string[]} nodes\n\t * @return {jQuery}\n\t */\n\twikilink: function ( nodes ) {\n\t\tlet page = textify( nodes[ 0 ] );\n\t\t// Strip leading ':', which is used to suppress special behavior in wikitext links,\n\t\t// e.g. [[:Category:Foo]] or [[:File:Foo.jpg]]\n\t\tif ( page.startsWith( ':' ) ) {\n\t\t\tpage = page.slice( 1 );\n\t\t}\n\t\tconst title = new mw.Title( page );\n\n\t\tlet anchor;\n\t\tif ( nodes.length === 1 ) {\n\t\t\t// [[Some Page]] or [[Namespace:Some Page]]\n\t\t\tanchor = page;\n\t\t} else {\n\t\t\t// [[Some Page|anchor text]] or [[Namespace:Some Page|anchor]]\n\t\t\tanchor = nodes[ 1 ];\n\t\t}\n\n\t\tconst $el = $( '<a>' ).attr( {\n\t\t\ttitle: title.getPrefixedText() || null,\n\t\t\thref: title.getUrl()\n\t\t} );\n\t\treturn appendWithoutParsing( $el, anchor );\n\t},\n\n\t/**\n\t * Converts array of HTML element key value pairs to object\n\t *\n\t * @param {Array} nodes Array of consecutive key value pairs, with index 2 * n being a\n\t * name and 2 * n + 1 the associated value\n\t * @return {Object} Object mapping attribute name to attribute value\n\t */\n\thtmlattributes: function ( nodes ) {\n\t\tconst mapping = {};\n\t\tfor ( let i = 0, len = nodes.length; i < len; i += 2 ) {\n\t\t\tmapping[ nodes[ i ] ] = decodePrimaryHtmlEntities( nodes[ i + 1 ] );\n\t\t}\n\t\treturn mapping;\n\t},\n\n\t/**\n\t * Handles an (already-validated) HTML element.\n\t *\n\t * @param {Array} nodes Nodes to process when creating element\n\t * @return {jQuery}\n\t */\n\thtmlelement: function ( nodes ) {\n\t\tconst tagName = nodes.shift();\n\t\tconst attributes = nodes.shift();\n\t\tconst contents = nodes;\n\t\tconst $element = $( document.createElement( tagName ) ).attr( attributes );\n\t\treturn appendWithoutParsing( $element, contents );\n\t},\n\n\t/**\n\t * Transform parsed structure into external link.\n\t *\n\t * The \"href\" can be:\n\t * - a jQuery object, treat it as \"enclosing\" the link text.\n\t * - a function, treat it as the click handler.\n\t * - a string, or our HtmlEmitter jQuery object, treat it as a URI after stringifying.\n\t *\n\t * TODO: throw an error if nodes.length > 2 ?\n\t *\n\t * @param {Array} nodes List of two elements, {jQuery|Function|String} and {string}\n\t * @return {jQuery}\n\t */\n\textlink: function ( nodes ) {\n\t\tconst arg = nodes[ 0 ],\n\t\t\tcontents = nodes[ 1 ];\n\t\tlet $el;\n\t\tif ( arg instanceof $ && !arg.hasClass( 'mediaWiki_htmlEmitter' ) ) {\n\t\t\t$el = arg;\n\t\t} else {\n\t\t\t$el = $( '<a>' );\n\t\t\tif ( typeof arg === 'function' ) {\n\t\t\t\t$el.attr( {\n\t\t\t\t\trole: 'button',\n\t\t\t\t\ttabindex: 0\n\t\t\t\t} ).on( 'click keypress', function ( e ) {\n\t\t\t\t\tif (\n\t\t\t\t\t\te.type === 'click' ||\n\t\t\t\t\t\te.type === 'keypress' && e.which === 13\n\t\t\t\t\t) {\n\t\t\t\t\t\targ.call( this, e );\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t} else {\n\t\t\t\tconst target = textify( arg );\n\n\t\t\t\tif ( target.search( new RegExp( '^(/|' + mw.config.get( 'wgUrlProtocols' ) + ')' ) ) !== -1 ) {\n\t\t\t\t\t$el.attr( 'href', target );\n\t\t\t\t\tif ( target.search( '^' + mw.config.get( 'wgArticlePath' ).replace( /\\$1/g, '.+?' ) + '$' ) === -1 ) {\n\t\t\t\t\t\t$el.addClass( 'external' );\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tmw.log( 'External link in message had illegal target ' + target );\n\t\t\t\t\treturn appendWithoutParsing(\n\t\t\t\t\t\t$( '<span>' ),\n\t\t\t\t\t\t[ '[' + target + ' ' ].concat( contents ).concat( ']' )\n\t\t\t\t\t).contents();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn appendWithoutParsing( $el.empty(), contents );\n\t},\n\n\t/**\n\t * Transform formal syntax\n\t *\n\t * @param {string[]} nodes List of nodes\n\t * @return {string|jQuery} selected (in)formal form according to the current language\n\t */\n\t'#formal': function ( nodes ) {\n\t\tconst formalityIndex = this.language.getData(\n\t\t\tmw.config.get( 'wgUserLanguage' ),\n\t\t\t'formalityIndex'\n\t\t);\n\n\t\tif ( nodes.length === 0 ) {\n\t\t\treturn '';\n\t\t} else if ( nodes.length === 1 ) {\n\t\t\treturn nodes[ 0 ];\n\t\t}\n\n\t\treturn nodes[ formalityIndex ];\n\t},\n\n\t/**\n\t * Transform parsed structure into pluralization\n\t * n.b. The first node may be a non-integer (for instance, a string representing an Arabic number).\n\t * So convert it back with the current language's convertNumber.\n\t *\n\t * @param {Array} nodes List of nodes, [ {string|number}, {string}, {string} ... ]\n\t * @return {string|jQuery} selected pluralized form according to current language\n\t */\n\tplural: function ( nodes ) {\n\t\tconst explicitPluralForms = {};\n\n\t\tconst count = parseFloat( this.language.convertNumber( textify( nodes[ 0 ] ), true ) );\n\t\tlet forms = nodes.slice( 1 );\n\t\tfor ( let formIndex = 0; formIndex < forms.length; formIndex++ ) {\n\t\t\tconst form = forms[ formIndex ];\n\n\t\t\tif ( form instanceof $ && form.hasClass( 'mediaWiki_htmlEmitter' ) ) {\n\t\t\t\t// This is a nested node, may be an explicit plural form like 5=[$2 linktext]\n\t\t\t\tconst firstChild = form.contents().get( 0 );\n\t\t\t\tif ( firstChild && firstChild.nodeType === Node.TEXT_NODE ) {\n\t\t\t\t\tconst firstChildText = firstChild.textContent;\n\t\t\t\t\tif ( /^\\d+=/.test( firstChildText ) ) {\n\t\t\t\t\t\tconst explicitPluralFormNumber = parseInt( firstChildText.split( /=/ )[ 0 ], 10 );\n\t\t\t\t\t\t// Use the digit part as key and rest of first text node and\n\t\t\t\t\t\t// rest of child nodes as value.\n\t\t\t\t\t\tfirstChild.textContent = firstChildText.slice( firstChildText.indexOf( '=' ) + 1 );\n\t\t\t\t\t\texplicitPluralForms[ explicitPluralFormNumber ] = form;\n\t\t\t\t\t\tforms[ formIndex ] = undefined;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if ( /^\\d+=/.test( form ) ) {\n\t\t\t\t// Simple explicit plural forms like 12=a dozen\n\t\t\t\tconst explicitPluralFormNumber = parseInt( form.split( /=/ )[ 0 ], 10 );\n\t\t\t\texplicitPluralForms[ explicitPluralFormNumber ] = form.slice( form.indexOf( '=' ) + 1 );\n\t\t\t\tforms[ formIndex ] = undefined;\n\t\t\t}\n\t\t}\n\n\t\t// Remove explicit plural forms from the forms. They were set undefined in the above loop.\n\t\t// eslint-disable-next-line no-jquery/no-map-util\n\t\tforms = $.map( forms, ( f ) => f );\n\n\t\treturn this.language.convertPlural( count, forms, explicitPluralForms );\n\t},\n\n\t/**\n\t * Transform parsed structure according to gender.\n\t *\n\t * The first node must be one of:\n\t * - the mw.user object (or a compatible one)\n\t * - an empty string - indicating the current user, same effect as passing the mw.user object\n\t * - a gender string ('male', 'female' or 'unknown')\n\t *\n\t * @example\n\t * {{gender:[ mw.user object | '' | 'male' | 'female' | 'unknown' ] | masculine form | feminine form | neutral form}}\n\t *\n\t * @param {Array} nodes List of nodes, [ {string|mw.user}, {string}, {string}, {string} ]\n\t * @return {string|jQuery} Selected gender form according to current language\n\t */\n\tgender: function ( nodes ) {\n\t\tconst forms = nodes.slice( 1 );\n\n\t\tlet maybeUser = nodes[ 0 ];\n\t\tif ( maybeUser === '' ) {\n\t\t\tmaybeUser = mw.user;\n\t\t}\n\n\t\tlet gender;\n\t\t// If we are passed a mw.user-like object, check their gender.\n\t\t// Otherwise, assume the gender string itself was passed .\n\t\tif ( maybeUser && maybeUser.options instanceof mw.Map ) {\n\t\t\tgender = maybeUser.options.get( 'gender' );\n\t\t} else {\n\t\t\tgender = textify( maybeUser );\n\t\t}\n\n\t\treturn this.language.gender( gender, forms );\n\t},\n\n\t/**\n\t * Wraps argument with unicode control characters for directionality safety\n\t *\n\t * Identical to the implementation in jquery.i18n.emitter.bidi.js\n\t *\n\t * This solves the problem where directionality-neutral characters at the edge of\n\t * the argument string get interpreted with the wrong directionality from the\n\t * enclosing context, giving renderings that look corrupted like \"(Ben_(WMF\".\n\t *\n\t * The wrapping is LRE...PDF or RLE...PDF, depending on the detected\n\t * directionality of the argument string, using the BIDI algorithm's own \"First\n\t * strong directional codepoint\" rule. Essentially, this works round the fact that\n\t * there is no embedding equivalent of U+2068 FSI (isolation with heuristic\n\t * direction inference). The latter is cleaner but still not widely supported.\n\t *\n\t * @param {string[]} nodes The text nodes from which to take the first item.\n\t * @return {string} Wrapped String of content as needed.\n\t */\n\tbidi: function ( nodes ) {\n\t\tconst dir = strongDirFromContent( nodes[ 0 ] );\n\t\tif ( dir === 'ltr' ) {\n\t\t\t// Wrap in LEFT-TO-RIGHT EMBEDDING ... POP DIRECTIONAL FORMATTING\n\t\t\treturn '\\u202A' + nodes[ 0 ] + '\\u202C';\n\t\t}\n\t\tif ( dir === 'rtl' ) {\n\t\t\t// Wrap in RIGHT-TO-LEFT EMBEDDING ... POP DIRECTIONAL FORMATTING\n\t\t\treturn '\\u202B' + nodes[ 0 ] + '\\u202C';\n\t\t}\n\t\t// No strong directionality: do not wrap\n\t\treturn nodes[ 0 ];\n\t},\n\n\t/**\n\t * Transform parsed structure into grammar conversion.\n\t * Invoked by putting `{{grammar:form|word}}` in a message\n\t *\n\t * @param {Array} nodes List of nodes [{Grammar case eg: genitive}, {string word}]\n\t * @return {string|jQuery} selected grammatical form according to current language\n\t */\n\tgrammar: function ( nodes ) {\n\t\tconst form = nodes[ 0 ],\n\t\t\tword = nodes[ 1 ];\n\t\t// These could be jQuery objects (passed as message parameters),\n\t\t// in which case we can't transform them (like rawParams() in PHP).\n\t\tif ( typeof form === 'string' && typeof word === 'string' ) {\n\t\t\treturn this.language.convertGrammar( word, form );\n\t\t}\n\t\treturn word;\n\t},\n\n\t/**\n\t * Transform parsed structure into a int: (interface language) message include\n\t * Invoked by putting `{{int:othermessage}}` into a message\n\t *\n\t * TODO Syntax in the included message is not parsed, this seems like a bug?\n\t *\n\t * @param {Array} nodes List of nodes\n\t * @return {string} Other message\n\t */\n\tint: function ( nodes ) {\n\t\tconst msg = textify( nodes[ 0 ] );\n\t\treturn getMessageFunction()( mwString.lcFirst( msg ) );\n\t},\n\n\t/**\n\t * Get localized namespace name from canonical name or namespace number.\n\t * Invoked by putting `{{ns:foo}}` into a message\n\t *\n\t * @param {Array} nodes List of nodes\n\t * @return {string} Localized namespace name\n\t */\n\tns: function ( nodes ) {\n\t\tlet ns = textify( nodes[ 0 ] ).trim();\n\t\tif ( !/^\\d+$/.test( ns ) ) {\n\t\t\tns = mw.config.get( 'wgNamespaceIds' )[ ns.replace( / /g, '_' ).toLowerCase() ];\n\t\t}\n\t\tns = mw.config.get( 'wgFormattedNamespaces' )[ ns ];\n\t\treturn ns || '';\n\t},\n\n\t/**\n\t * Takes an unformatted number (arab, no group separators and . as decimal separator)\n\t * and outputs it in the localized digit script and formatted with decimal\n\t * separator, according to the current language.\n\t *\n\t * @param {Array} nodes List of nodes\n\t * @return {number|string|jQuery} Formatted number\n\t */\n\tformatnum: function ( nodes ) {\n\t\tconst isInteger = !!nodes[ 1 ] && nodes[ 1 ] === 'R',\n\t\t\tnumber = nodes[ 0 ];\n\n\t\t// These could be jQuery objects (passed as message parameters),\n\t\t// in which case we can't transform them (like rawParams() in PHP).\n\t\tif ( typeof number === 'string' || typeof number === 'number' ) {\n\t\t\treturn this.language.convertNumber( number, isInteger );\n\t\t}\n\t\treturn number;\n\t},\n\n\t/**\n\t * Takes a pagename and optional URL queries and returns a full URL to that\n\t * page (with URL queries).\n\t *\n\t * @param {Array} nodes List of nodes\n\t * @return {string} A URL string\n\t */\n\tfullurl: function ( nodes ) {\n\t\tconst targetPage = textify( nodes[ 0 ] ),\n\t\t\tqueryObject = {};\n\t\tlet queryStrings = nodes[ 1 ];\n\n\t\tif ( queryStrings ) {\n\t\t\tqueryStrings = textify( queryStrings );\n\t\t\tqueryStrings = new URLSearchParams( queryStrings );\n\t\t\tfor ( const [ key, value ] of queryStrings.entries() ) {\n\t\t\t\tqueryObject[ key ] = value;\n\t\t\t}\n\t\t}\n\n\t\treturn mw.config.get( 'wgServer' ) + util.getUrl( targetPage, queryObject );\n\t},\n\n\t/**\n\t * Lowercase text\n\t *\n\t * @param {Array} nodes List of nodes\n\t * @return {string} The given text, all in lowercase\n\t */\n\tlc: function ( nodes ) {\n\t\treturn textify( nodes[ 0 ] ).toLowerCase();\n\t},\n\n\t/**\n\t * Uppercase text\n\t *\n\t * @param {Array} nodes List of nodes\n\t * @return {string} The given text, all in uppercase\n\t */\n\tuc: function ( nodes ) {\n\t\treturn textify( nodes[ 0 ] ).toUpperCase();\n\t},\n\n\t/**\n\t * Lowercase first letter of input, leaving the rest unchanged\n\t *\n\t * @param {Array} nodes List of nodes\n\t * @return {string} The given text, with the first character in lowercase\n\t */\n\tlcfirst: function ( nodes ) {\n\t\tconst text = textify( nodes[ 0 ] );\n\t\treturn mwString.lcFirst( text );\n\t},\n\n\t/**\n\t * Uppercase first letter of input, leaving the rest unchanged\n\t *\n\t * @param {Array} nodes List of nodes\n\t * @return {string} The given text, with the first character in uppercase\n\t */\n\tucfirst: function ( nodes ) {\n\t\tconst text = textify( nodes[ 0 ] );\n\t\treturn mwString.ucFirst( text );\n\t}\n};\n\n/**\n * Provides a {@link jQuery} plugin that parses messages.\n *\n * @module mediawiki.jqueryMsg\n */\n/**\n * Parses the message in the message key, doing replacements optionally, and appends the nodes to\n * the current selector. Bindings to passed-in jquery elements are preserved. Functions become click handlers for [$1 linktext] links.\n *\n * To use this {@link jQuery} plugin, load the `mediawiki.jqueryMsg` module with {@link mw.loader}.\n *\n * @memberof module:mediawiki.jqueryMsg\n * @param {string} message key\n * @param {...string[]} arguments\n * @example\n * mw.loader.using('mediawiki.jqueryMsg' ).then(() => {\n * var $userlink = $( '<a>' ).click( function () { alert( \"hello!!\" ) } );\n * $( 'p#headline' ).msg( 'hello-user', $userlink );\n * } );\n *\n * // N.B. replacements are variadic arguments or an array in second parameter. In other words:\n * somefunction( a, b, c, d )\n * // is equivalent to\n * somefunction( a, [b, c, d] )\n *\n * // Note: We append to 'this', which in a jQuery plugin context will be the selected elements.\n */\n$.fn.msg = getPlugin();\n\n// Replace the default message parser with jqueryMsg\nconst oldParser = mw.Message.prototype.parser;\nmw.Message.prototype.parser = function ( format ) {\n\t// Fall back to mw.msg's simple parser where possible\n\tif (\n\t\t// Plain text output always uses the simple parser\n\t\tformat === 'plain' ||\n\t\t(\n\t\t\t// jqueryMsg parser is needed for messages containing wikitext\n\t\t\t!/\\{\\{|[<>[&]/.test( this.map.get( this.key ) ) &&\n\t\t\t// jqueryMsg parser is needed when jQuery objects or DOM nodes are passed in as parameters\n\t\t\t!this.parameters.some( ( param ) => param instanceof $ || ( param && param.nodeType !== undefined ) )\n\t\t)\n\t) {\n\t\treturn oldParser.call( this, format );\n\t}\n\n\tif ( !Object.prototype.hasOwnProperty.call( this.map, format ) ) {\n\t\tthis.map[ format ] = getMessageFunction( {\n\t\t\tmessages: this.map,\n\t\t\t// For format 'escaped', escaping part is handled by mediawiki.js\n\t\t\tformat: format\n\t\t} );\n\t}\n\treturn this.map[ format ]( this.key, this.parameters );\n};\n\n/**\n * Parse the message to DOM nodes, rather than HTML string like {@link mw.Message#parse}.\n *\n * This method is only available when jqueryMsg is loaded.\n *\n * @example\n * const msg = mw.message( 'key' );\n * mw.loader.using(`mediawiki.jqueryMsg`).then(() => {\n * if ( msg.isParseable() ) {\n * const $node = msg.parseDom();\n * $node.appendTo('body');\n * }\n * })\n *\n * @since 1.27\n * @method parseDom\n * @memberof mw.Message.prototype\n * @return {jQuery}\n */\nmw.Message.prototype.parseDom = ( function () {\n\tlet failableParserFn;\n\n\treturn function () {\n\t\tif ( !failableParserFn ) {\n\t\t\tfailableParserFn = getFailableParserFn();\n\t\t}\n\t\tconst $result = failableParserFn( [ this.key, this.parameters ] );\n\t\treturn $result.contents();\n\t};\n}() );\n\n/**\n * Check whether the message contains only syntax supported by jqueryMsg.\n *\n * This method is only available when jqueryMsg is loaded.\n *\n * @example\n * const msg = mw.message( 'key' );\n * mw.loader.using(`mediawiki.jqueryMsg`).then(() => {\n * if ( msg.isParseable() ) {\n * ...\n * }\n * })\n *\n * @since 1.41\n * @method isParseable\n * @memberof mw.Message.prototype\n * @return {boolean}\n */\nmw.Message.prototype.isParseable = function () {\n\tconst parser = new Parser();\n\ttry {\n\t\tparser.parse( this.key, this.parameters );\n\t\treturn true;\n\t} catch ( e ) {\n\t\treturn false;\n\t}\n};\n\n/**\n * Can be deleted when MobileFrontend is updated.\n * https://phabricator.wikimedia.org/T354540\n *\n * @private\n */\nmw.jqueryMsg = {\n\tParser\n};\nmw.log.deprecate( mw, 'jqueryMsg', mw.jqueryMsg, 'mw.jqueryMsg is a @private library.' );\n// Expose for testing purposes only (not a stable API).\nmodule.exports = {\n\ttest: {\n\t\tgetMessageFunction,\n\t\tsetMessageFunction,\n\t\tgetParserDefaults,\n\t\tsetParserDefaults,\n\t\tParser\n\t}\n};\n","usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.jqueryMsg/parserDefaults.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.language.months/months.js","messages":[{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'Months' is undefined.","line":44,"column":1,"nodeType":"Block","endLine":44,"endColumn":1}],"suppressedMessages":[{"ruleId":"mediawiki/msg-doc","severity":1,"message":"All possible message keys should be documented. See https://w.wiki/4r9a for details.","line":28,"column":10,"nodeType":"CallExpression","endLine":28,"endColumn":23,"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"/*\n * Transfer of month names from messages into mw.language.\n *\n * Loading this module also ensures the availability of appropriate messages via mw.msg.\n */\n( function () {\n\tconst\n\t\tmonthMessages = [\n\t\t\t'january', 'february', 'march', 'april',\n\t\t\t'may_long', 'june', 'july', 'august',\n\t\t\t'september', 'october', 'november', 'december'\n\t\t],\n\t\tmonthGenMessages = [\n\t\t\t'january-gen', 'february-gen', 'march-gen', 'april-gen',\n\t\t\t'may-gen', 'june-gen', 'july-gen', 'august-gen',\n\t\t\t'september-gen', 'october-gen', 'november-gen', 'december-gen'\n\t\t],\n\t\tmonthAbbrevMessages = [\n\t\t\t'jan', 'feb', 'mar', 'apr',\n\t\t\t'may', 'jun', 'jul', 'aug',\n\t\t\t'sep', 'oct', 'nov', 'dec'\n\t\t];\n\n\t// Function suitable for passing to Array.prototype.map\n\t// Can't use mw.msg directly because Array.prototype.map passes element index as second argument\n\tfunction mwMsgMapper( key ) {\n\t\t// eslint-disable-next-line mediawiki/msg-doc\n\t\treturn mw.msg( key );\n\t}\n\n\t/**\n\t * @typedef {Object} mw.language~Months\n\t * @property {Array} names Month names (in nominative case in languages which have the\n\t * distinction), zero-indexed\n\t * @property {Array} genitive Month names in genitive case, zero-indexed\n\t * @property {Array} abbrev Three-letter-long abbreviated month names, zero-indexed\n\t * @property {Object} key Object with three keys like the above, containing zero-indexed arrays\n\t * of message keys for appropriate messages which can be passed to mw.msg\n\t */\n\n\t/**\n\t * Information about month names in current UI language.\n\t *\n\t * @type {Months}\n\t */\n\tmw.language.months = {\n\t\tkeys: {\n\t\t\tnames: monthMessages,\n\t\t\tgenitive: monthGenMessages,\n\t\t\tabbrev: monthAbbrevMessages\n\t\t},\n\t\tnames: monthMessages.map( mwMsgMapper ),\n\t\tgenitive: monthGenMessages.map( mwMsgMapper ),\n\t\tabbrev: monthAbbrevMessages.map( mwMsgMapper )\n\t};\n\n}() );\n","usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.language.names/names.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.language.specialCharacters/specialCharacters.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.language.specialCharacters/specialcharacters.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.language/languages/bs.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.language/languages/dsb.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.language/languages/fi.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.language/languages/ga.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.language/languages/hsb.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.language/languages/hu.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.language/languages/hy.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.language/languages/la.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.language/languages/os.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.language/languages/sl.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.language/mediawiki.language.fallback.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.language/mediawiki.language.init.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.language/mediawiki.language.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.language/mediawiki.language.numbers.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.libs.pluralruleparser/export.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.messagePoster/MessagePoster.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.messagePoster/WikitextMessagePoster.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.messagePoster/factory.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.misc-authed-curate/edittags.js","messages":[],"suppressedMessages":[{"ruleId":"camelcase","severity":2,"message":"Identifier 'placeholder_text_multiple' is not in camel case.","line":15,"column":5,"nodeType":"Identifier","messageId":"notCamelCase","endLine":15,"endColumn":30,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'no_results_text' is not in camel case.","line":16,"column":5,"nodeType":"Identifier","messageId":"notCamelCase","endLine":16,"endColumn":20,"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.misc-authed-curate/patrol.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.misc-authed-curate/rollback.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.misc-authed-ooui/action.delete.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.misc-authed-ooui/special.changecredentials.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.misc-authed-ooui/special.import.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.misc-authed-ooui/special.movePage.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.misc-authed-ooui/special.mute.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.misc-authed-ooui/special.pageLanguage.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.misc-authed-ooui/special.revisionDelete.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.misc-authed-ooui/special.undelete.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.misc-authed-ooui/special.undelete.loadMoreRevisions.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.misc-authed-pref/dblClickEdit.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.misc-authed-pref/rightClickEdit.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.notification.convertmessagebox.js","messages":[{"ruleId":"jsdoc/valid-types","severity":1,"message":"Syntax error in namepath: (require(\"mediawiki.notification.convertmessagebox\"))","line":13,"column":1,"nodeType":"Block","endLine":13,"endColumn":1}],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"/**\n * Exposes a method for converting a messagebox to a notification.\n *\n * @module mediawiki.notification.convertmessagebox\n */\n\n/**\n * Convert a messagebox to a notification.\n *\n * @example\n * const convertmessagebox = require( 'mediawiki.notification.convertmessagebox' );\n *\n * @method (require(\"mediawiki.notification.convertmessagebox\"))\n * @param {Object} [options] Options\n * @param {mw.Message} [options.msg] Message key (must be loaded already)\n */\nmodule.exports = function ( options ) {\n\tconst $successBox = $( '.mw-notify-success' ),\n\t\t$warningBox = $( '.mw-notify-warning' ),\n\t\t$errorBox = $( '.mw-notify-error' );\n\n\t// If there is a message box and javascript is enabled, use a slick notification instead!\n\tlet $msgBox, type;\n\tif ( $successBox.length ) {\n\t\t$msgBox = $successBox;\n\t\ttype = 'info';\n\t} else if ( $warningBox.length ) {\n\t\t$msgBox = $warningBox;\n\t\ttype = 'warn';\n\t} else if ( $errorBox.length ) {\n\t\t$msgBox = $errorBox;\n\t\ttype = 'error';\n\t} else {\n\t\treturn;\n\t}\n\n\tconst autoHide = $msgBox.attr( 'data-mw-autohide' ) === 'true';\n\n\t// If the msg param is given, use it, otherwise use the text of the successbox\n\tconst msg = options && options.msg || $msgBox.text();\n\t$msgBox.detach();\n\n\tlet notif = mw.notification.notify( msg, { autoHide: autoHide, type: type } );\n\tif ( !autoHide ) {\n\t\t// 'change' event not reliable!\n\t\t$( document ).one( 'keydown mousedown', () => {\n\t\t\tif ( notif ) {\n\t\t\t\tnotif.close();\n\t\t\t\tnotif = null;\n\t\t\t}\n\t\t} );\n\t}\n};\n","usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.notification/notification.js","messages":[{"ruleId":"jsdoc/require-param-type","severity":1,"message":"Missing JSDoc @param \"message\" type.","line":75,"column":1,"nodeType":"Block","endLine":75,"endColumn":1},{"ruleId":"jsdoc/require-param-type","severity":1,"message":"Missing JSDoc @param \"options\" type.","line":76,"column":1,"nodeType":"Block","endLine":76,"endColumn":1}],"suppressedMessages":[{"ruleId":"mediawiki/class-doc","severity":1,"message":"All possible CSS classes should be documented. See https://w.wiki/PS2 for details.","line":101,"column":5,"nodeType":"CallExpression","endLine":101,"endColumn":67,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"mediawiki/class-doc","severity":1,"message":"All possible CSS classes should be documented. See https://w.wiki/PS2 for details.","line":131,"column":4,"nodeType":"CallExpression","endLine":131,"endColumn":45,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-slide","severity":2,"message":"Prefer CSS transitions to .slideUp","line":331,"column":6,"nodeType":"CallExpression","endLine":333,"endColumn":9,"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":2,"fixableErrorCount":0,"fixableWarningCount":0,"source":"( function () {\n\t'use strict';\n\n\tlet notification = null,\n\t\t// The .mw-notification-area div that all notifications are contained inside.\n\t\t$area,\n\t\t// Number of open notification boxes at any time\n\t\topenNotificationCount = 0,\n\t\tisPageReady = false;\n\tconst preReadyNotifQueue = [];\n\n\t/**\n\t * Announce notification message to dedicated ARIA live region for assistive technology.\n\t *\n\t * For notifications with form controls/widgets, callers should provide\n\t * options.ariaText with a clean text message. Otherwise, the announcement\n\t * will be skipped to avoid announcing widget noise.\n\t *\n\t * @param {jQuery} $notificationContent The notification content element\n\t * @param {mw.notification.NotificationOptions} options The options for the notification\n\t */\n\tfunction announceToAriaLive( $notificationContent, options ) {\n\t\tconst ariaLiveRegion = document.getElementById( 'mw-aria-live-region' );\n\t\tif ( !ariaLiveRegion ) {\n\t\t\treturn;\n\t\t}\n\n\t\tlet announcementText;\n\n\t\t// Use explicit ariaText if provided.\n\t\tif ( options.ariaText ) {\n\t\t\tannouncementText = options.ariaText;\n\t\t} else {\n\t\t\t// Check if notification was marked as complex during construction.\n\t\t\tif ( $notificationContent[ 0 ].classList.contains( 'mw-notification-complex-content' ) ) {\n\t\t\t\t// Skip announcement for complex notifications without explicit ariaText\n\t\t\t\t// to avoid announcing all widget options and labels.\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// For simple notifications extract all text.\n\t\t\tannouncementText = $notificationContent[ 0 ].textContent.trim();\n\t\t}\n\n\t\tif ( !announcementText ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Change aria-live to assertive for errors.\n\t\tif ( options.type === 'error' ) {\n\t\t\tariaLiveRegion.setAttribute( 'aria-live', 'assertive' );\n\t\t}\n\n\t\t// Clear first to force a DOM change, ensuring screen readers detect and\n\t\t// announce the update.\n\t\t// Without this, setting the same text twice would be detected as \"no change\" and\n\t\t// not announced.\n\t\tariaLiveRegion.textContent = '';\n\t\tariaLiveRegion.textContent = announcementText;\n\n\t\t// Reset to polite for next notification if we changed it.\n\t\tif ( options.type === 'error' ) {\n\t\t\tariaLiveRegion.setAttribute( 'aria-live', 'polite' );\n\t\t}\n\t}\n\n\t/**\n\t * @typedef {Object} mw.notification~Notification\n\t * @property {mw.Message|jQuery|HTMLElement|string} message\n\t * @property {mw.notification.NotificationOptions} options\n\t */\n\n\t/**\n\t * @classdesc Describes a notification. See [mw.notification module]{@link mw.notification}. A Notification object for 1 message.\n\t * @param message\n\t * @param options\n\t *\n\t * The constructor is not publicly accessible; use [mw.notification.notify]{@link mw.notification} instead.\n\t * This does not insert anything into the document. To add to document use\n\t * [mw.notification.notify]{@link mw.notification#notify}.\n\t *\n\t * @class Notification\n\t * @global\n\t * @hideconstructor\n\t * @param {mw.notification~Notification} Notification object\n\t */\n\tfunction Notification( message, options ) {\n\n\t\tconst $notification = $( '<div>' )\n\t\t\t.data( 'mw-notification', this )\n\t\t\t.addClass( [\n\t\t\t\t'mw-notification',\n\t\t\t\toptions.autoHide ? 'mw-notification-autohide' : 'mw-notification-noautohide'\n\t\t\t] );\n\n\t\tif ( options.tag ) {\n\t\t\t// Sanitize options.tag before it is used by any code. (Including Notification class methods)\n\t\t\toptions.tag = options.tag.replace( /[ _-]+/g, '-' ).replace( /[^-a-z0-9]+/ig, '' );\n\t\t\tif ( options.tag ) {\n\t\t\t\t// eslint-disable-next-line mediawiki/class-doc\n\t\t\t\t$notification.addClass( 'mw-notification-tag-' + options.tag );\n\t\t\t} else {\n\t\t\t\tdelete options.tag;\n\t\t\t}\n\t\t}\n\n\t\tif ( options.type ) {\n\t\t\t// Sanitize options.type\n\t\t\toptions.type = options.type.replace( /[ _-]+/g, '-' ).replace( /[^-a-z0-9]+/ig, '' );\n\t\t\t// The following classes are used here:\n\t\t\t// * mw-notification-type-error\n\t\t\t// * mw-notification-type-warn\n\t\t\t// * mw-notification-type-success\n\t\t\t// * mw-notification-type-notice\n\t\t\t$notification.addClass( 'mw-notification-type-' + options.type );\n\t\t}\n\n\t\tif ( options.title ) {\n\t\t\t$( '<div>' )\n\t\t\t\t.addClass( 'mw-notification-title' )\n\t\t\t\t.text( options.title )\n\t\t\t\t.appendTo( $notification );\n\t\t}\n\n\t\tif ( options.id ) {\n\t\t\t$notification.attr( 'id', options.id );\n\t\t}\n\n\t\tif ( options.classes ) {\n\t\t\t// eslint-disable-next-line mediawiki/class-doc\n\t\t\t$notification.addClass( options.classes );\n\t\t}\n\n\t\tconst $notificationContent = $( '<div>' ).addClass( 'mw-notification-content' );\n\n\t\tif ( typeof message === 'object' ) {\n\t\t\t// Handle mw.Message objects separately from DOM nodes and jQuery objects\n\t\t\tif ( message instanceof mw.Message ) {\n\t\t\t\t$notificationContent.html( message.parse() );\n\t\t\t} else {\n\t\t\t\t$notificationContent.append( message );\n\t\t\t\t// Mark DOM/jQuery objects as complex to skip aria-live announcements\n\t\t\t\t// unless explicit ariaText is provided.\n\t\t\t\t$notificationContent.addClass( 'mw-notification-complex-content' );\n\t\t\t}\n\t\t} else {\n\t\t\t$notificationContent.text( message );\n\t\t}\n\n\t\t$notificationContent.appendTo( $notification );\n\n\t\t// Private state parameters, meant for internal use only\n\t\t// autoHideSeconds: String alias for number of seconds for timeout of auto-hiding notifications.\n\t\t// isOpen: Set to true after .start() is called to avoid double calls.\n\t\t// Set back to false after .close() to avoid duplicating the close animation.\n\t\t// isPaused: false after .resume(), true after .pause(). Avoids duplicating or breaking the hide timeouts.\n\t\t// Set to true initially so .start() can call .resume().\n\t\t// message: The message passed to the notification. Unused now but may be used in the future\n\t\t// to stop replacement of a tagged notification with another notification using the same message.\n\t\t// options: The options passed to the notification with a little sanitization. Used by various methods.\n\t\t// $notification: jQuery object containing the notification DOM node.\n\t\t// timeout: Holds appropriate methods to set/clear timeouts\n\t\tthis.autoHideSeconds = options.autoHideSeconds &&\n\t\t\tnotification.autoHideSeconds[ options.autoHideSeconds ] ||\n\t\t\tnotification.autoHideSeconds.short;\n\t\tthis.isOpen = false;\n\t\tthis.isPaused = true;\n\t\tthis.message = message;\n\t\tthis.options = options;\n\t\tthis.$notification = $notification;\n\t\tif ( options.visibleTimeout ) {\n\t\t\tthis.timeout = require( 'mediawiki.visibleTimeout' );\n\t\t} else {\n\t\t\tthis.timeout = {\n\t\t\t\tset: setTimeout,\n\t\t\t\tclear: clearTimeout\n\t\t\t};\n\t\t}\n\t}\n\n\t/**\n\t * Start the notification. Called automatically by mw.notification#notify\n\t * (possibly asynchronously on document-ready).\n\t *\n\t * This inserts the notification into the page, closes any matching tagged notifications,\n\t * handles the fadeIn animations and replacement transitions, and starts autoHide timers.\n\t *\n\t * @private\n\t */\n\tNotification.prototype.start = function () {\n\t\t$area.css( 'display', '' );\n\n\t\tif ( this.isOpen ) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.isOpen = true;\n\t\topenNotificationCount++;\n\n\t\t// Announce to screen readers when notification becomes visible\n\t\tannounceToAriaLive( this.$notification.find( '.mw-notification-content' ), this.options );\n\n\t\tconst options = this.options;\n\t\tconst $notification = this.$notification;\n\n\t\tlet $tagMatches;\n\t\tif ( options.tag ) {\n\t\t\t// Find notifications with the same tag\n\t\t\t$tagMatches = $area.find( '.mw-notification-tag-' + options.tag );\n\t\t}\n\n\t\t// If we found existing notification with the same tag, replace them\n\t\tif ( options.tag && $tagMatches.length ) {\n\n\t\t\t// While there can be only one \"open\" notif with a given tag, there can be several\n\t\t\t// matches here because they remain in the DOM until the animation is finished.\n\t\t\t$tagMatches.each( function () {\n\t\t\t\tconst notif = $( this ).data( 'mw-notification' );\n\t\t\t\tif ( notif && notif.isOpen ) {\n\t\t\t\t\t// Detach from render flow with position absolute so that the new tag can\n\t\t\t\t\t// occupy its space instead.\n\t\t\t\t\tnotif.$notification\n\t\t\t\t\t\t.css( {\n\t\t\t\t\t\t\tposition: 'absolute',\n\t\t\t\t\t\t\twidth: notif.$notification.width()\n\t\t\t\t\t\t} )\n\t\t\t\t\t\t.css( notif.$notification.position() )\n\t\t\t\t\t\t.addClass( 'mw-notification-replaced' );\n\t\t\t\t\tnotif.close();\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\t$notification\n\t\t\t\t.insertBefore( $tagMatches.first() )\n\t\t\t\t.addClass( 'mw-notification-visible' );\n\t\t} else {\n\t\t\t$area.append( $notification );\n\t\t\trequestAnimationFrame( () => {\n\t\t\t\t// This frame renders the element in the area (invisible)\n\t\t\t\trequestAnimationFrame( () => {\n\t\t\t\t\t$notification.addClass( 'mw-notification-visible' );\n\t\t\t\t} );\n\t\t\t} );\n\t\t}\n\n\t\t// By default a notification is paused.\n\t\t// If this notification is within the first {autoHideLimit} notifications then\n\t\t// start the auto-hide timer as soon as it's created.\n\t\tconst autohideCount = $area.find( '.mw-notification-autohide' ).length;\n\t\tif ( autohideCount <= notification.autoHideLimit ) {\n\t\t\tthis.resume();\n\t\t}\n\t};\n\n\t/**\n\t * Pause any running auto-hide timer for this notification.\n\t *\n\t * @memberof Notification\n\t */\n\tNotification.prototype.pause = function () {\n\t\tif ( this.isPaused ) {\n\t\t\treturn;\n\t\t}\n\t\tthis.isPaused = true;\n\n\t\tif ( this.timeoutId ) {\n\t\t\tthis.timeout.clear( this.timeoutId );\n\t\t\tdelete this.timeoutId;\n\t\t}\n\t};\n\n\t/**\n\t * Start autoHide timer if not already started.\n\t * Does nothing if autoHide is disabled.\n\t * Either to resume from pause or to make the first start.\n\t *\n\t * @memberof Notification\n\t */\n\tNotification.prototype.resume = function () {\n\t\tif ( !this.isPaused ) {\n\t\t\treturn;\n\t\t}\n\t\t// Start any autoHide timeouts\n\t\tif ( this.options.autoHide ) {\n\t\t\tthis.isPaused = false;\n\t\t\tthis.timeoutId = this.timeout.set( () => {\n\t\t\t\t// Already finished, so don't try to re-clear it\n\t\t\t\tdelete this.timeoutId;\n\t\t\t\tthis.close();\n\t\t\t}, this.autoHideSeconds * 1000 );\n\t\t}\n\t};\n\n\t/**\n\t * Close the notification.\n\t *\n\t * @memberof Notification\n\t */\n\tNotification.prototype.close = function () {\n\t\tif ( !this.isOpen ) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.isOpen = false;\n\t\topenNotificationCount--;\n\n\t\t// Clear any remaining timeout on close\n\t\tthis.pause();\n\n\t\t// Remove the mw-notification-autohide class from the notification to avoid\n\t\t// having a half-closed notification counted as a notification to resume\n\t\t// when handling {autoHideLimit}.\n\t\tthis.$notification.removeClass( 'mw-notification-autohide' );\n\n\t\t// Now that a notification is being closed. Start auto-hide timers for any\n\t\t// notification that has now become one of the first {autoHideLimit} notifications.\n\t\tnotification.resume();\n\n\t\trequestAnimationFrame( () => {\n\t\t\tthis.$notification.removeClass( 'mw-notification-visible' );\n\n\t\t\tsetTimeout( () => {\n\t\t\t\tif ( openNotificationCount === 0 ) {\n\t\t\t\t\t// Hide the area after the last notification closes. Otherwise, the padding on\n\t\t\t\t\t// the area can be obscure content, despite the area being empty/invisible (T54659). // FIXME\n\t\t\t\t\t$area.css( 'display', 'none' );\n\t\t\t\t\tthis.$notification.remove();\n\t\t\t\t} else {\n\t\t\t\t\t// FIXME: Use CSS transition\n\t\t\t\t\t// eslint-disable-next-line no-jquery/no-slide\n\t\t\t\t\tthis.$notification.slideUp( 'fast', function () {\n\t\t\t\t\t\t$( this ).remove();\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t}, 500 );\n\t\t} );\n\t};\n\n\t/**\n\t * Helper function, take a list of notification divs and call\n\t * a function on the Notification instance attached to them.\n\t *\n\t * @private\n\t * @static\n\t * @param {jQuery} $notifications A jQuery object containing notification divs\n\t * @param {string} fn The name of the function to call on the Notification instance\n\t */\n\tfunction callEachNotification( $notifications, fn ) {\n\t\t$notifications.each( function () {\n\t\t\tconst notif = $( this ).data( 'mw-notification' );\n\t\t\tif ( notif ) {\n\t\t\t\tnotif[ fn ]();\n\t\t\t}\n\t\t} );\n\t}\n\n\t/**\n\t * Initialisation.\n\t * Must only be called once, and not before the document is ready.\n\t *\n\t * @ignore\n\t */\n\tfunction init() {\n\t\tlet offset, $overlay,\n\t\t\tisFloating = false;\n\n\t\tfunction updateAreaMode() {\n\t\t\tconst shouldFloat = window.pageYOffset > offset.top;\n\t\t\tif ( isFloating === shouldFloat ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tisFloating = shouldFloat;\n\t\t\t$area\n\t\t\t\t.toggleClass( 'mw-notification-area-floating', isFloating )\n\t\t\t\t.toggleClass( 'mw-notification-area-layout', !isFloating );\n\t\t}\n\n\t\t// Look for a preset notification area in the skin.\n\t\t// 'data-mw*' attributes are banned from user content in Sanitizer.\n\t\t$area = $(\n\t\t\t'.mw-notification-area[data-mw-interface], .mw-notification-area[data-mw=\"interface\"]'\n\t\t).first();\n\t\tif ( !$area.length ) {\n\t\t\t$area = $( '<div>' ).addClass( 'mw-notification-area' );\n\t\t\t// Create overlay div for the notification area\n\t\t\t$overlay = $( '<div>' ).addClass( 'mw-notification-area-overlay' );\n\t\t\t// Append the notification area to the overlay wrapper area\n\t\t\t$overlay.append( $area );\n\t\t\t$( document.body ).append( $overlay );\n\t\t}\n\t\t$area\n\t\t\t.addClass( 'mw-notification-area-layout' )\n\t\t\t// The ID attribute here is deprecated.\n\t\t\t.attr( 'id', 'mw-notification-area' )\n\t\t\t// Pause auto-hide timers when the mouse is in the notification area.\n\t\t\t.on( {\n\t\t\t\tmouseenter: notification.pause,\n\t\t\t\tmouseleave: notification.resume\n\t\t\t} )\n\t\t\t// When clicking on a notification close it.\n\t\t\t.on( 'click', '.mw-notification', function () {\n\t\t\t\tconst notif = $( this ).data( 'mw-notification' );\n\t\t\t\tif ( notif ) {\n\t\t\t\t\tnotif.close();\n\t\t\t\t}\n\t\t\t} )\n\t\t\t// Stop click events from <a> and <select> tags from propagating to prevent clicks\n\t\t\t// from hiding a notification. stopPropagation() bubbles up, not down,\n\t\t\t// hence this should not conflict with OOUI's own click handlers.\n\t\t\t.on( 'click', 'a, select, .oo-ui-dropdownInputWidget', ( e ) => {\n\t\t\t\te.stopPropagation();\n\t\t\t} );\n\n\t\t// Read from the DOM:\n\t\t// Must be in the next frame to avoid synchronous layout\n\t\t// computation from offset()/getBoundingClientRect().\n\t\trequestAnimationFrame( () => {\n\t\t\tlet notif;\n\n\t\t\toffset = $area.offset();\n\n\t\t\t// Initial mode (reads, and then maybe writes)\n\t\t\tupdateAreaMode();\n\n\t\t\t// Once we have the offset for where it would normally render, set the\n\t\t\t// initial state of the (currently empty) notification area to be hidden.\n\t\t\t$area.css( 'display', 'none' );\n\n\t\t\t$( window ).on( 'scroll', updateAreaMode );\n\n\t\t\t// Handle pre-ready queue.\n\t\t\tisPageReady = true;\n\t\t\twhile ( preReadyNotifQueue.length ) {\n\t\t\t\tnotif = preReadyNotifQueue.shift();\n\t\t\t\tnotif.start();\n\t\t\t}\n\t\t} );\n\t}\n\n\t/**\n\t * Library for sending notifications to end users.\n\t *\n\t * @namespace mw.notification\n\t * @memberof mw\n\t * @singleton\n\t */\n\tnotification = {\n\t\t/**\n\t\t * Pause auto-hide timers for all notifications.\n\t\t * Notifications will not auto-hide until resume is called.\n\t\t *\n\t\t * @memberof mw.notification\n\t\t */\n\t\tpause: function () {\n\t\t\tcallEachNotification(\n\t\t\t\t$area.children( '.mw-notification' ),\n\t\t\t\t'pause'\n\t\t\t);\n\t\t},\n\n\t\t/**\n\t\t * Resume any paused auto-hide timers from the beginning.\n\t\t * Only the first {@link mw.notification.autoHideLimit} timers will be resumed.\n\t\t *\n\t\t * @memberof mw.notification\n\t\t */\n\t\tresume: function () {\n\t\t\tcallEachNotification(\n\t\t\t\t// Only call resume on the first #autoHideLimit notifications.\n\t\t\t\t// Exclude noautohide notifications to avoid bugs where #autoHideLimit\n\t\t\t\t// `{ autoHide: false }` notifications are at the start preventing any\n\t\t\t\t// auto-hide notifications from being autohidden.\n\t\t\t\t$area.children( '.mw-notification-autohide' ).slice( 0, notification.autoHideLimit ),\n\t\t\t\t'resume'\n\t\t\t);\n\t\t},\n\n\t\t/**\n\t\t * Display a notification message to the user.\n\t\t *\n\t\t * @memberof mw.notification\n\t\t * @param {HTMLElement|HTMLElement[]|jQuery|mw.Message|string} message\n\t\t * @param {mw.notification.NotificationOptions} [options] The options to use\n\t\t * for the notification. Options not specified default to the values in\n\t\t * [#defaults]{@link mw.notification.defaults}.\n\t\t * @return {mw.notification~Notification} Notification object\n\t\t */\n\t\tnotify: function ( message, options ) {\n\t\t\toptions = Object.assign( {}, notification.defaults, options );\n\n\t\t\tconst notif = new Notification( message, options );\n\n\t\t\tif ( isPageReady ) {\n\t\t\t\tnotif.start();\n\t\t\t} else {\n\t\t\t\tpreReadyNotifQueue.push( notif );\n\t\t\t}\n\n\t\t\treturn notif;\n\t\t},\n\n\t\t/**\n\t\t * @memberof mw.notification\n\t\t * @typedef {Object} NotificationOptions\n\t\t * @property {boolean} autoHide Whether the notification should automatically\n\t\t * be hidden after shown. Or if it should persist.\n\t\t * @property {string} autoHideSeconds Key to\n\t\t * [#autoHideSeconds]{@link mw.notification.autoHideSeconds} for number of\n\t\t * seconds for timeout of auto-hide notifications.\n\t\t * @property {string|null} tag When a notification is tagged only one message\n\t\t * with that tag will be displayed. Trying to display a new notification\n\t\t * with the same tag as one already being displayed will cause the other\n\t\t * notification to be closed and this new notification to open up inside\n\t\t * the same place as the previous notification.\n\t\t * @property {string|null} title Title for the notification. Will be displayed\n\t\t * above the content. Usually in bold.\n\t\t * @property {string|null} type The type of the message used for styling.\n\t\t * Examples: `info`, `warn`, `error`, `success`, `notice`.\n\t\t * @property {string|null} ariaText Optional text to announce to screen readers\n\t\t * via the aria-live region. Use this for notifications containing form controls\n\t\t * or widgets to provide a clean text alternative. If not provided, notifications\n\t\t * with form controls will not be announced automatically.\n\t\t * @property {boolean} visibleTimeout Whether the autoHide timeout should be\n\t\t * based on time the page was visible to user. Or if it should use wall\n\t\t * clock time.\n\t\t * @property {string|false} id HTML ID to set on the notification element.\n\t\t * @property {string|string[]|false} classes CSS class names to be set on the\n\t\t * notification element.\n\t\t */\n\n\t\t/**\n\t\t * The defaults for [#notify]{@link mw.notification.notify} options parameter.\n\t\t *\n\t\t * @memberof mw.notification\n\t\t * @type {mw.notification.NotificationOptions}\n\t\t */\n\t\tdefaults: {\n\t\t\tautoHide: true,\n\t\t\tautoHideSeconds: 'short',\n\t\t\ttag: null,\n\t\t\ttitle: null,\n\t\t\ttype: null,\n\t\t\tariaText: null,\n\t\t\tvisibleTimeout: true,\n\t\t\tid: false,\n\t\t\tclasses: false\n\t\t},\n\n\t\t/**\n\t\t * Map of predefined auto-hide timeout keys to second values. `short` is\n\t\t * used by default, and other values can be added for use in [#notify]{@link mw.notification.notify}.\n\t\t *\n\t\t * @memberof mw.notification\n\t\t * @type {Object.<string, number>}\n\t\t * @property {number} short 5 seconds (default)\n\t\t * @property {number} long 30 seconds\n\t\t */\n\t\tautoHideSeconds: {\n\t\t\tshort: 5,\n\t\t\tlong: 30\n\t\t},\n\n\t\t/**\n\t\t * Maximum number of simultaneous notifications to start auto-hide timers for.\n\t\t * Only this number of notifications being displayed will be auto-hidden at one time.\n\t\t * Any additional notifications in the list will only start counting their timeout for\n\t\t * auto-hiding after the previous messages have been closed.\n\t\t *\n\t\t * This basically represents the minimal number of notifications the user should\n\t\t * be able to process during the {@link mw.notification.defaults default} `autoHideSeconds` time.\n\t\t *\n\t\t * @memberof mw.notification\n\t\t * @type {number}\n\t\t */\n\t\tautoHideLimit: 3\n\t};\n\n\tif ( window.QUnit ) {\n\t\t$area = $( document.body );\n\t} else {\n\t\t// Don't run UI logic while under test.\n\t\t// Let the test control this instead.\n\t\t$( init );\n\t}\n\n\tmw.notification = notification;\n\n}() );\n","usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.page.gallery.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.page.gallery.slideshow.js","messages":[{"ruleId":"mediawiki/no-unlabeled-buttonwidget","severity":1,"message":"OOUI button has no label. Even icon-only buttons should set a label with invisibleLabel set to true.","line":138,"column":22,"nodeType":"NewExpression","messageId":"noLabel","endLine":141,"endColumn":6},{"ruleId":"mediawiki/no-unlabeled-buttonwidget","severity":1,"message":"OOUI button has no label. Even icon-only buttons should set a label with invisibleLabel set to true.","line":143,"column":22,"nodeType":"NewExpression","messageId":"noLabel","endLine":146,"endColumn":6},{"ruleId":"mediawiki/no-unlabeled-buttonwidget","severity":1,"message":"OOUI button has no label. Even icon-only buttons should set a label with invisibleLabel set to true.","line":148,"column":24,"nodeType":"NewExpression","messageId":"noLabel","endLine":152,"endColumn":6}],"suppressedMessages":[{"ruleId":"no-new","severity":2,"message":"Do not use 'new' for side effects.","line":494,"column":4,"nodeType":"ExpressionStatement","messageId":"noNewStatement","endLine":494,"endColumn":36,"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":3,"fixableErrorCount":0,"fixableWarningCount":0,"source":"( function () {\n\t/**\n\t * @class mw.GallerySlideshow\n\t * @classdesc Interface controls for the slideshow gallery. To use, first load\n\t * the `mediawiki.page.gallery.slideshow` ResourceLoader module.\n\t * @uses mw.Title\n\t * @uses mw.Api\n\t *\n\t * @constructor\n\t * @description Encapsulates the user interface of the slideshow galleries.\n\t * An object is instantiated for each `.mw-gallery-slideshow` element.\n\t * @param {jQuery} gallery The `<ul>` element of the gallery.\n\t */\n\tmw.GallerySlideshow = function ( gallery ) {\n\t\t// Properties\n\t\t/**\n\t\t * The `<ul>` element of the gallery.\n\t\t *\n\t\t * @type {jQuery}\n\t\t */\n\t\tthis.$gallery = $( gallery );\n\t\t/**\n\t\t * The `<li>` that has the gallery caption.\n\t\t *\n\t\t * @type {jQuery}\n\t\t */\n\t\tthis.$galleryCaption = this.$gallery.find( '.gallerycaption' );\n\t\t/**\n\t\t * Selection of `<li>` elements that have thumbnails.\n\t\t *\n\t\t * @type {jQuery}\n\t\t */\n\t\tthis.$galleryBox = this.$gallery.find( '.gallerybox' );\n\t\t/**\n\t\t * The `<li>` element of the current image.\n\t\t *\n\t\t * @type {jQuery}\n\t\t */\n\t\tthis.$currentImage = null;\n\t\t/**\n\t\t * A key value pair of thumbnail URLs and image info.\n\t\t *\n\t\t * @type {Object.<string,jQuery.Promise>}\n\t\t */\n\t\tthis.imageInfoCache = {};\n\n\t\t/* Properties */\n\t\t/**\n\t\t * The `<li>` element that contains the carousel.\n\t\t *\n\t\t * @name $carousel\n\t\t * @memberof mw.GallerySlideshow.prototype\n\t\t * @type {jQuery|null}\n\t\t */\n\n\t\t/**\n\t\t * The `<div>` element that contains the interface buttons.\n\t\t *\n\t\t * @name $interface\n\t\t * @memberof mw.GallerySlideshow.prototype\n\t\t * @type {jQuery}\n\t\t */\n\n\t\t/**\n\t\t * The `<img>` element that'll display the current image.\n\t\t *\n\t\t * @name $img\n\t\t * @memberof mw.GallerySlideshow.prototype\n\t\t * @type {jQuery}\n\t\t */\n\n\t\t/**\n\t\t * The `<p>` element that holds the image caption.\n\t\t *\n\t\t * @name $imgCaption\n\t\t * @memberof mw.GallerySlideshow.prototype\n\t\t * @type {jQuery}\n\t\t */\n\n\t\t/**\n\t\t * The `<div>` element that contains the image.\n\t\t *\n\t\t * @name $imgContainer\n\t\t * @memberof mw.GallerySlideshow.prototype\n\t\t * @type {jQuery}\n\t\t */\n\n\t\t/**\n\t\t * Width of the image based on viewport size.\n\t\t *\n\t\t * @name imageWidth\n\t\t * @memberof mw.GallerySlideshow.prototype\n\t\t * @type {number}\n\t\t */\n\n\t\t/**\n\t\t * Height of the image based on viewport size the URLs in the required size.\n\t\t *\n\t\t * @name imageHeight\n\t\t * @memberof mw.GallerySlideshow.prototype\n\t\t * @type {number}\n\t\t */\n\n\t\t// Initialize\n\t\tthis.drawCarousel();\n\t\tthis.setSizeRequirement();\n\t\tthis.toggleThumbnails( !!this.$gallery.attr( 'data-showthumbnails' ) );\n\t\tthis.showCurrentImage( true );\n\n\t\t// Events\n\t\t$( window ).on(\n\t\t\t'resize',\n\t\t\tOO.ui.debounce(\n\t\t\t\tthis.setSizeRequirement.bind( this ),\n\t\t\t\t100\n\t\t\t)\n\t\t);\n\n\t\t// Disable thumbnails' link, instead show the image in the carousel\n\t\tthis.$galleryBox.on( 'click', ( e ) => {\n\t\t\tthis.$currentImage = $( e.currentTarget );\n\t\t\tthis.showCurrentImage();\n\t\t\treturn false;\n\t\t} );\n\t};\n\n\t/* Setup */\n\tOO.initClass( mw.GallerySlideshow );\n\n\t/* Methods */\n\t/**\n\t * Draws the carousel and the interface around it.\n\t */\n\tmw.GallerySlideshow.prototype.drawCarousel = function () {\n\t\tthis.$carousel = $( '<li>' ).addClass( 'gallerycarousel' );\n\n\t\t// Buttons for the interface\n\t\tconst prevButton = new OO.ui.ButtonWidget( {\n\t\t\tframed: false,\n\t\t\ticon: 'previous'\n\t\t} ).connect( this, { click: 'prevImage' } );\n\n\t\tconst nextButton = new OO.ui.ButtonWidget( {\n\t\t\tframed: false,\n\t\t\ticon: 'next'\n\t\t} ).connect( this, { click: 'nextImage' } );\n\n\t\tconst toggleButton = new OO.ui.ButtonWidget( {\n\t\t\tframed: false,\n\t\t\ticon: 'imageGallery',\n\t\t\ttitle: mw.msg( 'gallery-slideshow-toggle' )\n\t\t} ).connect( this, { click: 'toggleThumbnails' } );\n\n\t\tconst interfaceElements = new OO.ui.PanelLayout( {\n\t\t\texpanded: false,\n\t\t\tclasses: [ 'mw-gallery-slideshow-buttons' ],\n\t\t\t$content: $( '<div>' ).append(\n\t\t\t\tprevButton.$element,\n\t\t\t\ttoggleButton.$element,\n\t\t\t\tnextButton.$element\n\t\t\t)\n\t\t} );\n\t\tthis.$interface = interfaceElements.$element;\n\n\t\t// Containers for the current image, caption etc.\n\t\tthis.$imgCaption = $( '<p>' ).attr( 'class', 'mw-gallery-slideshow-caption' );\n\t\tthis.$imgContainer = $( '<div>' )\n\t\t\t.attr( 'class', 'mw-gallery-slideshow-img-container' );\n\n\t\tconst carouselStack = new OO.ui.StackLayout( {\n\t\t\tcontinuous: true,\n\t\t\texpanded: false,\n\t\t\titems: [\n\t\t\t\tinterfaceElements,\n\t\t\t\tnew OO.ui.PanelLayout( {\n\t\t\t\t\texpanded: false,\n\t\t\t\t\t$content: this.$imgContainer\n\t\t\t\t} ),\n\t\t\t\tnew OO.ui.PanelLayout( {\n\t\t\t\t\texpanded: false,\n\t\t\t\t\t$content: this.$imgCaption\n\t\t\t\t} )\n\t\t\t]\n\t\t} );\n\t\tthis.$carousel.append( carouselStack.$element );\n\n\t\t// Append below the caption or as the first element in the gallery\n\t\tif ( this.$galleryCaption.length !== 0 ) {\n\t\t\tthis.$galleryCaption.after( this.$carousel );\n\t\t} else {\n\t\t\tthis.$gallery.prepend( this.$carousel );\n\t\t}\n\t};\n\n\t/**\n\t * Sets the {@link mw.GallerySlideshow#imageWidth imageWidth} and\n\t * {@link mw.GallerySlideshow#imageHeight imageHeight} properties based on the size of the\n\t * window. Also flushes the {@link mw.GallerySlideshow#imageInfoCache imageInfoCache} as we'll\n\t * now need URLs for a different size.\n\t */\n\tmw.GallerySlideshow.prototype.setSizeRequirement = function () {\n\t\tlet w = this.$imgContainer.width(),\n\t\t\th = Math.min( $( window ).height() * ( 3 / 4 ), this.$imgContainer.width() ) - this.getChromeHeight();\n\n\t\t// Round values in case the user's browser is returning non-integer values.\n\t\tw = Math.round( w );\n\t\th = Math.round( h );\n\n\t\t// Only update and flush the cache if the size changed\n\t\tif ( w !== this.imageWidth || h !== this.imageHeight ) {\n\t\t\tthis.imageWidth = w;\n\t\t\tthis.imageHeight = h;\n\t\t\tthis.imageInfoCache = {};\n\t\t\tthis.setImageSize();\n\t\t}\n\t};\n\n\t/**\n\t * Gets the height of the interface elements and the\n\t * gallery's caption.\n\t *\n\t * @return {number} Height\n\t */\n\tmw.GallerySlideshow.prototype.getChromeHeight = function () {\n\t\treturn this.$interface.outerHeight() + ( this.$galleryCaption.outerHeight() || 0 );\n\t};\n\n\t/**\n\t * Sets the height and width of {@link mw.GallerySlideshow#$img $img} based on the\n\t * proportion of the image and the values generated by\n\t * {@link mw.GallerySlideshow#setSizeRequirement setSizeRequirement}.\n\t */\n\tmw.GallerySlideshow.prototype.setImageSize = function () {\n\t\tif ( this.$img === undefined || this.$thumbnail === undefined ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Reset height and width\n\t\tthis.$img\n\t\t\t.removeAttr( 'width' )\n\t\t\t.removeAttr( 'height' );\n\n\t\t// Stretch image to take up the required size\n\t\tthis.$img.attr( 'height', ( this.imageHeight - this.$imgCaption.outerHeight() ) + 'px' );\n\n\t\t// Make the image smaller in case the current image\n\t\t// size is larger than the original file size.\n\t\tthis.getImageInfo( this.$thumbnail ).then( ( info ) => {\n\t\t\t// NOTE: There will be a jump when resizing the window\n\t\t\t// because the cache is cleared and this a new network request.\n\t\t\tif (\n\t\t\t\tinfo.thumbwidth < this.$img.width() ||\n\t\t\t\tinfo.thumbheight < this.$img.height()\n\t\t\t) {\n\t\t\t\tthis.$img.attr( {\n\t\t\t\t\twidth: info.thumbwidth + 'px',\n\t\t\t\t\theight: info.thumbheight + 'px'\n\t\t\t\t} );\n\t\t\t}\n\t\t} );\n\t};\n\n\t/**\n\t * Displays the image set as {@link mw.GallerySlideshow#$currentImage $currentImage} in the\n\t * carousel.\n\t *\n\t * @param {boolean} init Image being shown during gallery init (i.e. first image)\n\t */\n\tmw.GallerySlideshow.prototype.showCurrentImage = function ( init ) {\n\t\tconst $imageLi = this.getCurrentImage();\n\t\tconst $caption = $imageLi.find( '.gallerytext' );\n\n\t\t// The order of the following is important for size calculations\n\t\t// 1. Highlight current thumbnail\n\t\tthis.$gallery\n\t\t\t.find( '.gallerybox.slideshow-current' )\n\t\t\t.removeClass( 'slideshow-current' );\n\t\t$imageLi.addClass( 'slideshow-current' );\n\n\t\tthis.$thumbnail = $imageLi.find( 'img' );\n\t\tif ( this.$thumbnail.length ) {\n\t\t\t// 2. Create and show thumbnail\n\t\t\tthis.$img = $( '<img>' ).attr( {\n\t\t\t\tsrc: this.$thumbnail.attr( 'src' ),\n\t\t\t\talt: this.$thumbnail.attr( 'alt' )\n\t\t\t} );\n\t\t\t// 'image' class required for detection by MultimediaViewer\n\t\t\tconst $imgLink = $( '<a>' ).addClass( 'image' )\n\t\t\t\t.attr( 'href', $imageLi.find( 'a' ).eq( 0 ).attr( 'href' ) )\n\t\t\t\t.append( this.$img );\n\n\t\t\tthis.$imgContainer.empty().append( $imgLink );\n\t\t} else {\n\t\t\t// 2b. No image found (e.g. file doesn't exist)\n\t\t\tthis.$imgContainer.text( $imageLi.find( '.thumb' ).text() );\n\t\t}\n\n\t\t// 3. Copy caption\n\t\tthis.$imgCaption\n\t\t\t.empty()\n\t\t\t.append( $caption.clone() );\n\n\t\tif ( !this.$thumbnail.length ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// 4. Stretch thumbnail to correct size\n\t\tthis.setImageSize();\n\n\t\tconst $thumbnail = this.$thumbnail;\n\t\t// 5. Load image at the required size\n\t\tthis.loadImage( this.$thumbnail ).done( ( info ) => {\n\t\t\t// Show this image to the user only if its still the current one\n\t\t\tif ( this.$thumbnail.attr( 'src' ) === $thumbnail.attr( 'src' ) ) {\n\t\t\t\tthis.$img.attr( 'src', info.thumburl );\n\t\t\t\tthis.setImageSize();\n\t\t\t\t// Don't fire hook twice during init\n\t\t\t\tif ( !init ) {\n\t\t\t\t\tmw.hook( 'wikipage.content' ).fire( this.$imgContainer );\n\t\t\t\t}\n\n\t\t\t\t// Pre-fetch the next image\n\t\t\t\tthis.loadImage( this.getNextImage().find( 'img' ) );\n\t\t\t}\n\t\t} ).fail( () => {\n\t\t\t// Image didn't load\n\t\t\tconst title = mw.Title.newFromImg( this.$img );\n\t\t\tthis.$imgContainer.text( title ? title.getMainText() : '' );\n\t\t} );\n\t};\n\n\t/**\n\t * Loads the full image given the `<img>` element of the thumbnail.\n\t *\n\t * @param {jQuery} $img\n\t * @return {jQuery.Promise} Resolves with the image's URL and original\n\t * element once the image has loaded.\n\t */\n\tmw.GallerySlideshow.prototype.loadImage = function ( $img ) {\n\t\treturn this.getImageInfo( $img ).then( ( info ) => {\n\t\t\tconst d = $.Deferred();\n\t\t\tconst img = new Image();\n\t\t\timg.src = info.thumburl;\n\t\t\timg.onload = function () {\n\t\t\t\td.resolve( info );\n\t\t\t};\n\t\t\timg.onerror = function () {\n\t\t\t\td.reject();\n\t\t\t};\n\t\t\treturn d.promise();\n\t\t} );\n\t};\n\n\t/**\n\t * Gets the image's info given an `<img>` element.\n\t *\n\t * @param {Object} $img\n\t * @return {jQuery.Promise} Resolves with the image's info.\n\t */\n\tmw.GallerySlideshow.prototype.getImageInfo = function ( $img ) {\n\t\tconst imageSrc = $img.attr( 'src' );\n\n\t\t// Reject promise if there is no thumbnail image\n\t\tif ( $img[ 0 ] === undefined ) {\n\t\t\treturn $.Deferred().reject();\n\t\t}\n\n\t\tif ( this.imageInfoCache[ imageSrc ] === undefined ) {\n\t\t\tconst api = new mw.Api();\n\t\t\t// TODO: This supports only gallery of images\n\t\t\tconst title = mw.Title.newFromImg( $img );\n\t\t\tconst params = {\n\t\t\t\taction: 'query',\n\t\t\t\tformatversion: 2,\n\t\t\t\ttitles: title.toString(),\n\t\t\t\tprop: 'imageinfo',\n\t\t\t\tiiprop: 'url'\n\t\t\t};\n\n\t\t\t// Check which dimension we need to request, based on\n\t\t\t// image and container proportions.\n\t\t\tif ( this.getDimensionToRequest( $img ) === 'height' ) {\n\t\t\t\tparams.iiurlheight = this.imageHeight;\n\t\t\t} else {\n\t\t\t\tparams.iiurlwidth = this.imageWidth;\n\t\t\t}\n\n\t\t\tthis.imageInfoCache[ imageSrc ] = api.get( params ).then( ( data ) => {\n\t\t\t\tif ( OO.getProp( data, 'query', 'pages', 0, 'imageinfo', 0, 'thumburl' ) !== undefined ) {\n\t\t\t\t\treturn data.query.pages[ 0 ].imageinfo[ 0 ];\n\t\t\t\t} else {\n\t\t\t\t\treturn $.Deferred().reject();\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\n\t\treturn this.imageInfoCache[ imageSrc ];\n\t};\n\n\t/**\n\t * Given an image, the method checks whether to use the height\n\t * or the width to request the larger image.\n\t *\n\t * @param {jQuery} $img\n\t * @return {string}\n\t */\n\tmw.GallerySlideshow.prototype.getDimensionToRequest = function ( $img ) {\n\t\tconst ratio = $img.width() / $img.height();\n\n\t\tif ( this.imageHeight * ratio <= this.imageWidth ) {\n\t\t\treturn 'height';\n\t\t} else {\n\t\t\treturn 'width';\n\t\t}\n\t};\n\n\t/**\n\t * Toggles visibility of the thumbnails.\n\t *\n\t * @param {boolean} show Optional argument to control the state\n\t */\n\tmw.GallerySlideshow.prototype.toggleThumbnails = function ( show ) {\n\t\tthis.$galleryBox.toggle( show );\n\t\tthis.$carousel.toggleClass( 'mw-gallery-slideshow-thumbnails-toggled', show );\n\t};\n\n\t/**\n\t * Getter method for {@link mw.GallerySlideshow#$currentImage $currentImage}.\n\t *\n\t * @return {jQuery}\n\t */\n\tmw.GallerySlideshow.prototype.getCurrentImage = function () {\n\t\tthis.$currentImage = this.$currentImage || this.$galleryBox.eq( 0 );\n\t\treturn this.$currentImage;\n\t};\n\n\t/**\n\t * Gets the image after the current one. Returns the first image if\n\t * the current one is the last.\n\t *\n\t * @return {jQuery}\n\t */\n\tmw.GallerySlideshow.prototype.getNextImage = function () {\n\t\t// Not the last image in the gallery\n\t\tif ( this.$currentImage.next( '.gallerybox' )[ 0 ] !== undefined ) {\n\t\t\treturn this.$currentImage.next( '.gallerybox' );\n\t\t} else {\n\t\t\treturn this.$galleryBox.eq( 0 );\n\t\t}\n\t};\n\n\t/**\n\t * Gets the image before the current one. Returns the last image if\n\t * the current one is the first.\n\t *\n\t * @return {jQuery}\n\t */\n\tmw.GallerySlideshow.prototype.getPrevImage = function () {\n\t\t// Not the first image in the gallery\n\t\tif ( this.$currentImage.prev( '.gallerybox' )[ 0 ] !== undefined ) {\n\t\t\treturn this.$currentImage.prev( '.gallerybox' );\n\t\t} else {\n\t\t\treturn this.$galleryBox.last();\n\t\t}\n\t};\n\n\t/**\n\t * Sets the {@link mw.GallerySlideshow#$currentImage $currentImage} to the next one and shows\n\t * it in the carousel.\n\t */\n\tmw.GallerySlideshow.prototype.nextImage = function () {\n\t\tthis.$currentImage = this.getNextImage();\n\t\tthis.showCurrentImage();\n\t};\n\n\t/**\n\t * Sets the {@link mw.GallerySlideshow#$currentImage $currentImage} to the previous one and\n\t * shows it in the carousel.\n\t */\n\tmw.GallerySlideshow.prototype.prevImage = function () {\n\t\tthis.$currentImage = this.getPrevImage();\n\t\tthis.showCurrentImage();\n\t};\n\n\t// Bootstrap all slideshow galleries\n\tmw.hook( 'wikipage.content' ).add( ( $content ) => {\n\t\t$content.find( '.mw-gallery-slideshow' ).filter( function () {\n\t\t\t// This gallery slideshow feature depends on img tags being present in the DOM.\n\t\t\t// This might not be true - for example in MobileFrontend - where images are lazy loaded.\n\t\t\t// The filter statement can be removed when T194887 is resolved.\n\t\t\treturn $( this ).find( 'img' ).length > 0;\n\t\t} ).each( function () {\n\t\t\t// eslint-disable-next-line no-new\n\t\t\tnew mw.GallerySlideshow( this );\n\t\t} );\n\t} );\n\n}() );\n","usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.page.image.pagination.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.page.media.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.page.preview.js","messages":[{"ruleId":"jsdoc/valid-types","severity":1,"message":"Syntax error in namepath: ~'wikipage.tableOfContents'","line":416,"column":1,"nodeType":"Block","endLine":416,"endColumn":1},{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'Hooks.wikipage.categories' is undefined.","line":697,"column":1,"nodeType":"Block","endLine":697,"endColumn":1},{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'Hooks.wikipage.content' is undefined.","line":698,"column":1,"nodeType":"Block","endLine":698,"endColumn":1},{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'Hooks.wikipage.diff' is undefined.","line":699,"column":1,"nodeType":"Block","endLine":699,"endColumn":1},{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'Hooks.wikipage.indicators' is undefined.","line":700,"column":1,"nodeType":"Block","endLine":700,"endColumn":1},{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'Hooks.wikipage.tableOfContents' is undefined.","line":701,"column":1,"nodeType":"Block","endLine":701,"endColumn":1}],"suppressedMessages":[{"ruleId":"no-jquery/no-map-util","severity":2,"message":"Prefer Array#map to $.map","line":53,"column":16,"nodeType":"CallExpression","endLine":57,"endColumn":15,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"mediawiki/class-doc","severity":1,"message":"All possible CSS classes should be documented. See https://w.wiki/PS2 for details.","line":300,"column":11,"nodeType":"CallExpression","endLine":301,"endColumn":65,"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":6,"fixableErrorCount":0,"fixableWarningCount":0,"source":"( function () {\n\tconst api = new mw.Api();\n\tconst util = require( 'mediawiki.util' );\n\n\t/**\n\t * Show the edit summary.\n\t *\n\t * @private\n\t * @param {jQuery} $formNode\n\t * @param {Object} response\n\t */\n\tfunction showEditSummary( $formNode, response ) {\n\t\tconst $summaryPreview = $formNode.find( '.mw-summary-preview' ).empty();\n\t\tconst parse = response.parse;\n\n\t\tif ( !parse || !parse.parsedsummary ) {\n\t\t\treturn;\n\t\t}\n\n\t\t$summaryPreview.append(\n\t\t\tmw.message( 'summary-preview' ).parse(),\n\t\t\t' ',\n\t\t\t$( '<span>' ).addClass( 'comment' ).html( parenthesesWrap( parse.parsedsummary ) )\n\t\t);\n\t}\n\n\t/**\n\t * Wrap a string in parentheses.\n\t *\n\t * @private\n\t * @param {string} str\n\t * @return {string}\n\t */\n\tfunction parenthesesWrap( str ) {\n\t\tif ( str === '' ) {\n\t\t\treturn str;\n\t\t}\n\t\t// There is no equivalent to rawParams\n\t\treturn mw.message( 'parentheses' ).escaped()\n\t\t\t// Specify a function as the replacement,\n\t\t\t// so that \"$\" characters in str are not interpreted.\n\t\t\t.replace( '$1', () => str );\n\t}\n\n\t/**\n\t * Show status indicators.\n\t *\n\t * @private\n\t * @param {Array} indicators\n\t */\n\tfunction showIndicators( indicators ) {\n\t\t// eslint-disable-next-line no-jquery/no-map-util\n\t\tindicators = $.map( indicators, ( indicator, name ) => $( '<div>' )\n\t\t\t.addClass( 'mw-indicator' )\n\t\t\t.attr( 'id', mw.util.escapeIdForAttribute( 'mw-indicator-' + name ) )\n\t\t\t.html( indicator )\n\t\t\t.get( 0 ) );\n\t\tif ( indicators.length ) {\n\t\t\tmw.hook( 'wikipage.indicators' ).fire( $( indicators ) );\n\t\t}\n\n\t\t// Add whitespace between the <div>s because\n\t\t// they get displayed with display: inline-block\n\t\tconst newList = [];\n\t\tindicators.forEach( ( indicator ) => {\n\t\t\tnewList.push( indicator, document.createTextNode( '\\n' ) );\n\t\t} );\n\n\t\t$( '.mw-indicators' ).empty().append( newList );\n\t}\n\n\t/**\n\t * Show the templates used.\n\t *\n\t * The formatting here repeats what is done in includes/TemplatesOnThisPageFormatter.php\n\t *\n\t * @private\n\t * @param {Array} templates List of template titles.\n\t */\n\tfunction showTemplates( templates ) {\n\t\t// The .templatesUsed div can be empty, if no templates are in use.\n\t\t// In that case, we have to create the required structure.\n\t\tconst $parent = $( '.templatesUsed' );\n\n\t\t// Find or add the explanation text (the toggler for collapsing).\n\t\tlet $explanation = $parent.find( '.mw-templatesUsedExplanation p' );\n\t\tif ( $explanation.length === 0 ) {\n\t\t\t$explanation = $( '<p>' );\n\t\t\t$parent.append( $( '<div>' )\n\t\t\t\t.addClass( 'mw-templatesUsedExplanation' )\n\t\t\t\t.append( $explanation ) );\n\t\t}\n\n\t\t// Find or add the list. The makeCollapsible() method is called on this\n\t\t// in resources/src/mediawiki.action/mediawiki.action.edit.collapsibleFooter.js\n\t\tlet $list = $parent.find( 'ul' );\n\t\tif ( $list.length === 0 ) {\n\t\t\t$list = $( '<ul>' ).addClass( [ 'mw-editfooter-list', 'mw-collapsible', 'mw-made-collapsible' ] );\n\t\t\t$parent.append( $list );\n\t\t}\n\n\t\tif ( templates.length === 0 ) {\n\t\t\t$explanation.msg( 'templatesusedpreview', 0 );\n\t\t\t$list.empty();\n\t\t\treturn;\n\t\t}\n\n\t\t// Fetch info about all templates, batched because API is limited to 50 at a time.\n\t\t$parent.addClass( 'mw-preview-loading-elements-loading' );\n\t\tconst batchSize = 50;\n\t\tconst requests = [];\n\t\tfor ( let batch = 0; batch < templates.length; batch += batchSize ) {\n\t\t\t// Build a list of template names for this batch.\n\t\t\tconst titles = templates\n\t\t\t\t.slice( batch, batch + batchSize )\n\t\t\t\t.map( ( template ) => template.title );\n\t\t\trequests.push( api.post( {\n\t\t\t\taction: 'query',\n\t\t\t\tformat: 'json',\n\t\t\t\tformatversion: 2,\n\t\t\t\ttitles: titles,\n\t\t\t\tprop: 'info',\n\t\t\t\t// @todo Do we need inlinkcontext here?\n\t\t\t\tinprop: 'linkclasses|protection',\n\t\t\t\tintestactions: 'edit'\n\t\t\t} ) );\n\t\t}\n\t\t$.when( ...requests ).done( function () {\n\t\t\tconst templatesAllInfo = [];\n\t\t\t// For the first batch, empty the list in preparation for either adding new items or not needing to.\n\t\t\tfor ( let r = 0; r < arguments.length; r++ ) {\n\t\t\t\t// Response is either the whole argument, or the 0th element of it.\n\t\t\t\tconst response = arguments[ r ][ 0 ] || arguments[ r ];\n\t\t\t\tconst templatesInfo = ( response.query && response.query.pages ) || [];\n\t\t\t\ttemplatesInfo.forEach( ( ti ) => {\n\t\t\t\t\ttemplatesAllInfo.push( {\n\t\t\t\t\t\ttitle: mw.Title.newFromText( ti.title ),\n\t\t\t\t\t\tapiData: ti\n\t\t\t\t\t} );\n\t\t\t\t} );\n\t\t\t}\n\t\t\t// Sort alphabetically.\n\t\t\ttemplatesAllInfo.sort( ( t1, t2 ) => {\n\t\t\t\t// Compare titles with the same rules of Title::compare() in PHP.\n\t\t\t\tif ( t1.title.getNamespaceId() !== t2.title.getNamespaceId() ) {\n\t\t\t\t\treturn t1.title.getNamespaceId() - t2.title.getNamespaceId();\n\t\t\t\t} else {\n\t\t\t\t\treturn t1.title.getMain() === t2.title.getMain() ?\n\t\t\t\t\t\t0 :\n\t\t\t\t\t\tt1.title.getMain() < t2.title.getMain() ? -1 : 1;\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\t// Add new template list, and update the list header.\n\t\t\tconst $listNew = $( '<ul>' );\n\t\t\taddItemToTemplateListPromise( $listNew, templatesAllInfo, 0 )\n\t\t\t\t.then( () => {\n\t\t\t\t\t$list.html( $listNew.html() );\n\t\t\t\t} );\n\t\t\t$explanation.msg( 'templatesusedpreview', templatesAllInfo.length );\n\t\t} ).always( () => {\n\t\t\t$parent.removeClass( 'mw-preview-loading-elements-loading' );\n\t\t} );\n\t}\n\n\t/**\n\t * Recursive function to add a template link to the list of templates in use.\n\t * This is useful because addItemToTemplateList() might need to make extra API requests to fetch\n\t * messages, but we don't want to send parallel requests for these (because they're often the\n\t * for the same messages).\n\t *\n\t * @private\n\t * @param {jQuery} $list The `<ul>` to add the item to.\n\t * @param {Object} templatesInfo All templates' info, sorted by namespace and title.\n\t * @param {number} templateIndex The current item in templatesInfo (0-indexed).\n\t * @return {jQuery.Promise}\n\t */\n\tfunction addItemToTemplateListPromise( $list, templatesInfo, templateIndex ) {\n\t\treturn addItemToTemplateList( $list, templatesInfo[ templateIndex ] ).then( () => {\n\t\t\tif ( templatesInfo[ templateIndex + 1 ] !== undefined ) {\n\t\t\t\treturn addItemToTemplateListPromise( $list, templatesInfo, templateIndex + 1 );\n\t\t\t}\n\t\t} );\n\t}\n\n\t/**\n\t * Create list item with relevant links for the given template, and add it to the $list.\n\t *\n\t * @private\n\t * @param {jQuery} $list The `<ul>` to add the item to.\n\t * @param {Object} template Template info with which to construct the `<li>`.\n\t * @return {jQuery.Promise}\n\t */\n\tfunction addItemToTemplateList( $list, template ) {\n\t\tconst editable = template.apiData.ns >= 0;\n\t\tconst canEdit = editable && template.apiData.actions.edit !== undefined;\n\t\tconst linkClasses = template.apiData.linkclasses || [];\n\t\tif ( template.apiData.missing !== undefined && template.apiData.known === undefined ) {\n\t\t\tlinkClasses.push( 'new' );\n\t\t}\n\t\tconst $baseLink = $( '<a>' )\n\t\t\t// Additional CSS classes (e.g. link colors) used for links to this template.\n\t\t\t// The following classes might be used here:\n\t\t\t// * new\n\t\t\t// * mw-redirect\n\t\t\t// * any added by the GetLinkColours hook\n\t\t\t.addClass( linkClasses );\n\t\tconst $link = $baseLink.clone()\n\t\t\t.attr( 'href', template.title.getUrl() )\n\t\t\t.text( template.title.getPrefixedText() );\n\n\t\tif ( editable ) {\n\t\t\tconst $editLink = $baseLink.clone()\n\t\t\t\t.attr( 'href', template.title.getUrl( { action: 'edit' } ) )\n\t\t\t\t.append( mw.message( canEdit ? 'editlink' : 'viewsourcelink' ).escaped() );\n\n\t\t\tconst wordSep = mw.message( 'word-separator' ).escaped();\n\t\t\treturn getRestrictionsText( template.apiData.protection || [] )\n\t\t\t\t.then( ( restrictionsList ) => {\n\t\t\t\t\t// restrictionsList is a comma-separated parentheses-wrapped localized list of restriction level names.\n\t\t\t\t\tconst editLinkParens = parenthesesWrap( $editLink[ 0 ].outerHTML );\n\t\t\t\t\tconst $li = $( '<li>' ).append( $link, wordSep, editLinkParens, wordSep, restrictionsList );\n\t\t\t\t\t$list.append( $li );\n\t\t\t\t} );\n\t\t} else {\n\t\t\t$list.append( $( '<li>' ).append( $link ) );\n\t\t\treturn $.Deferred().resolve( '' );\n\t\t}\n\t}\n\n\t/**\n\t * Get a localized string listing the restriction levels for a template.\n\t *\n\t * This should match the logic from TemplatesOnThisPageFormatter::getRestrictionsText().\n\t *\n\t * @private\n\t * @param {Array} restrictions Set of protection info objects from the inprop=protection API.\n\t * @return {jQuery.Promise}\n\t */\n\tfunction getRestrictionsText( restrictions ) {\n\t\tlet msg = '';\n\t\tif ( !restrictions ) {\n\t\t\treturn $.Deferred().resolve( msg );\n\t\t}\n\n\t\t// Record other restriction levels, in case it's protected for others.\n\t\tconst restrictionLevels = [];\n\t\trestrictions.forEach( ( r ) => {\n\t\t\tif ( r.type !== 'edit' ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif ( r.level === 'sysop' ) {\n\t\t\t\tmsg = mw.msg( 'template-protected' );\n\t\t\t} else if ( r.level === 'autoconfirmed' ) {\n\t\t\t\tmsg = mw.msg( 'template-semiprotected' );\n\t\t\t} else {\n\t\t\t\trestrictionLevels.push( r.level );\n\t\t\t}\n\t\t} );\n\n\t\t// If sysop or autoconfirmed, use that.\n\t\tif ( msg !== '' ) {\n\t\t\treturn $.Deferred().resolve( msg );\n\t\t}\n\n\t\t// Otherwise, if the edit restriction isn't one of the backwards-compatible ones,\n\t\t// use the (possibly custom) restriction-level-* messages.\n\t\tconst msgs = [];\n\t\trestrictionLevels.forEach( ( level ) => {\n\t\t\tmsgs.push( 'restriction-level-' + level );\n\t\t} );\n\t\tif ( msgs.length === 0 ) {\n\t\t\treturn $.Deferred().resolve( '' );\n\t\t}\n\n\t\t// Custom restriction levels don't have their messages loaded, so we have to do that.\n\t\treturn api.loadMessagesIfMissing( msgs ).then( () => {\n\t\t\tconst localizedMessages = msgs.map(\n\t\t\t\t// Messages that can be used here include:\n\t\t\t\t// * restriction-level-sysop\n\t\t\t\t// * restriction-level-autoconfirmed\n\t\t\t\t( m ) => mw.message( m ).parse()\n\t\t\t);\n\t\t\t// There's no commaList in JS, so just join with commas (doesn't handle the last item).\n\t\t\treturn parenthesesWrap( localizedMessages.join( mw.msg( 'comma-separator' ) ) );\n\t\t} );\n\t}\n\n\t/**\n\t * Show the language links (Vector-specific).\n\t * TODO: Doesn't work in vector-2022 (maybe it doesn't need to?)\n\t *\n\t * @private\n\t * @param {Array} langLinks\n\t */\n\tfunction showLanguageLinks( langLinks ) {\n\t\tconst newList = langLinks.map( ( langLink ) => {\n\t\t\tconst bcp47 = mw.language.bcp47( langLink.lang );\n\t\t\t// eslint-disable-next-line mediawiki/class-doc\n\t\t\treturn $( '<li>' )\n\t\t\t\t.addClass( 'interlanguage-link interwiki-' + langLink.lang )\n\t\t\t\t.append( $( '<a>' )\n\t\t\t\t\t.attr( {\n\t\t\t\t\t\thref: langLink.url,\n\t\t\t\t\t\ttitle: langLink.title + ' - ' + langLink.langname,\n\t\t\t\t\t\tlang: bcp47,\n\t\t\t\t\t\threflang: bcp47\n\t\t\t\t\t} )\n\t\t\t\t\t.text( langLink.autonym )\n\t\t\t\t);\n\t\t} );\n\t\tconst $list = $( '#p-lang ul' ),\n\t\t\t$parent = $list.parent();\n\t\t$list.detach().empty().append( newList ).prependTo( $parent );\n\t}\n\n\t/**\n\t * Parse preview response and show a warning at the top of the preview.\n\t *\n\t * @private\n\t * @param {Object} config\n\t * @param {Object} response\n\t */\n\tfunction showPreviewNotes( config, response ) {\n\t\tconst arrow = $( document.body ).css( 'direction' ) === 'rtl' ? '←' : '→';\n\t\tconst $previewHeader = $( '<div>' )\n\t\t\t.addClass( 'previewnote' )\n\t\t\t.append( $( '<h2>' )\n\t\t\t\t.attr( 'id', 'mw-previewheader' )\n\t\t\t\t// TemplateSandbox will insert an HTML string here.\n\t\t\t\t.append( config.previewHeader )\n\t\t\t);\n\n\t\tconst warningContentElement = $( '<div>' )\n\t\t\t.append(\n\t\t\t\t// TemplateSandbox will insert a jQuery here.\n\t\t\t\tconfig.previewNote,\n\t\t\t\t' ',\n\t\t\t\t$( '<span>' )\n\t\t\t\t\t.addClass( 'mw-continue-editing' )\n\t\t\t\t\t.append( $( '<a>' )\n\t\t\t\t\t\t.attr( 'href', '#' + config.$formNode.attr( 'id' ) )\n\t\t\t\t\t\t.text( arrow + ' ' + mw.msg( 'continue-editing' ) )\n\t\t\t\t\t),\n\t\t\t\tresponse.parse.parsewarningshtml.map( ( warning ) => $( '<p>' ).append( warning ) )\n\t\t\t)[ 0 ];\n\t\tconst warningMessageElement = util.messageBox(\n\t\t\twarningContentElement,\n\t\t\t'warning'\n\t\t);\n\t\t$previewHeader.append( warningMessageElement );\n\t\tconfig.$previewNode.prepend( $previewHeader );\n\t}\n\n\t/**\n\t * Show an error message in place of a preview.\n\t *\n\t * @private\n\t * @param {Object} config\n\t * @param {jQuery} $message\n\t */\n\tfunction showError( config, $message ) {\n\t\tconst errorContentElement = $( '<div>' )\n\t\t\t.append(\n\t\t\t\t$( '<strong>' ).text( mw.msg( 'previewerrortext' ) ),\n\t\t\t\t$message\n\t\t\t)[ 0 ];\n\t\tconst errorMessageElement = util.messageBox( errorContentElement, 'error' );\n\t\terrorMessageElement.classList.add( 'mw-page-preview-error' );\n\t\tconfig.$previewNode.hide().before( errorMessageElement );\n\t\tif ( config.$diffNode ) {\n\t\t\tconfig.$diffNode.hide();\n\t\t}\n\t}\n\n\t/**\n\t * Update the various bits of the page based on the response.\n\t *\n\t * @private\n\t * @param {Object} config\n\t * @param {Object} response\n\t */\n\tfunction handleParseResponse( config, response ) {\n\t\tlet $content;\n\n\t\t// Js config variables and modules.\n\t\tif ( response.parse.jsconfigvars ) {\n\t\t\tmw.config.set( response.parse.jsconfigvars );\n\t\t}\n\t\tif ( response.parse.modules ) {\n\t\t\tmw.loader.load( response.parse.modules.concat(\n\t\t\t\tresponse.parse.modulestyles\n\t\t\t) );\n\t\t}\n\n\t\t// Indicators.\n\t\tshowIndicators( response.parse.indicators );\n\n\t\t// Display title.\n\t\tif ( response.parse.displaytitle ) {\n\t\t\t$( '#firstHeadingTitle' ).html( response.parse.displaytitle );\n\t\t}\n\n\t\t// Categories.\n\t\tif ( response.parse.categorieshtml ) {\n\t\t\t$content = $( $.parseHTML( response.parse.categorieshtml ) );\n\t\t\tmw.hook( 'wikipage.categories' ).fire( $content );\n\t\t\t$( '.catlinks[data-mw=\"interface\"]' ).replaceWith( $content );\n\t\t}\n\n\t\t// Table of contents.\n\t\tif ( response.parse.sections ) {\n\t\t\t/**\n\t\t\t * Fired when dynamic changes have been made to the table of contents.\n\t\t\t *\n\t\t\t * @event ~'wikipage.tableOfContents'\n\t\t\t * @memberof Hooks\n\t\t\t * @param {Object[]} sections Metadata about each section, as returned by\n\t\t\t * [API:Parse]{@link https://www.mediawiki.org/wiki/Special:MyLanguage/API:Parsing_wikitext}.\n\t\t\t */\n\t\t\tmw.hook( 'wikipage.tableOfContents' ).fire(\n\t\t\t\tresponse.parse.hidetoc ? [] : response.parse.sections\n\t\t\t);\n\t\t}\n\n\t\t// Templates.\n\t\tif ( response.parse.templates ) {\n\t\t\tshowTemplates( response.parse.templates );\n\t\t}\n\n\t\t// Limit report.\n\t\tif ( response.parse.limitreporthtml ) {\n\t\t\t$( '.limitreport' ).html( response.parse.limitreporthtml )\n\t\t\t\t.find( '.mw-collapsible' ).makeCollapsible();\n\t\t}\n\n\t\t// Language links.\n\t\tif ( response.parse.langlinks && mw.config.get( 'skin' ) === 'vector' ) {\n\t\t\tshowLanguageLinks( response.parse.langlinks );\n\t\t}\n\n\t\tif ( !response.parse.text ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Remove any previous preview\n\t\tconfig.$previewNode.children( '.mw-parser-output' ).remove();\n\t\t// Remove preview note, if present (added by Live Preview, etc.).\n\t\tconfig.$previewNode.find( '.previewnote' ).remove();\n\n\t\tif ( config.isLivePreview ) {\n\t\t\tshowPreviewNotes( config, response );\n\t\t}\n\n\t\t$content = $( $.parseHTML( response.parse.text ) );\n\n\t\tconfig.$previewNode.append( $content ).show();\n\n\t\tmw.hook( 'wikipage.content' ).fire( $content );\n\t}\n\n\t/**\n\t * Get the unresolved promise of the preview request.\n\t *\n\t * @private\n\t * @param {Object} config\n\t * @param {string|number} section\n\t * @return {jQuery.Promise}\n\t */\n\tfunction getParseRequest( config, section ) {\n\t\tconst params = {\n\t\t\tformatversion: 2,\n\t\t\taction: 'parse',\n\t\t\tsummary: config.summary,\n\t\t\tprop: ''\n\t\t};\n\t\tparams[ config.titleParam ] = config.title;\n\n\t\tif ( !config.showDiff ) {\n\t\t\tparams[ config.textParam ] = config.$textareaNode.textSelection( 'getContents' );\n\t\t\tObject.assign( params, {\n\t\t\t\tprop: 'text|indicators|displaytitle|modules|jsconfigvars|categorieshtml|sections|templates|langlinks|limitreporthtml|parsewarningshtml',\n\t\t\t\tpst: true,\n\t\t\t\tpreview: true,\n\t\t\t\tsectionpreview: section !== '',\n\t\t\t\tdisableeditsection: true,\n\t\t\t\tuseskin: mw.config.get( 'skin' ),\n\t\t\t\tuselang: mw.config.get( 'wgUserLanguage' )\n\t\t\t} );\n\t\t\tif ( mw.config.get( 'wgUserVariant' ) ) {\n\t\t\t\tparams.variant = mw.config.get( 'wgUserVariant' );\n\t\t\t}\n\t\t}\n\t\tif ( section === 'new' ) {\n\t\t\tparams.section = 'new';\n\t\t\tparams.sectiontitle = params.summary;\n\t\t\tdelete params.summary;\n\t\t}\n\n\t\tObject.assign( params, config.parseParams );\n\n\t\treturn api.post( params, { headers: { 'Promise-Non-Write-API-Action': 'true' } } );\n\t}\n\n\t/**\n\t * Get the required <table> structure for displaying diffs.\n\t *\n\t * @return {jQuery}\n\t */\n\tfunction getDiffTable() {\n\t\treturn $( '<table>' ).addClass( 'diff' ).append(\n\t\t\t$( '<col>' ).addClass( 'diff-marker' ),\n\t\t\t$( '<col>' ).addClass( 'diff-content' ),\n\t\t\t$( '<col>' ).addClass( 'diff-marker' ),\n\t\t\t$( '<col>' ).addClass( 'diff-content' ),\n\t\t\t$( '<thead>' ).append(\n\t\t\t\t$( '<tr>' ).addClass( 'diff-title' ).append(\n\t\t\t\t\t$( '<td>' )\n\t\t\t\t\t\t.attr( 'colspan', 2 )\n\t\t\t\t\t\t.addClass( 'diff-otitle diff-side-deleted' )\n\t\t\t\t\t\t.text( mw.msg( 'currentrev' ) ),\n\t\t\t\t\t$( '<td>' )\n\t\t\t\t\t\t.attr( 'colspan', 2 )\n\t\t\t\t\t\t.addClass( 'diff-ntitle diff-side-added' )\n\t\t\t\t\t\t.text( mw.msg( 'yourtext' ) )\n\t\t\t\t)\n\t\t\t),\n\t\t\t$( '<tbody>' )\n\t\t);\n\t}\n\n\t/**\n\t * Show the diff from the response.\n\t *\n\t * @private\n\t * @param {Object} config\n\t * @param {Object} response\n\t */\n\tfunction handleDiffResponse( config, response ) {\n\t\tconst $table = getDiffTable();\n\t\tconfig.$diffNode\n\t\t\t.hide()\n\t\t\t.empty()\n\t\t\t.append( $table );\n\n\t\tconst diff = response.compare.bodies;\n\t\tif ( diff.main ) {\n\t\t\t$table.find( 'tbody' ).html( diff.main );\n\t\t\tmw.hook( 'wikipage.diff' ).fire( $table );\n\t\t} else {\n\t\t\t// The diff is empty.\n\t\t\tconst $tableCell = $( '<td>' )\n\t\t\t\t.attr( 'colspan', 4 )\n\t\t\t\t.addClass( 'diff-notice' )\n\t\t\t\t.append(\n\t\t\t\t\t$( '<div>' )\n\t\t\t\t\t\t.addClass( 'mw-diff-empty' )\n\t\t\t\t\t\t.text( mw.msg( 'diff-empty' ) )\n\t\t\t\t);\n\t\t\t$table.find( 'tbody' )\n\t\t\t\t.empty()\n\t\t\t\t.append(\n\t\t\t\t\t$( '<tr>' ).append( $tableCell )\n\t\t\t\t);\n\t\t}\n\t\tconfig.$diffNode.show();\n\t}\n\n\t/**\n\t * Get the unresolved promise of the diff request.\n\t *\n\t * @private\n\t * @param {Object} config\n\t * @param {string|number} section\n\t * @param {boolean} pageExists\n\t * @return {jQuery.Promise}\n\t */\n\tfunction getDiffRequest( config, section, pageExists ) {\n\t\tlet contents = config.$textareaNode.textSelection( 'getContents' ),\n\t\t\tsectionTitle = config.summary;\n\n\t\tif ( section === 'new' ) {\n\t\t\t// T293930: Hack to show live diff for new section creation.\n\n\t\t\t// We concatenate the section heading with the edit box text and pass it to\n\t\t\t// the diff API as the full input text. This is roughly what the server-side\n\t\t\t// does when difference is requested for section edit.\n\t\t\t// The heading is always prepended, we do not bother with editing old rev\n\t\t\t// at this point (`?action=edit&oldid=xxx§ion=new`) -- which will require\n\t\t\t// mid-text insertion of the section -- because creation of new section is only\n\t\t\t// possible on latest revision.\n\n\t\t\t// The section heading text is unconditionally wrapped in <h2> heading and\n\t\t\t// ends with double newlines, except when it's empty. This is for parity with the\n\t\t\t// server-side rendering of the same case.\n\t\t\tsectionTitle = sectionTitle === '' ? '' : '== ' + sectionTitle + ' ==\\n\\n';\n\n\t\t\t// Prepend section heading to section text.\n\t\t\tcontents = sectionTitle + contents;\n\t\t}\n\n\t\tconst params = {\n\t\t\taction: 'compare',\n\t\t\tfromtitle: config.title,\n\t\t\ttotitle: config.title,\n\t\t\ttoslots: 'main',\n\t\t\t// Remove trailing whitespace for consistency with EditPage diffs.\n\t\t\t// TODO trimEnd() when we can use that.\n\t\t\t'totext-main': contents.replace( /\\s+$/, '' ),\n\t\t\t'tocontentmodel-main': mw.config.get( 'wgPageContentModel' ),\n\t\t\ttopst: true,\n\t\t\tslots: 'main',\n\t\t\tuselang: mw.config.get( 'wgUserLanguage' )\n\t\t};\n\t\tif ( mw.config.get( 'wgUserVariant' ) ) {\n\t\t\tparams.variant = mw.config.get( 'wgUserVariant' );\n\t\t}\n\t\tif ( section ) {\n\t\t\tparams[ 'tosection-main' ] = section;\n\t\t}\n\t\tif ( !pageExists ) {\n\t\t\tparams.fromslots = 'main';\n\t\t\tparams[ 'fromcontentmodel-main' ] = mw.config.get( 'wgPageContentModel' );\n\t\t\tparams[ 'fromtext-main' ] = '';\n\t\t}\n\t\treturn api.post( params );\n\t}\n\n\t/**\n\t * Get the selectors of elements that should be grayed out while the preview is being generated.\n\t *\n\t * @memberof module:mediawiki.page.preview\n\t * @return {string[]}\n\t * @stable\n\t */\n\tfunction getLoadingSelectors() {\n\t\treturn [\n\t\t\t// Main\n\t\t\t'.mw-indicators',\n\t\t\t'#firstHeading',\n\t\t\t'#wikiPreview',\n\t\t\t'#wikiDiff',\n\t\t\t'#catlinks',\n\t\t\t'#p-lang',\n\t\t\t// Editing-related\n\t\t\t'.templatesUsed',\n\t\t\t'.limitreport',\n\t\t\t'.mw-summary-preview',\n\t\t\t'.hiddencats'\n\t\t];\n\t}\n\n\t/**\n\t * Fetch and display a preview of the current editing area.\n\t *\n\t * @memberof module:mediawiki.page.preview\n\t * @param {Object} config Configuration options.\n\t * @param {jQuery} [config.$previewNode=$( '#wikiPreview' )] Where the preview should be displayed.\n\t * @param {jQuery} [config.$diffNode=$( '#wikiDiff' )] Where diffs should be displayed (if showDiff is set).\n\t * @param {jQuery} [config.$formNode=$( '#editform' )] The form node.\n\t * @param {jQuery} [config.$textareaNode=$( '#wpTextbox1' )] The edit form's textarea.\n\t * @param {jQuery} [config.$spinnerNode=$( '.mw-spinner-preview' )] The loading indicator. This will\n\t * be shown/hidden accordingly while waiting for the XMLHttpRequest to complete.\n\t * Ignored if it doesn't exist in the document and `createSpinner` is false.\n\t * @param {string} [config.summary=null] The edit summary. If no value is given, the summary is\n\t * fetched from `$( '#wpSummaryWidget' )`.\n\t * @param {boolean} [config.showDiff=false] Shows a diff in the preview area instead of the content.\n\t * @param {boolean} [config.isLivePreview=false] Instructs the module to replicate the\n\t * server-side preview as much as possible. Specifically:\n\t * - Before initiating the preview, some alerts and error messages at the top of the page will\n\t * be removed, and the browser will scroll to the preview.\n\t * - After finishing the preview, a reminder that it's only a preview, or an error message in\n\t * case a request has failed, will be shown at the top of the preview.\n\t * @param {Node|Node[]|jQuery|string} [config.previewHeader=null] Content of `<h2>` element at\n\t * the top of the preview notes. If `isLivePreview` is true then this must be set, either at\n\t * entry or by the responseHandler callback.\n\t * @param {Node|Node[]|jQuery|string} [config.previewNote=null] Main text of the first preview\n\t * note. If `isLivePreview` is true then this must be set, either at entry or by the\n\t * responseHandler callback.\n\t * @param {string} [config.title=mw.config.get( 'wgPageName' )] The title of the page being previewed.\n\t * @param {string} [config.titleParam='title'] Name of the parse API parameter to pass `title` to.\n\t * @param {string} [config.textParam='text'] Name of the parse API parameter to pass the content\n\t * of `$textareaNode` to. Ignored if `showDiff` is true.\n\t * @param {Object} [config.parseParams=null] Additional parse API parameters. This can override\n\t * any parameter set by the module.\n\t * @param {module:mediawiki.page.preview~responseHandler} [config.responseHandler=null] Callback\n\t * to run right after the API responses are received. This allows the config and response\n\t * objects to be modified before the preview is shown.\n\t * @param {jQuery|string} [config.responseValidationError=null] This may be set by the response\n\t * handler. If it is set, the specified error message will be shown and the response will not\n\t * be handled.\n\t * @param {boolean} [config.createSpinner=false] Creates `$spinnerNode` and inserts it before\n\t * `$previewNode` if one doesn't already exist and the module `jquery.spinner` is loaded.\n\t * @param {string[]} [config.loadingSelectors=getLoadingSelectors()] An array of query selectors\n\t * (i.e. '#catlinks') that should be grayed out while the preview is being generated.\n\t * @return {jQuery.Promise|undefined} jQuery.Promise or `undefined` if no `$textareaNode` was provided in the config.\n\t * @fires Hooks~'wikipage.categories'\n\t * @fires Hooks~'wikipage.content'\n\t * @fires Hooks~'wikipage.diff'\n\t * @fires Hooks~'wikipage.indicators'\n\t * @fires Hooks~'wikipage.tableOfContents'\n\t * @stable\n\t */\n\tfunction doPreview( config ) {\n\t\tconfig = Object.assign( {\n\t\t\t$previewNode: $( '#wikiPreview' ),\n\t\t\t$diffNode: $( '#wikiDiff' ),\n\t\t\t$formNode: $( '#editform' ),\n\t\t\t$textareaNode: $( '#wpTextbox1' ),\n\t\t\t$spinnerNode: $( '.mw-spinner-preview' ),\n\t\t\tsummary: null,\n\t\t\tshowDiff: false,\n\t\t\tisLivePreview: false,\n\t\t\tpreviewHeader: null,\n\t\t\tpreviewNote: null,\n\t\t\ttitle: mw.config.get( 'wgPageName' ),\n\t\t\ttitleParam: 'title',\n\t\t\ttextParam: 'text',\n\t\t\tparseParams: null,\n\t\t\tresponseHandler: null,\n\t\t\tcreateSpinner: false,\n\t\t\tloadingSelectors: getLoadingSelectors()\n\t\t}, config );\n\n\t\tconst section = config.$formNode.find( '[name=\"wpSection\"]' ).val();\n\n\t\tif ( !config.$textareaNode || config.$textareaNode.length === 0 ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Fetch edit summary, if not already given.\n\t\tif ( !config.summary ) {\n\t\t\tconst $summaryWidget = $( '#wpSummaryWidget' );\n\t\t\tif ( $summaryWidget.length ) {\n\t\t\t\tconfig.summary = OO.ui.infuse( $summaryWidget ).getValue();\n\t\t\t}\n\t\t}\n\n\t\tif ( config.isLivePreview ) {\n\t\t\t// Not shown during normal preview, to be removed if present\n\t\t\t$( '.mw-newarticletext, .mw-page-preview-error' ).remove();\n\n\t\t\t// Show #wikiPreview if it's hidden to be able to scroll to it.\n\t\t\t// (If it is hidden, it's also empty, so nothing changes in the rendering.)\n\t\t\tconfig.$previewNode.show();\n\n\t\t\t// Jump to where the preview will appear\n\t\t\tconfig.$previewNode[ 0 ].scrollIntoView();\n\t\t}\n\n\t\t// Show or create the spinner if possible.\n\t\tif ( config.$spinnerNode && config.$spinnerNode.length ) {\n\t\t\tconfig.$spinnerNode.show();\n\t\t} else if ( config.createSpinner ) {\n\t\t\tif ( mw.loader.getState( 'jquery.spinner' ) === 'ready' ) {\n\t\t\t\tconfig.$spinnerNode = $.createSpinner( {\n\t\t\t\t\tsize: 'large',\n\t\t\t\t\ttype: 'block'\n\t\t\t\t} )\n\t\t\t\t\t.addClass( 'mw-spinner-preview' )\n\t\t\t\t\t.insertBefore( config.$previewNode );\n\t\t\t} else {\n\t\t\t\tmw.log.warn( 'createSpinner requires the module jquery.spinner' );\n\t\t\t}\n\t\t}\n\n\t\t// Gray out the 'copy elements' while we wait for a response.\n\t\tconst $loadingElements = $( config.loadingSelectors.join( ',' ) );\n\t\t$loadingElements.addClass( [ 'mw-preview-loading-elements', 'mw-preview-loading-elements-loading' ] );\n\n\t\t// Acquire a temporary user username before previewing or diffing, so that signatures and\n\t\t// user-related magic words display the temp user instead of IP user in the preview. (T331397)\n\t\tconst tempUserNamePromise = mw.user.acquireTempUserName();\n\n\t\tlet diffRequest;\n\n\t\tconst parseRequest = tempUserNamePromise.then( () => getParseRequest( config, section ) );\n\n\t\tif ( config.showDiff ) {\n\t\t\tconfig.$previewNode.hide();\n\n\t\t\t// Add the diff node if it doesn't exist (directly after the preview node).\n\t\t\tif ( config.$diffNode.length === 0 && config.$previewNode.length > 0 ) {\n\t\t\t\tconst rtlDir = $( '#wpTextbox1' ).attr( 'dir' ) === 'rtl';\n\t\t\t\tconst alignStart = rtlDir ? 'right' : 'left';\n\t\t\t\tconfig.$diffNode = $( '<div>' )\n\t\t\t\t\t.attr( 'id', 'wikiDiff' )\n\t\t\t\t\t// The following classes are used here:\n\t\t\t\t\t// * diff-editfont-monospace\n\t\t\t\t\t// * diff-editfont-sans-serif\n\t\t\t\t\t// * diff-editfont-serif\n\t\t\t\t\t.addClass( 'diff-editfont-' + mw.user.options.get( 'editfont' ) )\n\t\t\t\t\t// The following classes are used here:\n\t\t\t\t\t// * diff-contentalign-left\n\t\t\t\t\t// * diff-contentalign-right\n\t\t\t\t\t.addClass( 'diff-contentalign-' + alignStart );\n\t\t\t\tconfig.$previewNode.after( config.$diffNode );\n\t\t\t}\n\n\t\t\t// Hide the table of contents, in case it was previously shown after previewing.\n\t\t\tmw.hook( 'wikipage.tableOfContents' ).fire( [] );\n\n\t\t\t// The compare API returns an error if the title doesn't exist and fromtext is not\n\t\t\t// specified. So we have to account for the possibility that the page was created or\n\t\t\t// deleted after the user started editing. Luckily the parse API returns pageid so we\n\t\t\t// can wait for that.\n\t\t\t// TODO: Show \"Warning: This page was deleted after you started editing!\"?\n\t\t\tdiffRequest = parseRequest.then( ( parseResponse ) => getDiffRequest( config, section, parseResponse.parse.pageid !== 0 ) );\n\n\t\t} else if ( config.$diffNode ) {\n\t\t\tconfig.$diffNode.hide();\n\t\t}\n\n\t\treturn $.when( parseRequest, diffRequest )\n\t\t\t.done( ( parseResponse, diffResponse ) => {\n\t\t\t\tif ( config.responseHandler ) {\n\t\t\t\t\t/**\n\t\t\t\t\t * @callback module:mediawiki.page.preview~responseHandler\n\t\t\t\t\t * @param {Object} config Options for live preview API\n\t\t\t\t\t * @param {Object} parseResponse Parse API response\n\t\t\t\t\t * @param {Object} [diffResponse] Compare API response\n\t\t\t\t\t */\n\t\t\t\t\tif ( config.showDiff ) {\n\t\t\t\t\t\tconfig.responseHandler( config, parseResponse[ 0 ], diffResponse[ 0 ] );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tconfig.responseHandler( config, parseResponse[ 0 ] );\n\t\t\t\t\t}\n\t\t\t\t\tconst error = config.responseValidationError;\n\t\t\t\t\tif ( error !== undefined && error !== null ) {\n\t\t\t\t\t\tif ( typeof error === 'string' ) {\n\t\t\t\t\t\t\tshowError( config, $( '<div>' ).text( error ) );\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tshowError( config, error );\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tshowEditSummary( config.$formNode, parseResponse[ 0 ] );\n\n\t\t\t\tif ( config.showDiff ) {\n\t\t\t\t\thandleDiffResponse( config, diffResponse[ 0 ] );\n\t\t\t\t} else {\n\t\t\t\t\thandleParseResponse( config, parseResponse[ 0 ] );\n\t\t\t\t}\n\n\t\t\t\tmw.hook( 'wikipage.editform' ).fire( config.$formNode );\n\t\t\t} )\n\t\t\t.fail( ( _code, result ) => {\n\t\t\t\tif ( config.isLivePreview ) {\n\t\t\t\t\t// This just shows the error for whatever request failed first\n\t\t\t\t\tshowError( config, api.getErrorMessage( result ) );\n\t\t\t\t}\n\t\t\t} )\n\t\t\t.always( () => {\n\t\t\t\tif ( config.$spinnerNode && config.$spinnerNode.length ) {\n\t\t\t\t\tconfig.$spinnerNode.hide();\n\t\t\t\t}\n\t\t\t\t$loadingElements.removeClass( 'mw-preview-loading-elements-loading' );\n\t\t\t} );\n\t}\n\n\t/**\n\t * Fetch and display a preview of the current editing area.\n\t *\n\t * @example\n\t * var preview = require( 'mediawiki.page.preview' );\n\t * preview.doPreview();\n\t *\n\t * @exports mediawiki.page.preview\n\t */\n\tmodule.exports = {\n\t\tdoPreview: doPreview,\n\t\tgetLoadingSelectors: getLoadingSelectors\n\t};\n\n}() );\n","usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.page.ready/.eslintrc.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.page.ready/checkboxHack.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.page.ready/checkboxShift.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.page.ready/clearAddressBar.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.page.ready/config.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.page.ready/enableSearchDialog.js","messages":[{"ruleId":"security/detect-non-literal-require","severity":1,"message":"Found non-literal argument in require","line":19,"column":21,"nodeType":"CallExpression","endLine":19,"endColumn":48}],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"const config = require( './config.json' );\nconst clearAddressBar = require( './clearAddressBar.js' );\nconst searchRoute = new RegExp( /\\/search/ );\n\nlet tempInput = null;\n\n/**\n * @param {module:mediawiki.router} router\n * @param {HTMLButtonElement} trigger\n * @ignore\n */\nfunction addRoutes( router, trigger ) {\n\tlet searchOpen = false;\n\tclearAddressBar( router, searchRoute );\n\trouter.addRoute( searchRoute, () => {\n\t\tsearchOpen = true;\n\t\tconst searchModuleName = config.searchModule;\n\t\tmw.loader.using( searchModuleName ).then( () => {\n\t\t\tconst { init } = require( searchModuleName );\n\t\t\t// If it exports an init function execute that immediately.\n\t\t\tif ( init ) {\n\t\t\t\tinit();\n\n\t\t\t\tif ( tempInput ) {\n\t\t\t\t\ttransferFocusToRealInput();\n\t\t\t\t}\n\t\t\t}\n\t\t} );\n\t} );\n\n\trouter.on( 'route', ( ev ) => {\n\t\tif ( searchOpen && !ev.path.match( searchRoute ) ) {\n\t\t\tsearchOpen = false;\n\t\t\t// Return focus to the search button after exiting the search overlay\n\t\t\trequestAnimationFrame( () => {\n\t\t\t\ttrigger.focus();\n\t\t\t} );\n\t\t}\n\t} );\n}\n\n/**\n * Create a temporary input to open the ios virtual keyboard and maintain keyboard context.\n *\n * @return {void}\n * @ignore\n */\nfunction createTempInput() {\n\tif ( tempInput ) {\n\t\ttempInput.remove();\n\t}\n\n\ttempInput = document.createElement( 'input' );\n\ttempInput.type = 'text';\n\ttempInput.style.position = 'absolute';\n\ttempInput.style.left = '0';\n\ttempInput.style.top = '0';\n\ttempInput.style.fontSize = '16px'; // Prevent iOS zoom\n\ttempInput.style.opacity = '0';\n\ttempInput.style.pointerEvents = 'none';\n\ttempInput.setAttribute( 'readonly', true );\n\n\tdocument.body.appendChild( tempInput );\n\ttempInput.focus();\n}\n\n/**\n * Transfer focus from temp input to real search input after it has been loaded by Vue.\n *\n * @return {void}\n * @ignore\n */\nfunction transferFocusToRealInput() {\n\tconst realInput = document.querySelector( '.cdx-typeahead-search .cdx-text-input__input' );\n\n\tif ( realInput && tempInput ) {\n\t\trequestAnimationFrame( () => {\n\t\t\trealInput.focus();\n\t\t\ttempInput.remove();\n\t\t\ttempInput = null;\n\t\t} );\n\t}\n}\n\n/**\n * Associates a given element with the display of a search\n * dialog.\n *\n * @param {HTMLButtonElement} trigger that will launch the search dialog.\n * @namespace loadSearchModule\n * @memberof module:mediawiki.page.ready\n */\nmodule.exports = function ( trigger ) {\n\tmw.loader.using( 'mediawiki.router' ).then( () => {\n\t\tconst router = require( 'mediawiki.router' );\n\t\taddRoutes( router, trigger );\n\t} );\n\n\ttrigger.addEventListener( 'click', ( ev ) => {\n\t\tev.preventDefault();\n\n\t\t/**\n\t\t * On-screen keyboard on iOS only opens when `focus()` is called from a \"user context event\".\n\t\t * http://stackoverflow.com/questions/6837543/show-virtual-keyboard-on-mobile-phones-in-javascript\n\t\t *\n\t\t * This route callback triggers the TypeaheadSearch overlay to be loaded in by Vue\n\t\t * but because the search input isn't yet available, the on-screen keyboard on iOS\n\t\t * can't be triggered immediately. To work around this, we create a temporary input\n\t\t * to trigger the virtual keyboard and maintain the keyboard context. Then after\n\t\t * TAHS is finished loading, we transfer focus to the real search input.\n\t\t */\n\t\twindow.location.hash = '/search';\n\t\tcreateTempInput();\n\t} );\n};\n","usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.page.ready/ready.js","messages":[{"ruleId":"jsdoc/valid-types","severity":1,"message":"Syntax error in namepath: ~'wikipage.indicators'","line":98,"column":1,"nodeType":"Block","endLine":98,"endColumn":1},{"ruleId":"jsdoc/valid-types","severity":1,"message":"Syntax error in namepath: ~'wikipage.content'","line":118,"column":1,"nodeType":"Block","endLine":118,"endColumn":1},{"ruleId":"jsdoc/valid-types","severity":1,"message":"Syntax error in namepath: ~'wikipage.categories'","line":139,"column":1,"nodeType":"Block","endLine":139,"endColumn":1},{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'Hooks.wikipage.content' is undefined.","line":152,"column":1,"nodeType":"Block","endLine":152,"endColumn":1},{"ruleId":"jsdoc/valid-types","severity":1,"message":"Syntax error in namepath: ~'wikipage.diff'","line":155,"column":1,"nodeType":"Block","endLine":155,"endColumn":1},{"ruleId":"jsdoc/valid-types","severity":1,"message":"Syntax error in namepath: ~'skin.logout'","line":186,"column":1,"nodeType":"Block","endLine":186,"endColumn":1},{"ruleId":"security/detect-non-literal-require","severity":1,"message":"Found non-literal argument in require","line":296,"column":21,"nodeType":"CallExpression","endLine":296,"endColumn":42},{"ruleId":"mediawiki/no-storage","severity":1,"message":"Avoid direct access to sessionStorage. Use mw.storage.session instead.","line":331,"column":7,"nodeType":"Identifier","messageId":"noStorage","endLine":331,"endColumn":21}],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":8,"fixableErrorCount":0,"fixableWarningCount":0,"source":"const checkboxShift = require( './checkboxShift.js' );\nconst config = require( './config.json' );\nconst teleportTarget = require( './teleportTarget.js' );\nconst enableSearchDialog = require( './enableSearchDialog.js' );\nconst clearAddressBar = require( './clearAddressBar.js' );\n\n// Break out of framesets\nif ( mw.config.get( 'wgBreakFrames' ) ) {\n\t// Note: In IE < 9 strict comparison to window is non-standard (the standard didn't exist yet)\n\t// it works only comparing to window.self or window.window (https://stackoverflow.com/q/4850978/319266)\n\tif ( window.top !== window.self ) {\n\t\t// Un-trap us from framesets\n\t\twindow.top.location.href = location.href;\n\t}\n}\n\nmw.hook( 'wikipage.content' ).add( ( $content ) => {\n\tconst modules = [];\n\n\tlet $collapsible;\n\tif ( config.collapsible ) {\n\t\t$collapsible = $content.find( '.mw-collapsible' );\n\t\tif ( $collapsible.length ) {\n\t\t\tmodules.push( 'jquery.makeCollapsible' );\n\t\t}\n\t}\n\n\tlet $sortable;\n\tif ( config.sortable ) {\n\t\t$sortable = $content.find( 'table.sortable' );\n\t\tif ( $sortable.length ) {\n\t\t\tmodules.push( 'jquery.tablesorter' );\n\t\t}\n\t}\n\n\tif ( modules.length ) {\n\t\t// Both modules are preloaded by Skin::getDefaultModules()\n\t\tmw.loader.using( modules ).then( () => {\n\t\t\t// For tables that are both sortable and collapsible,\n\t\t\t// it must be made sortable first and collapsible second.\n\t\t\t// This is because jquery.tablesorter stumbles on the\n\t\t\t// elements inserted by jquery.makeCollapsible (T64878)\n\t\t\tif ( $sortable && $sortable.length ) {\n\t\t\t\t$sortable.tablesorter();\n\t\t\t}\n\t\t\tif ( $collapsible && $collapsible.length ) {\n\t\t\t\t$collapsible.makeCollapsible();\n\t\t\t}\n\t\t} );\n\t}\n\tif ( $content[ 0 ] && $content[ 0 ].isConnected === false ) {\n\t\tmw.log.warn( 'wikipage.content hook should not be fired on unattached content' );\n\t}\n\n\tcheckboxShift( $content.find( 'input[type=\"checkbox\"]:not(.noshiftselect)' ) );\n} );\n\n// Add toolbox portlet to toggle all collapsibles if there are any\nrequire( './toggleAllCollapsibles.js' );\n\n// Handle elements outside the wikipage content\n$( () => {\n\t/**\n\t * There is a bug on iPad and maybe other browsers where if initial-scale is not set\n\t * the page cannot be zoomed. If the initial-scale is set on the server side, this will result\n\t * in an unwanted zoom on mobile devices. To avoid this we check innerWidth and set the\n\t * initial-scale on the client where needed. The width must be synced with the value in\n\t * Skin::initPage.\n\t * More information on this bug in [[phab:T311795]].\n\t *\n\t * @ignore\n\t */\n\tfunction fixViewportForTabletDevices() {\n\t\tconst $viewport = $( 'meta[name=viewport]' );\n\t\tconst content = $viewport.attr( 'content' );\n\t\tconst scale = window.outerWidth / window.innerWidth;\n\t\t// This adjustment is limited to tablet devices. It must be a non-zero value to work.\n\t\t// (these values correspond to @min-width-breakpoint-tablet and @min-width-breakpoint-desktop\n\t\t// See https://doc.wikimedia.org/codex/main/design-tokens/breakpoint.html\n\t\tif ( window.innerWidth >= 640 && window.innerWidth < 1120 &&\n\t\t\tcontent && !content.includes( 'initial-scale' )\n\t\t) {\n\t\t\t// Note:\n\t\t\t// - The `width` value must be equal to @min-width-breakpoint-desktop above\n\t\t\t// - If `initial-scale` value is 1 the font-size adjust feature will not work on iPad\n\t\t\t$viewport.attr( 'content', 'width=1120,initial-scale=' + scale );\n\t\t}\n\t}\n\n\t// Add accesskey hints to the tooltips\n\t$( '[accesskey]' ).updateTooltipAccessKeys();\n\n\tconst node = document.querySelector( '.mw-indicators' );\n\tif ( node && node.children.length ) {\n\t\t/**\n\t\t * Fired when a page's status indicators are being added to the DOM.\n\t\t *\n\t\t * @event ~'wikipage.indicators'\n\t\t * @memberof Hooks\n\t\t * @param {jQuery} $content jQuery object with the elements of the indicators\n\t\t * @see https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Page_status_indicators\n\t\t */\n\t\tmw.hook( 'wikipage.indicators' ).fire( $( node.children ) );\n\t}\n\n\tconst $content = $( '#mw-content-text' );\n\t// Avoid unusable events, and the errors they cause, for custom skins that\n\t// do not display any content (T259577).\n\tif ( $content.length ) {\n\t\t/**\n\t\t * Fired when wiki content has been added to the DOM.\n\t\t *\n\t\t * This should only be fired after $content has been attached.\n\t\t *\n\t\t * This includes the ready event on a page load (including post-edit loads)\n\t\t * and when content has been previewed with LivePreview.\n\t\t *\n\t\t * @event ~'wikipage.content'\n\t\t * @memberof Hooks\n\t\t * @param {jQuery} $content The most appropriate element containing the content,\n\t\t * such as #mw-content-text (regular content root) or #wikiPreview (live preview\n\t\t * root)\n\t\t */\n\t\tmw.hook( 'wikipage.content' ).fire( $content );\n\t}\n\n\tlet $nodes = $( '.catlinks[data-mw=\"interface\"]' );\n\tif ( $nodes.length ) {\n\t\t/**\n\t\t * Fired when categories are being added to the DOM.\n\t\t *\n\t\t * It is encouraged to fire it before the main DOM is changed (when $content\n\t\t * is still detached). However, this order is not defined either way, so you\n\t\t * should only rely on $content itself.\n\t\t *\n\t\t * This includes the ready event on a page load (including post-edit loads)\n\t\t * and when content has been previewed with LivePreview.\n\t\t *\n\t\t * @event ~'wikipage.categories'\n\t\t * @memberof Hooks\n\t\t * @param {jQuery} $content The most appropriate element containing the content,\n\t\t * such as .catlinks\n\t\t */\n\t\tmw.hook( 'wikipage.categories' ).fire( $nodes );\n\t}\n\n\t$nodes = $( 'table.diff[data-mw=\"interface\"]' );\n\tif ( $nodes.length ) {\n\t\t/**\n\t\t * Fired when the diff is added to a page containing a diff.\n\t\t *\n\t\t * Similar to the {@link Hooks~'wikipage.content' wikipage.content hook}\n\t\t * $diff may still be detached when the hook is fired.\n\t\t *\n\t\t * @event ~'wikipage.diff'\n\t\t * @memberof Hooks\n\t\t * @param {jQuery} $diff The root element of the MediaWiki diff (`table.diff`).\n\t\t */\n\t\tmw.hook( 'wikipage.diff' ).fire( $nodes.eq( 0 ) );\n\t}\n\n\t$( '#t-print a' ).on( 'click', ( e ) => {\n\t\twindow.print();\n\t\te.preventDefault();\n\t} );\n\n\tconst $permanentLink = $( '#t-permalink a' );\n\tfunction updatePermanentLinkHash() {\n\t\tif ( mw.util.getTargetFromFragment() ) {\n\t\t\t$permanentLink[ 0 ].hash = location.hash;\n\t\t} else {\n\t\t\t$permanentLink[ 0 ].hash = '';\n\t\t}\n\t}\n\tif ( $permanentLink.length ) {\n\t\t$( window ).on( 'hashchange', updatePermanentLinkHash );\n\t\tupdatePermanentLinkHash();\n\t}\n\n\t/**\n\t * Fired when a trusted UI element to perform a logout has been activated.\n\t *\n\t * This will end the user session, and either redirect to the given URL\n\t * on success, or queue an error message via {@link mw.notification}.\n\t *\n\t * @event ~'skin.logout'\n\t * @memberof Hooks\n\t * @param {string} href Full URL\n\t */\n\tconst LOGOUT_EVENT = 'skin.logout';\n\tfunction logoutViaPost( href ) {\n\t\tlet confirmedPromise;\n\n\t\tif ( mw.user.isTemp() ) {\n\t\t\t// Since temporary accounts cannot be logged into again, show a confirmation dialog.\n\t\t\tconfirmedPromise = mw.loader.using( [ 'oojs-ui-windows', 'mediawiki.jqueryMsg' ] ).then( () => {\n\t\t\t\t// Keep in sync with SpecialUserLogout\n\t\t\t\tconst $confirmDialogContent = $( '<div>' ).append(\n\t\t\t\t\t$( '<p>' ).append( mw.message( 'userlogout-temp' ).parseDom() ),\n\t\t\t\t\t$( '<p>' ).append( mw.message( 'userlogout-temp-moreinfo' ).parseDom() ),\n\t\t\t\t\tnew OO.ui.MessageWidget( {\n\t\t\t\t\t\ttype: 'notice',\n\t\t\t\t\t\tlabel: $( '<div>' ).append(\n\t\t\t\t\t\t\t$( '<strong>' ).text( mw.msg( 'userlogout-temp-messagebox-title' ) ),\n\t\t\t\t\t\t\t$( '<br>' ),\n\t\t\t\t\t\t\tmw.message( 'userlogout-temp-messagebox-body' ).parseDom()\n\t\t\t\t\t\t)\n\t\t\t\t\t} ).$element\n\t\t\t\t);\n\t\t\t\treturn OO.ui.confirm( $confirmDialogContent, {\n\t\t\t\t\tsize: 'medium',\n\t\t\t\t\ttitle: mw.msg( 'temp-user-logout-confirm-title' ),\n\t\t\t\t\tactions: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\taction: 'accept',\n\t\t\t\t\t\t\tlabel: mw.msg( 'userlogout-submit' ),\n\t\t\t\t\t\t\tflags: [ 'primary', 'progressive' ]\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\taction: 'reject',\n\t\t\t\t\t\t\tlabel: mw.msg( 'ooui-dialog-message-reject' ),\n\t\t\t\t\t\t\tflags: 'safe'\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t} );\n\t\t\t} );\n\t\t} else {\n\t\t\tconfirmedPromise = $.Deferred().resolve( true ).promise();\n\t\t}\n\n\t\tconfirmedPromise.then( ( confirmed ) => {\n\t\t\tif ( !confirmed ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tmw.notify(\n\t\t\t\tmw.message( 'logging-out-notify' ),\n\t\t\t\t{ tag: 'logout', autoHide: false }\n\t\t\t);\n\t\t\tconst api = new mw.Api();\n\t\t\tif ( mw.user.isTemp() ) {\n\t\t\t\t// Indicate to the success page that the user was previously a temporary account, so that the success\n\t\t\t\t// message can be customised appropriately.\n\t\t\t\tconst url = new URL( href );\n\t\t\t\turl.searchParams.append( 'wasTempUser', 1 );\n\t\t\t\thref = url;\n\t\t\t}\n\t\t\t// Allow hooks to extend data that is sent along with the logout request.\n\t\t\tapi.prepareExtensibleApiRequest( 'extendLogout' ).then( ( params ) => {\n\t\t\t\t// Include any additional params set by implementations of the extendLogout hook\n\t\t\t\tconst logoutParams = Object.assign( {}, params, { action: 'logout' } );\n\t\t\t\tapi.postWithToken( 'csrf', logoutParams ).then(\n\t\t\t\t\t() => {\n\t\t\t\t\t\tlocation.href = href;\n\t\t\t\t\t},\n\t\t\t\t\t( err, data ) => {\n\t\t\t\t\t\tmw.notify(\n\t\t\t\t\t\t\tapi.getErrorMessage( data ),\n\t\t\t\t\t\t\t{ type: 'error', tag: 'logout', autoHide: false }\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t} );\n\t\t} );\n\t}\n\n\t// Turn logout to a POST action\n\tmw.hook( LOGOUT_EVENT ).add( logoutViaPost );\n\t$( config.selectorLogoutLink ).on( 'click', function ( e ) {\n\t\tmw.hook( LOGOUT_EVENT ).fire( this.href );\n\t\te.preventDefault();\n\t} );\n\tfixViewportForTabletDevices();\n\n\tteleportTarget.attach();\n} );\n\n/**\n * @private\n * @param {HTMLElement} element\n * @return {boolean} Whether the element is a search input.\n */\nfunction isSearchInput( element ) {\n\treturn element.id === 'searchInput' ||\n\t\telement.classList.contains( 'mw-searchInput' );\n}\n\n/**\n * Load a given module when a search input is focused.\n *\n * @memberof module:mediawiki.page.ready\n * @param {string} moduleName Name of a module\n */\nfunction loadSearchModule( moduleName ) {\n\tfunction requestSearchModule() {\n\t\tmw.loader.using( moduleName ).then( () => {\n\t\t\tconst { init } = require( moduleName );\n\t\t\t// If it exports an init function execute that immediately.\n\t\t\tif ( init ) {\n\t\t\t\tinit();\n\t\t\t}\n\t\t} );\n\t}\n\n\t// Load the module once a search input is focussed.\n\tfunction eventListener( e ) {\n\t\tif ( e.target && e.target.nodeType === 1 && isSearchInput( e.target ) ) {\n\t\t\trequestSearchModule();\n\n\t\t\tdocument.removeEventListener( 'focusin', eventListener );\n\t\t}\n\t}\n\n\t// Load the module now if the search input is already focused,\n\t// because the user started typing before the JavaScript arrived.\n\tif ( document.activeElement && isSearchInput( document.activeElement ) ) {\n\t\trequestSearchModule();\n\t\treturn;\n\t}\n\n\tdocument.addEventListener( 'focusin', eventListener );\n}\n\n// Skins may decide to disable this behaviour or use an alternative module.\nif ( config.search ) {\n\tloadSearchModule( config.searchModule );\n}\n\ntry {\n\t// Load the post-edit notification module if a notification has been scheduled.\n\t// Use `sessionStorage` directly instead of 'mediawiki.storage' to minimize dependencies.\n\tif ( sessionStorage.getItem( 'mw-PostEdit' + mw.config.get( 'wgPageName' ) ) ) {\n\t\tmw.loader.load( 'mediawiki.action.view.postEdit' );\n\t}\n} catch ( err ) {}\n\n/**\n * @exports mediawiki.page.ready\n */\nmodule.exports = {\n\tclearAddressBar,\n\tenableSearchDialog,\n\tloadSearchModule,\n\t/** @type {module:mediawiki.page.ready.CheckboxHack} */\n\tcheckboxHack: require( './checkboxHack.js' ),\n\t/**\n\t * A container for displaying elements that overlay the page, such as dialogs.\n\t *\n\t * @type {HTMLElement}\n\t */\n\tteleportTarget: teleportTarget.target\n};\n","usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.page.ready/teleportTarget.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.page.ready/toggleAllCollapsibles.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.page.watch.ajax/watch-ajax.js","messages":[{"ruleId":"jsdoc/valid-types","severity":1,"message":"Syntax error in namepath: ~'wikipage.watchlistChange'","line":128,"column":1,"nodeType":"Block","endLine":128,"endColumn":1},{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'Hooks.wikipage.watchlistChange' is undefined.","line":152,"column":1,"nodeType":"Block","endLine":152,"endColumn":1},{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'Hooks.wikipage.watchlistChange' is undefined.","line":178,"column":1,"nodeType":"Block","endLine":178,"endColumn":1}],"suppressedMessages":[{"ruleId":"no-jquery/no-class-state","severity":2,"message":"Where possible, maintain application state in JS to avoid slower DOM queries","line":335,"column":9,"nodeType":"CallExpression","endLine":335,"endColumn":36,"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":3,"fixableErrorCount":0,"fixableWarningCount":0,"source":"( function () {\n\t// The name of the page to watch or unwatch\n\tconst pageTitle = mw.config.get( 'wgRelevantPageName' ),\n\t\tisWatchlistExpiryEnabled = require( './config.json' ).WatchlistExpiry,\n\t\t// Use Object.create( null ) instead of {} to get an Object without predefined properties.\n\t\t// This avoids problems if the title is 'hasOwnPropery' or similar. Bug: T342137\n\t\twatchstarsByTitle = Object.create( null );\n\n\t/**\n\t * Update the link text, link href attribute and (if applicable) \"loading\" class.\n\t *\n\t * @param {jQuery} $link Anchor tag of (un)watch link\n\t * @param {string} action One of 'watch', 'unwatch'\n\t * @param {string} [state='idle'] 'idle' or 'loading'. Default is 'idle'\n\t * @param {string} [expiry='infinity'] The expiry date if a page is being watched temporarily.\n\t * @private\n\t */\n\tfunction updateWatchLinkAttributes( $link, action, state, expiry ) {\n\t\t// A valid but empty jQuery object shouldn't throw a TypeError\n\t\tif ( !$link.length ) {\n\t\t\treturn;\n\t\t}\n\n\t\texpiry = expiry || 'infinity';\n\n\t\t// Invalid actions shouldn't silently turn the page in an unrecoverable state\n\t\tif ( action !== 'watch' && action !== 'unwatch' ) {\n\t\t\tthrow new Error( 'Invalid action' );\n\t\t}\n\n\t\tconst otherAction = action === 'watch' ? 'unwatch' : 'watch';\n\t\tconst $li = $link.closest( 'li' );\n\n\t\tif ( state !== 'loading' ) {\n\t\t\t// jQuery event, @deprecated in 1.38\n\t\t\t// Trigger a 'watchpage' event for this List item.\n\t\t\t// NB: A expiry of 'infinity' is cast to null here, but not above\n\t\t\t$li.trigger( 'watchpage.mw', [ otherAction, mw.util.isInfinity( expiry ) ? null : expiry ] );\n\t\t}\n\n\t\tlet tooltipAction = action;\n\t\tlet daysLeftExpiry = null;\n\t\tlet watchExpiry = null;\n\t\t// Checking to see what if the expiry is set or indefinite to display the correct message\n\t\tif ( isWatchlistExpiryEnabled && action === 'unwatch' ) {\n\t\t\tif ( mw.util.isInfinity( expiry ) ) {\n\t\t\t\t// Resolves to tooltip-ca-unwatch message\n\t\t\t\ttooltipAction = 'unwatch';\n\t\t\t} else {\n\t\t\t\tconst expiryDate = new Date( expiry );\n\t\t\t\tconst currentDate = new Date();\n\t\t\t\t// Using the Math.ceil function instead of floor so when, for example, a user selects one week\n\t\t\t\t// the tooltip shows 7 days instead of 6 days (see Phab ticket T253936)\n\t\t\t\tdaysLeftExpiry = Math.ceil( ( expiryDate - currentDate ) / ( 1000 * 60 * 60 * 24 ) );\n\t\t\t\tif ( daysLeftExpiry > 0 ) {\n\t\t\t\t\t// Resolves to tooltip-ca-unwatch-expiring message\n\t\t\t\t\ttooltipAction = 'unwatch-expiring';\n\t\t\t\t} else {\n\t\t\t\t\t// Resolves to tooltip-ca-unwatch-expiring-hours message\n\t\t\t\t\ttooltipAction = 'unwatch-expiring-hours';\n\t\t\t\t}\n\t\t\t\twatchExpiry = expiryDate.toISOString();\n\t\t\t}\n\t\t}\n\n\t\tconst msgKey = state === 'loading' ? action + 'ing' : action;\n\t\t// The following messages can be used here:\n\t\t// * watch\n\t\t// * watching\n\t\t// * unwatch\n\t\t// * unwatching\n\t\tconst msg = mw.msg( msgKey );\n\t\tconst link = $link.get( 0 );\n\t\tif ( link.children.length > 1 && link.lastElementChild.tagName === 'SPAN' ) {\n\t\t\t// Handle updated button markup,\n\t\t\t// where the watchstar contains an icon element and a span element containing the text\n\t\t\tlink.lastElementChild.textContent = msg;\n\t\t} else {\n\t\t\tlink.textContent = msg;\n\t\t}\n\n\t\t$link.toggleClass( 'loading', state === 'loading' )\n\t\t\t// The following messages can be used here:\n\t\t\t// * tooltip-ca-watch\n\t\t\t// * tooltip-ca-unwatch\n\t\t\t// * tooltip-ca-unwatch-expiring\n\t\t\t// * tooltip-ca-unwatch-expiring-hours\n\t\t\t.attr( 'title', mw.msg( 'tooltip-ca-' + tooltipAction, daysLeftExpiry ) )\n\t\t\t.updateTooltipAccessKeys()\n\t\t\t.attr( 'href', mw.util.getUrl( pageTitle, { action: action } ) )\n\t\t\t.attr( 'data-mw-expiry', watchExpiry );\n\n\t\t$li.toggleClass( 'mw-watchlink-temp', expiry !== null && expiry !== 'infinity' );\n\n\t\t// Most common ID style\n\t\tif ( state !== 'loading' && $li.prop( 'id' ) === 'ca-' + otherAction ) {\n\t\t\t$li.prop( 'id', 'ca-' + action );\n\t\t}\n\t}\n\n\t/**\n\t * Notify hooks listeners of the new page watch status\n\t *\n\t * Watchstars should not need to use this hook, as they are updated via\n\t * callback, and automatically kept in sync if a watchstar with the same\n\t * title is changed.\n\t *\n\t * This hook should be used by other interfaces that care if the watch\n\t * status of the page has changed, e.g. an edit form which wants to\n\t * update a 'watch this page' checkbox.\n\t *\n\t * Users which change the watch status of the page without using a\n\t * watchstar (e.g. edit forms again) should use the updatePageWatchStatus\n\t * method to ensure watchstars are updated and this hook is fired.\n\t *\n\t * @param {boolean} isWatched The page is watched\n\t * @param {string} [expiry='infinity'] The expiry date if a page is being watched temporarily.\n\t * @param {string} [expirySelected='infinite'] The expiry length that was just selected from a dropdown, e.g. '1 week'\n\t * @private\n\t */\n\tfunction notifyPageWatchStatus( isWatched, expiry, expirySelected ) {\n\t\texpiry = expiry || 'infinity';\n\t\texpirySelected = expirySelected || 'infinite';\n\n\t\t/**\n\t\t * Fires when the page watch status has changed.\n\t\t *\n\t\t * @event ~'wikipage.watchlistChange'\n\t\t * @memberof Hooks\n\t\t * @param {boolean} isWatched\n\t\t * @param {string} expiry The expiry date if the page is being watched temporarily.\n\t\t * @param {string} expirySelected The expiry length that was selected from a dropdown, e.g. '1 week'\n\t\t * @example\n\t\t * mw.hook( 'wikipage.watchlistChange' ).add( ( isWatched, expiry, expirySelected ) => {\n\t\t * // Do things\n\t\t * } );\n\t\t */\n\t\tmw.hook( 'wikipage.watchlistChange' ).fire(\n\t\t\tisWatched,\n\t\t\texpiry,\n\t\t\texpirySelected\n\t\t);\n\t}\n\n\t/**\n\t * Update the page watch status.\n\t *\n\t * @memberof module:mediawiki.page.watch.ajax\n\t * @param {boolean} isWatched The page is watched\n\t * @param {string} [expiry='infinity'] The expiry date if a page is being watched temporarily.\n\t * @param {string} [expirySelected='infinite'] The expiry length that was just selected from a dropdown, e.g. '1 week'\n\t * @fires Hooks~'wikipage.watchlistChange'\n\t * @stable\n\t */\n\tfunction updatePageWatchStatus( isWatched, expiry, expirySelected ) {\n\t\t// Update all watchstars associated with the current page\n\t\t( watchstarsByTitle[ pageTitle ] || [] ).forEach( ( w ) => {\n\t\t\tw.update( isWatched, expiry );\n\t\t} );\n\n\t\tnotifyPageWatchStatus( isWatched, expiry, expirySelected );\n\t}\n\n\t/**\n\t * Update the link text, link `href` attribute and (if applicable) \"loading\" class.\n\t *\n\t * For an individual link being set to 'loading', the first\n\t * argument can be a jQuery collection. When updating to an\n\t * \"idle\" state, an {@link mw.Title} object should be passed to that\n\t * all watchstars associated with that title are updated.\n\t *\n\t * @memberof module:mediawiki.page.watch.ajax\n\t * @param {mw.Title|jQuery} titleOrLink Title of watchlinks to update (when state is idle), or an individual watchlink\n\t * @param {string} action One of 'watch', 'unwatch'\n\t * @param {string} [state=\"idle\"] 'idle' or 'loading'. Default is 'idle'\n\t * @param {string} [expiry] The expiry date if a page is being watched temporarily.\n\t * @param {string} [expirySelected='infinite'] The expiry length that was just selected from a dropdown, e.g. '1 week'\n\t * @fires Hooks~'wikipage.watchlistChange'\n\t * @stable\n\t */\n\tfunction updateWatchLink( titleOrLink, action, state, expiry, expirySelected ) {\n\t\tif ( titleOrLink instanceof $ ) {\n\t\t\tupdateWatchLinkAttributes( titleOrLink, action, state, expiry );\n\t\t} else {\n\t\t\t// Assumed state is 'idle' when update a group of watchstars by title\n\t\t\tconst isWatched = action === 'unwatch';\n\t\t\tconst normalizedTitle = titleOrLink.getPrefixedDb();\n\t\t\t( watchstarsByTitle[ normalizedTitle ] || [] ).forEach( ( w ) => {\n\t\t\t\tw.update( isWatched, expiry, expirySelected );\n\t\t\t} );\n\t\t\tif ( normalizedTitle === pageTitle ) {\n\t\t\t\tnotifyPageWatchStatus( isWatched, expiry, expirySelected );\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * TODO: This should be moved somewhere more accessible.\n\t *\n\t * @param {string} url\n\t * @return {string} The extracted action, defaults to 'view'\n\t * @private\n\t */\n\tfunction mwUriGetAction( url ) {\n\t\t// TODO: Does MediaWiki give action path or query param\n\t\t// precedence? If the former, move this to the bottom\n\t\tconst action = mw.util.getParamValue( 'action', url );\n\t\tif ( action !== null ) {\n\t\t\treturn action;\n\t\t}\n\n\t\tconst actionPaths = mw.config.get( 'wgActionPaths' );\n\t\tfor ( const key in actionPaths ) {\n\t\t\tlet parts = actionPaths[ key ].split( '$1' );\n\t\t\tparts = parts.map( mw.util.escapeRegExp );\n\n\t\t\tconst m = new RegExp( parts.join( '(.+)' ) ).exec( url );\n\t\t\tif ( m && m[ 1 ] ) {\n\t\t\t\treturn key;\n\t\t\t}\n\t\t}\n\n\t\treturn 'view';\n\t}\n\n\t/**\n\t * @private\n\t */\n\tfunction init() {\n\t\tlet $pageWatchLinks = $(\n\t\t\t'.mw-watchlink a[data-mw-interface], a.mw-watchlink[data-mw=\"interface\"]'\n\t\t);\n\t\tif ( !$pageWatchLinks.length ) {\n\t\t\t// Fallback to the class-based exclusion method for backwards-compatibility\n\t\t\t$pageWatchLinks = $( '.mw-watchlink a, a.mw-watchlink' );\n\t\t\t// Restrict to core interfaces, ignore user-generated content\n\t\t\t$pageWatchLinks = $pageWatchLinks.filter( ':not( #bodyContent *, #content * )' );\n\t\t}\n\t\tif ( $pageWatchLinks.length ) {\n\t\t\twatchstar( $pageWatchLinks, pageTitle );\n\t\t}\n\t}\n\n\t/**\n\t * Class representing an individual watchstar\n\t *\n\t * @param {jQuery} $link Watch element\n\t * @param {mw.Title} title Title\n\t * @param {module:mediawiki.page.watch.ajax~callback} [callback]\n\t * @private\n\t */\n\tfunction Watchstar( $link, title, callback ) {\n\t\tthis.$link = $link;\n\t\tthis.title = title;\n\t\tthis.callback = callback;\n\t}\n\n\t/**\n\t * Update the watchstar\n\t *\n\t * @param {boolean} isWatched The page is watched\n\t * @param {string} [expiry='infinity'] The expiry date if a page is being watched temporarily.\n\t * @private\n\t */\n\tWatchstar.prototype.update = function ( isWatched, expiry ) {\n\t\texpiry = expiry || 'infinity';\n\t\tupdateWatchLinkAttributes( this.$link, isWatched ? 'unwatch' : 'watch', 'idle', expiry );\n\t\tif ( this.callback ) {\n\t\t\t/**\n\t\t\t * @callback module:mediawiki.page.watch.ajax~callback\n\t\t\t * @param {jQuery} $link The element being manipulated.\n\t\t\t * @param {boolean} isWatched Whether the page is now watched.\n\t\t\t * @param {string} expiry The expiry date if the page is being watched temporarily,\n\t\t\t * or an 'infinity'-like value (see [mw.util.isIninity()]{@link module:mediawiki.util.isInfinity})\n\t\t\t */\n\t\t\tthis.callback( this.$link, isWatched, expiry );\n\t\t}\n\t};\n\n\t/**\n\t * Bind a given watchstar element to make it interactive.\n\t *\n\t * This is meant to allow binding of watchstars for arbitrary page titles,\n\t * especially if different from the currently viewed page. As such, this function\n\t * will *not* synchronise its state with any \"Watch this page\" checkbox such as\n\t * found on the \"Edit page\" and \"Publish changes\" forms. The caller should either make\n\t * \"current page\" watchstars picked up by init (and not use this function) or sync it manually\n\t * from the callback this function provides.\n\t *\n\t * @memberof module:mediawiki.page.watch.ajax\n\t * @param {jQuery} $links One or more anchor elements that must have an href\n\t * with a URL containing a `action=watch` or `action=unwatch` query parameter,\n\t * from which the current state will be learned (e.g. link to unwatch is currently watched)\n\t * @param {string} title Title of page that this watchstar will affect\n\t * @param {module:mediawiki.page.watch.ajax~callback} [callback] Callback to run after the action has been\n\t * processed and API request completed.\n\t * @stable\n\t */\n\tfunction watchstar( $links, title, callback ) {\n\t\t// Set up the ARIA connection between the watch link and the notification.\n\t\t// This is set outside the click handler so that it's already present when the user clicks.\n\t\tconst notificationId = 'mw-watchlink-notification';\n\t\tconst mwTitle = mw.Title.newFromText( title );\n\t\tconst preferredExpiry = mw.user.options.get( 'watchstar-expiry', 'infinity' );\n\n\t\tif ( !mwTitle ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst normalizedTitle = mwTitle.getPrefixedDb();\n\t\twatchstarsByTitle[ normalizedTitle ] = watchstarsByTitle[ normalizedTitle ] || [];\n\n\t\t$links.each( function () {\n\t\t\twatchstarsByTitle[ normalizedTitle ].push(\n\t\t\t\tnew Watchstar( $( this ), mwTitle, callback )\n\t\t\t);\n\t\t} );\n\n\t\t$links.attr( 'aria-controls', notificationId );\n\n\t\t// Add click handler.\n\t\t$links.on( 'click', function ( e ) {\n\t\t\tconst action = mwUriGetAction( this.href );\n\n\t\t\tif ( !mwTitle || ( action !== 'watch' && action !== 'unwatch' ) ) {\n\t\t\t\t// Let native browsing handle the link\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\te.preventDefault();\n\t\t\te.stopPropagation();\n\n\t\t\tconst $link = $( this );\n\n\t\t\t// eslint-disable-next-line no-jquery/no-class-state\n\t\t\tif ( $link.hasClass( 'loading' ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tupdateWatchLinkAttributes( $link, action, 'loading' );\n\n\t\t\t// Preload the notification module for mw.notify\n\t\t\tconst modulesToLoad = [ 'mediawiki.notification' ];\n\n\t\t\t// Preload watchlist expiry widget so it runs in parallel with the api call\n\t\t\tif ( isWatchlistExpiryEnabled ) {\n\t\t\t\tmodulesToLoad.push( 'mediawiki.watchstar.widgets' );\n\t\t\t}\n\n\t\t\tmw.loader.load( modulesToLoad );\n\n\t\t\tconst api = new mw.Api();\n\t\t\tapi[ action ]( title, preferredExpiry )\n\t\t\t\t.done( ( watchResponse ) => {\n\t\t\t\t\tconst isWatched = watchResponse.watched === true;\n\n\t\t\t\t\tlet message = isWatched ? 'addedwatchtext' : 'removedwatchtext';\n\t\t\t\t\tif ( mwTitle.isTalkPage() ) {\n\t\t\t\t\t\tmessage += '-talk';\n\t\t\t\t\t}\n\n\t\t\t\t\tlet notifyPromise;\n\t\t\t\t\tlet watchlistPopup;\n\t\t\t\t\t// @since 1.35 - pop up notification will be loaded with OOUI\n\t\t\t\t\t// only if Watchlist Expiry is enabled\n\t\t\t\t\tif ( isWatchlistExpiryEnabled ) {\n\t\t\t\t\t\tif ( isWatched ) {\n\t\t\t\t\t\t\tif ( !preferredExpiry || mw.util.isInfinity( preferredExpiry ) ) {\n\t\t\t\t\t\t\t\t// The message should include `infinite` watch period\n\t\t\t\t\t\t\t\tmessage = mwTitle.isTalkPage() ? 'addedwatchindefinitelytext-talk' : 'addedwatchindefinitelytext';\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tmessage = mwTitle.isTalkPage() ? 'addedwatchexpirytext-talk' : 'addedwatchexpirytext';\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tnotifyPromise = mw.loader.using( 'mediawiki.watchstar.widgets' ).then( ( require ) => {\n\t\t\t\t\t\t\tconst WatchlistExpiryWidget = require( 'mediawiki.watchstar.widgets' );\n\n\t\t\t\t\t\t\tif ( !watchlistPopup ) {\n\t\t\t\t\t\t\t\twatchlistPopup = new WatchlistExpiryWidget(\n\t\t\t\t\t\t\t\t\taction,\n\t\t\t\t\t\t\t\t\ttitle,\n\t\t\t\t\t\t\t\t\twatchResponse.expiry,\n\t\t\t\t\t\t\t\t\tupdateWatchLink,\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t// The following messages can be used here:\n\t\t\t\t\t\t\t\t\t\t// * addedwatchindefinitelytext-talk\n\t\t\t\t\t\t\t\t\t\t// * addedwatchindefinitelytext\n\t\t\t\t\t\t\t\t\t\t// * removedwatchtext-talk\n\t\t\t\t\t\t\t\t\t\t// * removedwatchtext\n\t\t\t\t\t\t\t\t\t\tmessage: mw.message( message, mwTitle.getPrefixedText(), preferredExpiry ).parseDom(),\n\t\t\t\t\t\t\t\t\t\t$link: $link\n\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tmw.notify( watchlistPopup.$element, {\n\t\t\t\t\t\t\t\ttag: 'watch-self',\n\t\t\t\t\t\t\t\tid: notificationId,\n\t\t\t\t\t\t\t\tautoHideSeconds: 'short'\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} );\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// The following messages can be used here:\n\t\t\t\t\t\t// * addedwatchtext-talk\n\t\t\t\t\t\t// * addedwatchtext\n\t\t\t\t\t\t// * removedwatchtext-talk\n\t\t\t\t\t\t// * removedwatchtext\n\t\t\t\t\t\tnotifyPromise = mw.notify(\n\t\t\t\t\t\t\tmw.message( message, mwTitle.getPrefixedText() ).parseDom(), {\n\t\t\t\t\t\t\t\ttag: 'watch-self',\n\t\t\t\t\t\t\t\tid: notificationId\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\t// The notifications are stored as a promise and the watch link is only updated\n\t\t\t\t\t// once it is resolved. Otherwise, if $wgWatchlistExpiry set, the loading of\n\t\t\t\t\t// OOUI could cause a race condition and the link is updated before the popup\n\t\t\t\t\t// actually is shown. See T263135\n\t\t\t\t\tnotifyPromise.always( () => {\n\t\t\t\t\t\t// Update all watchstars associated with this title\n\t\t\t\t\t\twatchstarsByTitle[ normalizedTitle ].forEach( ( w ) => {\n\t\t\t\t\t\t\tw.update( isWatched );\n\t\t\t\t\t\t} );\n\n\t\t\t\t\t\t// For the current page, also trigger the hook\n\t\t\t\t\t\tif ( normalizedTitle === pageTitle ) {\n\t\t\t\t\t\t\tnotifyPageWatchStatus( isWatched, watchResponse.expiry );\n\t\t\t\t\t\t}\n\t\t\t\t\t} );\n\t\t\t\t} )\n\t\t\t\t.fail( ( code, data ) => {\n\t\t\t\t\t// Reset link to non-loading mode\n\t\t\t\t\tupdateWatchLinkAttributes( $link, action );\n\n\t\t\t\t\t// Format error message\n\t\t\t\t\tconst $msg = api.getErrorMessage( data );\n\n\t\t\t\t\t// Report to user about the error\n\t\t\t\t\tmw.notify( $msg, {\n\t\t\t\t\t\ttag: 'watch-self',\n\t\t\t\t\t\ttype: 'error',\n\t\t\t\t\t\tid: notificationId\n\t\t\t\t\t} );\n\t\t\t\t} );\n\t\t} );\n\t}\n\n\t$( init );\n\n\t/**\n\t * Animate watch/unwatch links to use asynchronous API requests to\n\t * watch pages, rather than navigating to a different URI.\n\t *\n\t * @example\n\t * var watch = require( 'mediawiki.page.watch.ajax' );\n\t * watch.updateWatchLink(\n\t * $node,\n\t * 'watch',\n\t * 'loading'\n\t * );\n\t * // When the watch status of the page has been updated:\n\t * watch.updatePageWatchStatus( true );\n\t *\n\t * @exports mediawiki.page.watch.ajax\n\t */\n\tmodule.exports = {\n\t\twatchstar: watchstar,\n\t\tupdateWatchLink: updateWatchLink,\n\t\tupdatePageWatchStatus: updatePageWatchStatus\n\t};\n\n}() );\n","usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.pager.codex/init.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.pager.codex/limitSelectors.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.rcfilters/.eslintrc.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.rcfilters/Controller.js","messages":[{"ruleId":"jsdoc/require-returns","severity":1,"message":"Found more than one @return declaration.","line":330,"column":1,"nodeType":"Block","endLine":341,"endColumn":4},{"ruleId":"jsdoc/require-returns-check","severity":1,"message":"Found more than one @return declaration.","line":330,"column":1,"nodeType":"Block","endLine":341,"endColumn":4},{"ruleId":"jsdoc/valid-types","severity":1,"message":"Syntax error in namepath: ~'RcFilters.highlight.enable'","line":550,"column":1,"nodeType":"Block","endLine":550,"endColumn":1}],"suppressedMessages":[{"ruleId":"no-jquery/no-is-numeric","severity":1,"message":"Prefer typeof to $.isNumeric","line":957,"column":8,"nodeType":"CallExpression","endLine":957,"endColumn":31,"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":3,"fixableErrorCount":0,"fixableWarningCount":0,"source":"const byteLength = require( 'mediawiki.String' ).byteLength,\n\tUriProcessor = require( './UriProcessor.js' );\n\n/* eslint no-underscore-dangle: \"off\" */\n/**\n * Controller for the filters in Recent Changes.\n *\n * @class Controller\n * @memberof mw.rcfilters\n * @ignore\n * @param {mw.rcfilters.dm.FiltersViewModel} filtersModel Filters view model\n * @param {mw.rcfilters.dm.ChangesListViewModel} changesListModel Changes list view model\n * @param {mw.rcfilters.dm.SavedQueriesModel} savedQueriesModel Saved queries model\n * @param {Object} config Additional configuration\n * @param {string} config.savedQueriesPreferenceName Where to save the saved queries\n * @param {string} config.daysPreferenceName Preference name for the days filter\n * @param {string} config.limitPreferenceName Preference name for the limit filter\n * @param {string} config.collapsedPreferenceName Preference name for collapsing and showing\n * the active filters area\n * @param {boolean} [config.normalizeTarget] Dictates whether or not to go through the\n * title normalization to separate title subpage/parts into the target= url\n * parameter\n */\nconst Controller = function MwRcfiltersController( filtersModel, changesListModel, savedQueriesModel, config ) {\n\tthis.filtersModel = filtersModel;\n\tthis.changesListModel = changesListModel;\n\tthis.savedQueriesModel = savedQueriesModel;\n\tthis.savedQueriesPreferenceName = config.savedQueriesPreferenceName;\n\tthis.daysPreferenceName = config.daysPreferenceName;\n\tthis.limitPreferenceName = config.limitPreferenceName;\n\tthis.collapsedPreferenceName = config.collapsedPreferenceName;\n\tthis.normalizeTarget = !!config.normalizeTarget;\n\n\t// TODO merge dmConfig.json and config.json virtual files, see T256836\n\tthis.pollingRate = require( './dmConfig.json' ).StructuredChangeFiltersLiveUpdatePollingRate;\n\n\tthis.requestCounter = {};\n\tthis.uriProcessor = null;\n\tthis.initialized = false;\n\tthis.wereSavedQueriesSaved = false;\n\n\tthis.prevLoggedItems = [];\n\n\tthis.FILTER_CHANGE = 'filterChange';\n\tthis.SHOW_NEW_CHANGES = 'showNewChanges';\n\tthis.LIVE_UPDATE = 'liveUpdate';\n};\n\n/* Initialization */\nOO.initClass( Controller );\n\n/**\n * Initialize the filter and parameter states\n *\n * @param {Array} filterStructure Filter definition and structure for the model\n * @param {Object} namespaceStructure Namespace definition\n * @param {Object} tagList Tag definition\n * @param {Object} [conditionalViews] Conditional view definition\n */\nController.prototype.initialize = function ( filterStructure, namespaceStructure, tagList, conditionalViews ) {\n\tconst displayConfig = mw.config.get( 'StructuredChangeFiltersDisplayConfig' ),\n\t\tdefaultSavedQueryExists = mw.config.get( 'wgStructuredChangeFiltersDefaultSavedQueryExists' ),\n\t\tviews = $.extend( true, {}, conditionalViews ),\n\t\turl = new URL( location.href );\n\n\t// Prepare views\n\tconst nsAllContents = {\n\t\tname: 'all-contents',\n\t\tlabel: mw.msg( 'rcfilters-allcontents-label' ),\n\t\tdescription: '',\n\t\tidentifiers: [ 'subject' ],\n\t\tcssClass: 'mw-changeslist-ns-subject',\n\t\tsubset: []\n\t};\n\tconst nsAllDiscussions = {\n\t\tname: 'all-discussions',\n\t\tlabel: mw.msg( 'rcfilters-alldiscussions-label' ),\n\t\tdescription: '',\n\t\tidentifiers: [ 'talk' ],\n\t\tcssClass: 'mw-changeslist-ns-talk',\n\t\tsubset: []\n\t};\n\tconst items = [ nsAllContents, nsAllDiscussions ];\n\tfor ( const namespaceID in namespaceStructure ) {\n\t\tconst label = namespaceStructure[ namespaceID ];\n\t\t// Build and clean up the individual namespace items definition\n\t\tconst isTalk = mw.Title.isTalkNamespace( namespaceID ),\n\t\t\tnsFilter = {\n\t\t\t\tname: namespaceID,\n\t\t\t\tlabel: label || mw.msg( 'blanknamespace' ),\n\t\t\t\tdescription: '',\n\t\t\t\tidentifiers: [\n\t\t\t\t\tisTalk ? 'talk' : 'subject'\n\t\t\t\t],\n\t\t\t\tcssClass: 'mw-changeslist-ns-' + namespaceID\n\t\t\t};\n\t\titems.push( nsFilter );\n\t\t( isTalk ? nsAllDiscussions : nsAllContents ).subset.push( { filter: namespaceID } );\n\t}\n\n\tviews.namespaces = {\n\t\ttitle: mw.msg( 'namespaces' ),\n\t\ttrigger: ':',\n\t\tgroups: [ {\n\t\t\t// Group definition (single group)\n\t\t\tname: 'namespace', // parameter name is singular\n\t\t\ttype: 'string_options',\n\t\t\ttitle: mw.msg( 'namespaces' ),\n\t\t\tlabelPrefixKey: {\n\t\t\t\tdefault: 'rcfilters-tag-prefix-namespace',\n\t\t\t\tinverted: 'rcfilters-tag-prefix-namespace-inverted'\n\t\t\t},\n\t\t\tseparator: ';',\n\t\t\tsupportsAll: false,\n\t\t\tfullCoverage: true,\n\t\t\tfilters: items\n\t\t} ]\n\t};\n\tviews.invertNamespaces = {\n\t\tgroups: [\n\t\t\t{\n\t\t\t\t// Should really be called invertNamespacesGroup; legacy name is used so that\n\t\t\t\t// saved queries don't break\n\t\t\t\tname: 'invertGroup',\n\t\t\t\ttype: 'boolean',\n\t\t\t\thidden: true,\n\t\t\t\tfilters: [ {\n\t\t\t\t\tname: 'invert',\n\t\t\t\t\tdefault: '0'\n\t\t\t\t} ]\n\t\t\t} ]\n\t};\n\n\tviews.tags = {\n\t\ttitle: mw.msg( 'rcfilters-view-tags' ),\n\t\ttrigger: '#',\n\t\tgroups: [ {\n\t\t\t// Group definition (single group)\n\t\t\tname: 'tagfilter', // Parameter name\n\t\t\ttype: 'string_options',\n\t\t\ttitle: 'rcfilters-view-tags', // Message key\n\t\t\tlabelPrefixKey: {\n\t\t\t\tdefault: 'rcfilters-tag-prefix-tags',\n\t\t\t\tinverted: 'rcfilters-tag-prefix-tags-inverted'\n\t\t\t},\n\t\t\tseparator: '|',\n\t\t\tsupportsAll: false,\n\t\t\tfullCoverage: false,\n\t\t\tfilters: tagList\n\t\t} ]\n\t};\n\tviews.invertTags = {\n\t\tgroups: [\n\t\t\t{\n\t\t\t\tname: 'invertTagsGroup',\n\t\t\t\ttype: 'boolean',\n\t\t\t\thidden: true,\n\t\t\t\tfilters: [ {\n\t\t\t\t\tname: 'inverttags',\n\t\t\t\t\tdefault: '0'\n\t\t\t\t} ]\n\t\t\t} ]\n\t};\n\n\t// Add parameter range operations\n\tviews.range = {\n\t\tgroups: [\n\t\t\t{\n\t\t\t\tname: 'limit',\n\t\t\t\ttype: 'single_option',\n\t\t\t\ttitle: '', // Because it's a hidden group, this title actually appears nowhere\n\t\t\t\thidden: true,\n\t\t\t\tallowArbitrary: true,\n\t\t\t\t// FIXME: $.isNumeric is deprecated\n\t\t\t\tvalidate: $.isNumeric,\n\t\t\t\trange: {\n\t\t\t\t\tmin: 0, // The server normalizes negative numbers to 0 results\n\t\t\t\t\tmax: 1000\n\t\t\t\t},\n\t\t\t\tsortFunc: function ( a, b ) {\n\t\t\t\t\treturn Number( a.name ) - Number( b.name );\n\t\t\t\t},\n\t\t\t\tdefault: mw.user.options.get( this.limitPreferenceName, displayConfig.limitDefault ),\n\t\t\t\tsticky: true,\n\t\t\t\tfilters: displayConfig.limitArray.map( ( num ) => this._createFilterDataFromNumber( num, num ) )\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'days',\n\t\t\t\ttype: 'single_option',\n\t\t\t\ttitle: '', // Because it's a hidden group, this title actually appears nowhere\n\t\t\t\thidden: true,\n\t\t\t\tallowArbitrary: true,\n\t\t\t\t// FIXME: $.isNumeric is deprecated\n\t\t\t\tvalidate: $.isNumeric,\n\t\t\t\trange: {\n\t\t\t\t\tmin: 0,\n\t\t\t\t\tmax: displayConfig.maxDays\n\t\t\t\t},\n\t\t\t\tsortFunc: function ( a, b ) {\n\t\t\t\t\treturn Number( a.name ) - Number( b.name );\n\t\t\t\t},\n\t\t\t\tnumToLabelFunc: function ( i ) {\n\t\t\t\t\treturn Number( i ) < 1 ?\n\t\t\t\t\t\t( Number( i ) * 24 ).toFixed( 2 ) :\n\t\t\t\t\t\tNumber( i );\n\t\t\t\t},\n\t\t\t\tdefault: mw.user.options.get( this.daysPreferenceName, displayConfig.daysDefault ),\n\t\t\t\tsticky: true,\n\t\t\t\tfilters: [\n\t\t\t\t\t// Hours (1, 2, 6, 12)\n\t\t\t\t\t0.04166, 0.0833, 0.25, 0.5\n\t\t\t\t// Days\n\t\t\t\t].concat( displayConfig.daysArray )\n\t\t\t\t\t.map( ( num ) => this._createFilterDataFromNumber(\n\t\t\t\t\t\tnum,\n\t\t\t\t\t\t// Convert fractions of days to number of hours for the labels\n\t\t\t\t\t\tnum < 1 ? Math.round( num * 24 ) : num\n\t\t\t\t\t) )\n\t\t\t}\n\t\t]\n\t};\n\n\tviews.display = {\n\t\tgroups: [\n\t\t\t{\n\t\t\t\tname: 'display',\n\t\t\t\ttype: 'boolean',\n\t\t\t\ttitle: '', // Because it's a hidden group, this title actually appears nowhere\n\t\t\t\thidden: true,\n\t\t\t\tsticky: true,\n\t\t\t\tfilters: [\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'enhanced',\n\t\t\t\t\t\tdefault: String( mw.user.options.get( 'usenewrc', 0 ) )\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t}\n\t\t]\n\t};\n\n\t// Before we do anything, we need to see if we require additional items in the\n\t// groups that have 'AllowArbitrary'. For the moment, those are only single_option\n\t// groups; if we ever expand it, this might need further generalization:\n\tfor ( const viewName in views ) {\n\t\tconst viewData = views[ viewName ];\n\t\tfor ( const groupData of viewData.groups ) {\n\t\t\tconst extraValues = [];\n\t\t\tif ( groupData.allowArbitrary ) {\n\t\t\t\t// If the value in the URL isn't in the group, add it\n\t\t\t\tif ( url.searchParams.get( groupData.name ) !== null ) {\n\t\t\t\t\textraValues.push( url.searchParams.get( groupData.name ) );\n\t\t\t\t}\n\t\t\t\t// If the default value isn't in the group, add it\n\t\t\t\tif ( groupData.default !== undefined ) {\n\t\t\t\t\textraValues.push( String( groupData.default ) );\n\t\t\t\t}\n\t\t\t\tthis.addNumberValuesToGroup( groupData, extraValues );\n\t\t\t}\n\t\t}\n\t}\n\n\t// Initialize the model\n\tthis.filtersModel.initializeFilters( filterStructure, views );\n\n\tthis.uriProcessor = new UriProcessor(\n\t\tthis.filtersModel,\n\t\t{ normalizeTarget: this.normalizeTarget }\n\t);\n\n\tlet parsedSavedQueries;\n\tif ( !mw.user.isAnon() ) {\n\t\ttry {\n\t\t\tparsedSavedQueries = JSON.parse( mw.user.options.get( this.savedQueriesPreferenceName ) || '{}' );\n\t\t} catch ( err ) {\n\t\t\tparsedSavedQueries = {};\n\t\t}\n\n\t\t// Initialize saved queries\n\t\tthis.savedQueriesModel.initialize( parsedSavedQueries );\n\t\tif ( this.savedQueriesModel.isConverted() ) {\n\t\t\t// Since we know we converted, we're going to re-save\n\t\t\t// the queries so they are now migrated to the new format\n\t\t\tthis._saveSavedQueries();\n\t\t}\n\t}\n\n\tif ( defaultSavedQueryExists ) {\n\t\t// This came from the server, meaning that we have a default\n\t\t// saved query, but the server could not load it, probably because\n\t\t// it was pre-conversion to the new format.\n\t\t// We need to load this query again\n\t\tthis.applySavedQuery( this.savedQueriesModel.getDefault() );\n\t} else {\n\t\t// There are either recognized parameters in the URL\n\t\t// or there are none, but there is also no default\n\t\t// saved query (so defaults are from the backend)\n\t\t// We want to update the state but not fetch results\n\t\t// again\n\t\tthis.updateStateFromUrl( false );\n\n\t\tconst pieces = this._extractChangesListInfo( $( '#mw-content-text' ) );\n\n\t\t// Update the changes list with the existing data\n\t\t// so it gets processed\n\t\tthis.changesListModel.update(\n\t\t\tpieces.changes,\n\t\t\tpieces.fieldset,\n\t\t\tpieces.noResultsDetails,\n\t\t\ttrue // We're using existing DOM elements\n\t\t);\n\t}\n\n\tthis.initialized = true;\n\tthis.switchView( 'default' );\n\n\tif ( this.pollingRate ) {\n\t\tthis._scheduleLiveUpdate();\n\t}\n};\n\n/**\n * Check if the controller has finished initializing.\n *\n * @return {boolean} Controller is initialized\n */\nController.prototype.isInitialized = function () {\n\treturn this.initialized;\n};\n\n/**\n * Extracts information from the changes list DOM\n *\n * @param {jQuery} $root Root DOM to find children from\n * @param {number} [statusCode] Server response status code\n * @return {Object} Information about changes list\n * @return {Object|string} return.changes Changes list, or 'NO_RESULTS' if there are no results\n * (either normally or as an error)\n * @return {string} [return.noResultsDetails] 'NO_RESULTS_NORMAL' for a normal 0-result set,\n * 'NO_RESULTS_TIMEOUT' for no results due to a timeout, or omitted for more than 0 results\n * @return {jQuery} return.fieldset Fieldset\n */\nController.prototype._extractChangesListInfo = function ( $root, statusCode ) {\n\tconst $changesListContents = $root.find( '.mw-changeslist' ).first().contents(),\n\t\tareResults = !!$changesListContents.length,\n\t\tcheckForLogout = !areResults && statusCode === 200;\n\n\t// We check if user logged out on different tab/browser or the session has expired.\n\t// 205 status code returned from the server, which indicates that we need to reload the page\n\t// is not usable on WL page, because we get redirected to login page, which gives 200 OK\n\t// status code (if everything else goes well).\n\t// Bug: T177717\n\tif ( checkForLogout && !!$root.find( '#wpName1' ).length ) {\n\t\tlocation.reload( false );\n\t\treturn;\n\t}\n\n\tconst info = {\n\t\tchanges: $changesListContents.length ? $changesListContents : 'NO_RESULTS',\n\t\tfieldset: $root.find( 'fieldset.cloptions' ).first()\n\t};\n\n\tif ( !areResults ) {\n\t\tif ( $root.find( '.mw-changeslist-timeout' ).length ) {\n\t\t\tinfo.noResultsDetails = 'NO_RESULTS_TIMEOUT';\n\t\t} else if ( $root.find( '.mw-changeslist-notargetpage' ).length ) {\n\t\t\tinfo.noResultsDetails = 'NO_RESULTS_NO_TARGET_PAGE';\n\t\t} else if ( $root.find( '.mw-changeslist-invalidtargetpage' ).length ) {\n\t\t\tinfo.noResultsDetails = 'NO_RESULTS_INVALID_TARGET_PAGE';\n\t\t} else {\n\t\t\tinfo.noResultsDetails = 'NO_RESULTS_NORMAL';\n\t\t}\n\t}\n\n\treturn info;\n};\n\n/**\n * Create filter data from a number, for the filters that are numerical value\n *\n * @param {number} num Number\n * @param {number} numForDisplay Number for the label\n * @return {Object} Filter data\n */\nController.prototype._createFilterDataFromNumber = function ( num, numForDisplay ) {\n\treturn {\n\t\tname: String( num ),\n\t\tlabel: mw.language.convertNumber( numForDisplay )\n\t};\n};\n\n/**\n * Add an arbitrary values to groups that allow arbitrary values\n *\n * @param {Object} groupData Group data\n * @param {string|string[]} arbitraryValues An array of arbitrary values to add to the group\n */\nController.prototype.addNumberValuesToGroup = function ( groupData, arbitraryValues ) {\n\tconst normalizeWithinRange = function ( range, val ) {\n\t\tif ( val < range.min ) {\n\t\t\treturn range.min; // Min\n\t\t} else if ( val >= range.max ) {\n\t\t\treturn range.max; // Max\n\t\t}\n\t\treturn val;\n\t};\n\n\tarbitraryValues = Array.isArray( arbitraryValues ) ? arbitraryValues : [ arbitraryValues ];\n\n\t// Normalize the arbitrary values and the default value for a range\n\tif ( groupData.range ) {\n\t\tarbitraryValues = arbitraryValues.map( ( val ) => normalizeWithinRange( groupData.range, val ) );\n\n\t\t// Normalize the default, since that's user defined\n\t\tif ( groupData.default !== undefined ) {\n\t\t\tgroupData.default = String( normalizeWithinRange( groupData.range, groupData.default ) );\n\t\t}\n\t}\n\n\t// This is only true for single_option group\n\t// We assume these are the only groups that will allow for\n\t// arbitrary, since it doesn't make any sense for the other\n\t// groups.\n\tfor ( const val of arbitraryValues ) {\n\t\tif (\n\t\t\t// If the group allows for arbitrary data\n\t\t\tgroupData.allowArbitrary &&\n\t\t\t// and it is single_option (or string_options, but we\n\t\t\t// don't have cases of those yet, nor do we plan to)\n\t\t\tgroupData.type === 'single_option' &&\n\t\t\t// and, if there is a validate method and it passes on\n\t\t\t// the data\n\t\t\t( !groupData.validate || groupData.validate( val ) ) &&\n\t\t\t// but if that value isn't already in the definition\n\t\t\t!groupData.filters\n\t\t\t\t.map( ( filterData ) => String( filterData.name ) )\n\t\t\t\t.includes( String( val ) )\n\t\t) {\n\t\t\t// Add the filter information\n\t\t\tgroupData.filters.push( this._createFilterDataFromNumber(\n\t\t\t\tval,\n\t\t\t\tgroupData.numToLabelFunc ?\n\t\t\t\t\tgroupData.numToLabelFunc( val ) :\n\t\t\t\t\tval\n\t\t\t) );\n\n\t\t\t// If there's a sort function set up, re-sort the values\n\t\t\tif ( groupData.sortFunc ) {\n\t\t\t\tgroupData.filters.sort( groupData.sortFunc );\n\t\t\t}\n\t\t}\n\t}\n};\n\n/**\n * Reset to default filters\n */\nController.prototype.resetToDefaults = function () {\n\tconst params = this._getDefaultParams();\n\tif ( this.applyParamChange( params ) ) {\n\t\t// Only update the changes list if there was a change to actual filters\n\t\tthis.updateChangesList();\n\t} else {\n\t\tthis.uriProcessor.updateURL( params );\n\t}\n};\n\n/**\n * Check whether the default values of the filters are all false.\n *\n * @return {boolean} Defaults are all false\n */\nController.prototype.areDefaultsEmpty = function () {\n\treturn $.isEmptyObject( this._getDefaultParams() );\n};\n\n/**\n * Empty all selected filters\n */\nController.prototype.emptyFilters = function () {\n\tif ( this.applyParamChange( {} ) ) {\n\t\t// Only update the changes list if there was a change to actual filters\n\t\tthis.updateChangesList();\n\t} else {\n\t\tthis.uriProcessor.updateURL();\n\t}\n};\n\n/**\n * Update the selected state of a filter\n *\n * @param {string} filterName Filter name\n * @param {boolean} [isSelected] Filter selected state\n */\nController.prototype.toggleFilterSelect = function ( filterName, isSelected ) {\n\tconst filterItem = this.filtersModel.getItemByName( filterName );\n\n\tif ( !filterItem ) {\n\t\t// If no filter was found, break\n\t\treturn;\n\t}\n\n\tisSelected = isSelected === undefined ? !filterItem.isSelected() : isSelected;\n\n\tif ( filterItem.isSelected() !== isSelected ) {\n\t\tthis.filtersModel.toggleFilterSelected( filterName, isSelected );\n\n\t\tthis.updateChangesList();\n\n\t\t// Check filter interactions\n\t\tthis.filtersModel.reassessFilterInteractions( filterItem );\n\t}\n};\n\n/**\n * Clear both highlight and selection of a filter\n *\n * @param {string} filterName Name of the filter item\n */\nController.prototype.clearFilter = function ( filterName ) {\n\tconst filterItem = this.filtersModel.getItemByName( filterName ),\n\t\tisHighlighted = filterItem.isHighlighted(),\n\t\tisSelected = filterItem.isSelected();\n\n\tif ( isSelected || isHighlighted ) {\n\t\tthis.filtersModel.clearHighlightColor( filterName );\n\t\tthis.filtersModel.toggleFilterSelected( filterName, false );\n\n\t\tif ( isSelected ) {\n\t\t\t// Only update the changes list if the filter changed\n\t\t\t// its selection state. If it only changed its highlight\n\t\t\t// then don't reload\n\t\t\tthis.updateChangesList();\n\t\t}\n\n\t\tthis.filtersModel.reassessFilterInteractions( filterItem );\n\t}\n};\n\n/**\n * Toggle the highlight feature on and off\n */\nController.prototype.toggleHighlight = function () {\n\tthis.filtersModel.toggleHighlight();\n\tthis.uriProcessor.updateURL();\n\n\tif ( this.filtersModel.isHighlightEnabled() ) {\n\t\t/**\n\t\t * Fires when highlight feature is enabled.\n\t\t *\n\t\t * @event ~'RcFilters.highlight.enable'\n\t\t * @memberof Hooks\n\t\t */\n\t\tmw.hook( 'RcFilters.highlight.enable' ).fire();\n\t}\n};\n\n/**\n * Toggle the inverted tags feature on and off\n */\nController.prototype.toggleInvertedTags = function () {\n\tthis.filtersModel.toggleInvertedTags();\n\n\tif (\n\t\tthis.filtersModel.getFiltersByView( 'tags' ).filter(\n\t\t\t( filterItem ) => filterItem.isSelected()\n\t\t).length\n\t) {\n\t\t// Only re-fetch results if there are tags items that are actually selected\n\t\tthis.updateChangesList();\n\t} else {\n\t\tthis.uriProcessor.updateURL();\n\t}\n};\n\n/**\n * Toggle the inverted labels feature on and off\n */\nController.prototype.toggleInvertedWLLabels = function () {\n\tthis.filtersModel.toggleInvertedWLLabels();\n\n\tif (\n\t\tthis.filtersModel.getFiltersByView( 'wllabels' ).filter(\n\t\t\t( filterItem ) => filterItem.isSelected()\n\t\t).length\n\t) {\n\t\t// Only re-fetch results if there are tags items that are actually selected\n\t\tthis.updateChangesList();\n\t} else {\n\t\tthis.uriProcessor.updateURL();\n\t}\n};\n\n/**\n * Toggle the inverted namespaces feature on and off\n */\nController.prototype.toggleInvertedNamespaces = function () {\n\tthis.filtersModel.toggleInvertedNamespaces();\n\n\tif (\n\t\tthis.filtersModel.getFiltersByView( 'namespaces' ).filter(\n\t\t\t( filterItem ) => filterItem.isSelected()\n\t\t).length\n\t) {\n\t\t// Only re-fetch results if there are namespace items that are actually selected\n\t\tthis.updateChangesList();\n\t} else {\n\t\tthis.uriProcessor.updateURL();\n\t}\n};\n\n/**\n * Set the value of the 'showlinkedto' parameter\n *\n * @param {boolean} value\n */\nController.prototype.setShowLinkedTo = function ( value ) {\n\tconst targetItem = this.filtersModel.getGroup( 'page' ).getItemByParamName( 'target' ),\n\t\tshowLinkedToItem = this.filtersModel.getGroup( 'toOrFrom' ).getItemByParamName( 'showlinkedto' );\n\n\tthis.filtersModel.toggleFilterSelected( showLinkedToItem.getName(), value );\n\tthis.uriProcessor.updateURL();\n\t// reload the results only when target is set\n\tif ( targetItem.getValue() ) {\n\t\tthis.updateChangesList();\n\t}\n};\n\n/**\n * Set the target page\n *\n * @param {string} page\n */\nController.prototype.setTargetPage = function ( page ) {\n\tconst targetItem = this.filtersModel.getGroup( 'page' ).getItemByParamName( 'target' );\n\ttargetItem.setValue( page );\n\tthis.uriProcessor.updateURL();\n\tthis.updateChangesList();\n};\n\n/**\n * Set the highlight color for a filter item\n *\n * @param {string} filterName Name of the filter item\n * @param {string} color Selected color\n */\nController.prototype.setHighlightColor = function ( filterName, color ) {\n\tthis.filtersModel.setHighlightColor( filterName, color );\n\tthis.uriProcessor.updateURL();\n};\n\n/**\n * Clear highlight for a filter item\n *\n * @param {string} filterName Name of the filter item\n */\nController.prototype.clearHighlightColor = function ( filterName ) {\n\tthis.filtersModel.clearHighlightColor( filterName );\n\tthis.uriProcessor.updateURL();\n};\n\n/**\n * Enable or disable live updates.\n *\n * @param {boolean} enable True to enable, false to disable\n */\nController.prototype.toggleLiveUpdate = function ( enable ) {\n\tthis.changesListModel.toggleLiveUpdate( enable );\n\tif ( this.changesListModel.getLiveUpdate() && this.changesListModel.getNewChangesExist() ) {\n\t\tthis.updateChangesList( null, this.LIVE_UPDATE );\n\t}\n};\n\n/**\n * Set a timeout for the next live update.\n *\n * @private\n */\nController.prototype._scheduleLiveUpdate = function () {\n\tsetTimeout( this._doLiveUpdate.bind( this ), this.pollingRate * 1000 );\n};\n\n/**\n * Perform a live update.\n *\n * @private\n */\nController.prototype._doLiveUpdate = function () {\n\tif ( !this._shouldCheckForNewChanges() ) {\n\t\t// skip this turn and check back later\n\t\tthis._scheduleLiveUpdate();\n\t\treturn;\n\t}\n\n\tthis._checkForNewChanges()\n\t\t.then( ( statusCode ) => {\n\t\t\t// no result is 204 with the 'peek' param\n\t\t\t// logged out is 205\n\t\t\tconst newChanges = statusCode === 200;\n\n\t\t\tif ( !this._shouldCheckForNewChanges() ) {\n\t\t\t\t// by the time the response is received,\n\t\t\t\t// it may not be appropriate anymore\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// 205 is the status code returned from server when user's logged in/out\n\t\t\t// status is not matching while fetching live update changes.\n\t\t\t// This works only on Recent Changes page. For WL, look _extractChangesListInfo.\n\t\t\t// Bug: T177717\n\t\t\tif ( statusCode === 205 ) {\n\t\t\t\tlocation.reload( false );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( newChanges ) {\n\t\t\t\tif ( this.changesListModel.getLiveUpdate() ) {\n\t\t\t\t\treturn this.updateChangesList( null, this.LIVE_UPDATE );\n\t\t\t\t} else {\n\t\t\t\t\tthis.changesListModel.setNewChangesExist( true );\n\t\t\t\t}\n\t\t\t}\n\t\t} )\n\t\t.always( this._scheduleLiveUpdate.bind( this ) );\n};\n\n/**\n * @return {boolean} It's appropriate to check for new changes now\n * @private\n */\nController.prototype._shouldCheckForNewChanges = function () {\n\treturn !document.hidden &&\n\t\t!this.filtersModel.hasConflict() &&\n\t\t!this.changesListModel.getNewChangesExist() &&\n\t\t!this.updatingChangesList &&\n\t\tthis.changesListModel.getNextFrom();\n};\n\n/**\n * Check if new changes, newer than those currently shown, are available\n *\n * @return {jQuery.Promise} Promise object that resolves with a bool\n * specifying if there are new changes or not\n *\n * @private\n */\nController.prototype._checkForNewChanges = function () {\n\tconst params = {\n\t\tlimit: 1,\n\t\tpeek: 1, // bypasses ChangesList specific UI\n\t\tfrom: this.changesListModel.getNextFrom(),\n\t\tisAnon: mw.user.isAnon()\n\t};\n\treturn this._queryChangesList( 'liveUpdate', params ).then(\n\t\t( data ) => data.status\n\t);\n};\n\n/**\n * Show the new changes\n *\n * @return {jQuery.Promise} Promise object that resolves after\n * fetching and showing the new changes\n */\nController.prototype.showNewChanges = function () {\n\treturn this.updateChangesList( null, this.SHOW_NEW_CHANGES );\n};\n\n/**\n * Save the current model state as a saved query\n *\n * @param {string} [label] Label of the saved query\n * @param {boolean} [setAsDefault=false] This query should be set as the default\n */\nController.prototype.saveCurrentQuery = function ( label, setAsDefault ) {\n\t// Add item\n\tthis.savedQueriesModel.addNewQuery(\n\t\tlabel || mw.msg( 'rcfilters-savedqueries-defaultlabel' ),\n\t\tthis.filtersModel.getCurrentParameterState( true ),\n\t\tsetAsDefault\n\t);\n\n\t// Save item\n\tthis._saveSavedQueries();\n};\n\n/**\n * Remove a saved query\n *\n * @param {string} queryID Query id\n */\nController.prototype.removeSavedQuery = function ( queryID ) {\n\tthis.savedQueriesModel.removeQuery( queryID );\n\n\tthis._saveSavedQueries();\n};\n\n/**\n * Rename a saved query\n *\n * @param {string} queryID Query id\n * @param {string} newLabel New label for the query\n */\nController.prototype.renameSavedQuery = function ( queryID, newLabel ) {\n\tconst queryItem = this.savedQueriesModel.getItemByID( queryID );\n\n\tif ( queryItem ) {\n\t\tqueryItem.updateLabel( newLabel );\n\t}\n\tthis._saveSavedQueries();\n};\n\n/**\n * Set a saved query as default\n *\n * @param {string} queryID Query Id. If null is given, default\n * query is reset.\n */\nController.prototype.setDefaultSavedQuery = function ( queryID ) {\n\tthis.savedQueriesModel.setDefault( queryID );\n\tthis._saveSavedQueries();\n};\n\n/**\n * Load a saved query\n *\n * @param {string} queryID Query id\n */\nController.prototype.applySavedQuery = function ( queryID ) {\n\tconst params = this.savedQueriesModel.getItemParams( queryID );\n\n\tconst currentMatchingQuery = this.findQueryMatchingCurrentState();\n\n\tif (\n\t\tcurrentMatchingQuery &&\n\t\tcurrentMatchingQuery.getID() === queryID\n\t) {\n\t\t// If the query we want to load is the one that is already\n\t\t// loaded, don't reload it\n\t\treturn;\n\t}\n\n\tif ( this.applyParamChange( params ) ) {\n\t\t// Update changes list only if there was a difference in filter selection\n\t\tthis.updateChangesList();\n\t} else {\n\t\tthis.uriProcessor.updateURL( params );\n\t}\n};\n\n/**\n * Check whether the current filter and highlight state exists\n * in the saved queries model.\n *\n * @ignore\n * @return {mw.rcfilters.dm.SavedQueryItemModel} Matching item model\n */\nController.prototype.findQueryMatchingCurrentState = function () {\n\treturn this.savedQueriesModel.findMatchingQuery(\n\t\tthis.filtersModel.getCurrentParameterState( true )\n\t);\n};\n\n/**\n * Save the current state of the saved queries model with all\n * query item representation in the user settings.\n */\nController.prototype._saveSavedQueries = function () {\n\tconst backupPrefName = this.savedQueriesPreferenceName + '-versionbackup',\n\t\tstate = this.savedQueriesModel.getState();\n\n\t// Stringify state\n\tconst stringified = JSON.stringify( state );\n\n\tif ( byteLength( stringified ) > 65535 ) {\n\t\t// Double check, since the preference can only hold that.\n\t\treturn;\n\t}\n\n\tif ( !this.wereSavedQueriesSaved && this.savedQueriesModel.isConverted() ) {\n\t\t// The queries were converted from the previous version\n\t\t// Keep the old string in the [prefname]-versionbackup\n\t\tconst oldPrefValue = mw.user.options.get( this.savedQueriesPreferenceName );\n\n\t\t// Save the old preference in the backup preference\n\t\tnew mw.Api().saveOption( backupPrefName, oldPrefValue );\n\t\t// Update the preference for this session\n\t\tmw.user.options.set( backupPrefName, oldPrefValue );\n\t}\n\n\t// Save the preference\n\tnew mw.Api().saveOption( this.savedQueriesPreferenceName, stringified );\n\t// Update the preference for this session\n\tmw.user.options.set( this.savedQueriesPreferenceName, stringified );\n\n\t// Tag as already saved so we don't do this again\n\tthis.wereSavedQueriesSaved = true;\n};\n\n/**\n * Update sticky preferences with current model state\n */\nController.prototype.updateStickyPreferences = function () {\n\t// Update default sticky values with selected, whether they came from\n\t// the initial defaults or from the URL value that is being normalized\n\tthis.updateDaysDefault( this.filtersModel.getGroup( 'days' ).findSelectedItems()[ 0 ].getParamName() );\n\tthis.updateLimitDefault( this.filtersModel.getGroup( 'limit' ).findSelectedItems()[ 0 ].getParamName() );\n\n\t// TODO: Make these automatic by having the model go over sticky\n\t// items and update their default values automatically\n};\n\n/**\n * Update the limit default value\n *\n * @param {number} newValue New value\n */\nController.prototype.updateLimitDefault = function ( newValue ) {\n\tthis.updateNumericPreference( this.limitPreferenceName, newValue );\n};\n\n/**\n * Update the days default value\n *\n * @param {number} newValue New value\n */\nController.prototype.updateDaysDefault = function ( newValue ) {\n\tthis.updateNumericPreference( this.daysPreferenceName, newValue );\n};\n\n/**\n * Update the group by page default value\n *\n * @param {boolean} newValue New value\n */\nController.prototype.updateGroupByPageDefault = function ( newValue ) {\n\tthis.updateNumericPreference( 'usenewrc', Number( newValue ) );\n};\n\n/**\n * Update the collapsed state value\n *\n * @param {boolean} isCollapsed Filter area is collapsed\n */\nController.prototype.updateCollapsedState = function ( isCollapsed ) {\n\tthis.updateNumericPreference( this.collapsedPreferenceName, Number( isCollapsed ) );\n};\n\n/**\n * Update a numeric preference with a new value\n *\n * @param {string} prefName Preference name\n * @param {number|string} newValue New value\n */\nController.prototype.updateNumericPreference = function ( prefName, newValue ) {\n\t// FIXME: $.isNumeric is deprecated\n\t// eslint-disable-next-line no-jquery/no-is-numeric\n\tif ( !$.isNumeric( newValue ) ) {\n\t\treturn;\n\t}\n\n\tif ( String( mw.user.options.get( prefName ) ) !== String( newValue ) ) {\n\t\t// Save the preference\n\t\tnew mw.Api().saveOption( prefName, newValue );\n\t\t// Update the preference for this session\n\t\tmw.user.options.set( prefName, newValue );\n\t}\n};\n\n/**\n * Synchronize the URL with the current state of the filters\n * without adding a history entry.\n */\nController.prototype.replaceUrl = function () {\n\tthis.uriProcessor.updateURL();\n};\n\n/**\n * Update filter state (selection and highlighting) based\n * on current URL values.\n *\n * @param {boolean} [fetchChangesList=true] Fetch new results into the changes\n * list based on the updated model.\n */\nController.prototype.updateStateFromUrl = function ( fetchChangesList ) {\n\tfetchChangesList = fetchChangesList === undefined ? true : !!fetchChangesList;\n\n\tthis.uriProcessor.updateModelBasedOnQuery();\n\n\t// Update the sticky preferences, in case we received a value\n\t// from the URL\n\tthis.updateStickyPreferences();\n\n\t// Only update and fetch new results if it is requested\n\tif ( fetchChangesList ) {\n\t\tthis.updateChangesList();\n\t}\n};\n\n/**\n * Update the list of changes and notify the model\n *\n * @param {Object} [params] Extra parameters to add to the API call\n * @param {string} [updateMode='filterChange'] One of 'filterChange', 'liveUpdate', 'showNewChanges', 'markSeen'\n * @return {jQuery.Promise} Promise that is resolved when the update is complete\n */\nController.prototype.updateChangesList = function ( params, updateMode ) {\n\tupdateMode = updateMode === undefined ? this.FILTER_CHANGE : updateMode;\n\n\tif ( updateMode === this.FILTER_CHANGE ) {\n\t\tthis.uriProcessor.updateURL( params );\n\t}\n\tif ( updateMode === this.FILTER_CHANGE || updateMode === this.SHOW_NEW_CHANGES ) {\n\t\tthis.changesListModel.invalidate();\n\t}\n\tthis.changesListModel.setNewChangesExist( false );\n\tthis.updatingChangesList = true;\n\treturn this._fetchChangesList()\n\t\t.then(\n\t\t\t// Success\n\t\t\t( pieces ) => {\n\t\t\t\tconst $changesListContent = pieces.changes,\n\t\t\t\t\t$fieldset = pieces.fieldset;\n\t\t\t\tthis.changesListModel.update(\n\t\t\t\t\t$changesListContent,\n\t\t\t\t\t$fieldset,\n\t\t\t\t\tpieces.noResultsDetails,\n\t\t\t\t\tfalse,\n\t\t\t\t\t// separator between old and new changes\n\t\t\t\t\tupdateMode === this.SHOW_NEW_CHANGES || updateMode === this.LIVE_UPDATE\n\t\t\t\t);\n\t\t\t}\n\t\t\t// Do nothing for failure\n\t\t)\n\t\t.always( () => {\n\t\t\tthis.updatingChangesList = false;\n\t\t} );\n};\n\n/**\n * Get an object representing the default parameter state, whether\n * it is from the model defaults or from the saved queries.\n *\n * @return {Object} Default parameters\n */\nController.prototype._getDefaultParams = function () {\n\tif ( this.savedQueriesModel.getDefault() ) {\n\t\treturn this.savedQueriesModel.getDefaultParams();\n\t} else {\n\t\treturn this.filtersModel.getDefaultParams();\n\t}\n};\n\n/**\n * Query the list of changes from the server for the current filters\n *\n * @param {string} counterId Id for this request. To allow concurrent requests\n * not to invalidate each other.\n * @param {Object} [params={}] Parameters to add to the query\n *\n * @return {jQuery.Promise} Promise object resolved with { content, status }\n */\nController.prototype._queryChangesList = function ( counterId, params ) {\n\tconst url = this.uriProcessor.getUpdatedUri(),\n\t\tstickyParams = this.filtersModel.getStickyParamsValues();\n\n\tparams = params || {};\n\tparams.action = 'render'; // disable MediaWiki skin wrapper\n\n\tfor ( const key in params ) {\n\t\turl.searchParams.set( key, params[ key ] );\n\t}\n\n\tthis.requestCounter[ counterId ] = this.requestCounter[ counterId ] || 0;\n\tconst requestId = ++this.requestCounter[ counterId ];\n\tconst latestRequest = function () {\n\t\treturn requestId === this.requestCounter[ counterId ];\n\t}.bind( this );\n\n\t// Sticky parameters override the URL params\n\t// this is to make sure that whether we represent\n\t// the sticky params in the URL or not (they may\n\t// be normalized out) the sticky parameters are\n\t// always being sent to the server with their\n\t// current/default values\n\tfor ( const key in stickyParams ) {\n\t\turl.searchParams.set( key, stickyParams[ key ] );\n\t}\n\n\treturn $.ajax( url.toString() )\n\t\t.then(\n\t\t\t( content, message, jqXHR ) => {\n\t\t\t\tif ( !latestRequest() ) {\n\t\t\t\t\treturn $.Deferred().reject();\n\t\t\t\t}\n\t\t\t\treturn {\n\t\t\t\t\tcontent: content,\n\t\t\t\t\tstatus: jqXHR.status\n\t\t\t\t};\n\t\t\t},\n\t\t\t// RC returns 404 when there is no results\n\t\t\t( jqXHR ) => {\n\t\t\t\tif ( latestRequest() ) {\n\t\t\t\t\treturn $.Deferred().resolve(\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tcontent: jqXHR.responseText,\n\t\t\t\t\t\t\tstatus: jqXHR.status\n\t\t\t\t\t\t}\n\t\t\t\t\t).promise();\n\t\t\t\t}\n\t\t\t}\n\t\t);\n};\n\n/**\n * Fetch the list of changes from the server for the current filters\n *\n * @return {jQuery.Promise} Promise object that will resolve with the changes list\n * and the fieldset.\n */\nController.prototype._fetchChangesList = function () {\n\treturn this._queryChangesList( 'updateChangesList' )\n\t\t.then(\n\t\t\t( data ) => {\n\t\t\t\t// Status code 0 is not HTTP status code,\n\t\t\t\t// but is valid value of XMLHttpRequest status.\n\t\t\t\t// It is used for variety of network errors, for example\n\t\t\t\t// when an AJAX call was cancelled before getting the response\n\t\t\t\tif ( data && data.status === 0 ) {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tchanges: 'NO_RESULTS',\n\t\t\t\t\t\t// We need empty result set, to avoid exceptions because of undefined value\n\t\t\t\t\t\tfieldset: $( [] ),\n\t\t\t\t\t\tnoResultsDetails: 'NO_RESULTS_NETWORK_ERROR'\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\tconst $parsed = $( '<div>' ).append( $( $.parseHTML(\n\t\t\t\t\tdata ? data.content : ''\n\t\t\t\t) ) );\n\n\t\t\t\treturn this._extractChangesListInfo( $parsed, data.status );\n\t\t\t}\n\t\t);\n};\n\n/**\n * Apply a change of parameters to the model state, and check whether\n * the new state is different than the old state.\n *\n * @param {Object} newParamState New parameter state to apply\n * @return {boolean} New applied model state is different than the previous state\n */\nController.prototype.applyParamChange = function ( newParamState ) {\n\tconst before = this.filtersModel.getSelectedState();\n\n\tthis.filtersModel.updateStateFromParams( newParamState );\n\n\tconst after = this.filtersModel.getSelectedState();\n\n\treturn !OO.compare( before, after );\n};\n\n/**\n * Mark all changes as seen on Watchlist\n */\nController.prototype.markAllChangesAsSeen = function () {\n\tconst api = new mw.Api();\n\tapi.postWithToken( 'csrf', {\n\t\tformatversion: 2,\n\t\taction: 'setnotificationtimestamp',\n\t\tentirewatchlist: true\n\t} ).then( () => {\n\t\tthis.updateChangesList( null, 'markSeen' );\n\t} );\n};\n\n/**\n * Set the current search for the system.\n *\n * @param {string} searchQuery Search query, including triggers\n */\nController.prototype.setSearch = function ( searchQuery ) {\n\tthis.filtersModel.setSearch( searchQuery );\n};\n\n/**\n * Switch the view by changing the search query trigger\n * without changing the search term\n *\n * @param {string} view View to change to\n */\nController.prototype.switchView = function ( view ) {\n\tthis.setSearch(\n\t\tthis.filtersModel.getViewTrigger( view ) +\n\t\tthis.filtersModel.removeViewTriggers( this.filtersModel.getSearch() )\n\t);\n};\n\n/**\n * Reset the search for a specific view. This means we null the search query\n * and replace it with the relevant trigger for the requested view\n *\n * @param {string} [view='default'] View to change to\n */\nController.prototype.resetSearchForView = function ( view ) {\n\tview = view || 'default';\n\n\tthis.setSearch(\n\t\tthis.filtersModel.getViewTrigger( view )\n\t);\n};\n\nmodule.exports = Controller;\n","usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.rcfilters/HighlightColors.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.rcfilters/UriProcessor.js","messages":[],"suppressedMessages":[{"ruleId":"eqeqeq","severity":2,"message":"Expected '!==' and instead saw '!='.","line":219,"column":27,"nodeType":"BinaryExpression","messageId":"unexpected","endLine":219,"endColumn":29,"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.rcfilters/dm/ChangesListViewModel.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.rcfilters/dm/FilterGroup.js","messages":[],"suppressedMessages":[{"ruleId":"no-jquery/no-each-util","severity":2,"message":"Prefer Array#forEach to $.each","line":535,"column":4,"nodeType":"CallExpression","endLine":539,"endColumn":7,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-each-util","severity":2,"message":"Prefer Array#forEach to $.each","line":584,"column":3,"nodeType":"CallExpression","endLine":597,"endColumn":6,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-each-util","severity":2,"message":"Prefer Array#forEach to $.each","line":602,"column":3,"nodeType":"CallExpression","endLine":607,"endColumn":6,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-each-util","severity":2,"message":"Prefer Array#forEach to $.each","line":663,"column":3,"nodeType":"CallExpression","endLine":681,"endColumn":6,"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.rcfilters/dm/FilterItem.js","messages":[{"ruleId":"jsdoc/require-returns","severity":1,"message":"Found more than one @return declaration.","line":81,"column":1,"nodeType":"Block","endLine":90,"endColumn":4},{"ruleId":"jsdoc/require-returns-check","severity":1,"message":"Found more than one @return declaration.","line":81,"column":1,"nodeType":"Block","endLine":90,"endColumn":4},{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'update' is undefined.","line":335,"column":1,"nodeType":"Block","endLine":335,"endColumn":1},{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'update' is undefined.","line":351,"column":1,"nodeType":"Block","endLine":351,"endColumn":1},{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'update' is undefined.","line":366,"column":1,"nodeType":"Block","endLine":366,"endColumn":1}],"suppressedMessages":[{"ruleId":"no-jquery/no-each-util","severity":2,"message":"Prefer Array#forEach to $.each","line":99,"column":2,"nodeType":"CallExpression","endLine":112,"endColumn":5,"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":5,"fixableErrorCount":0,"fixableWarningCount":0,"source":"const ItemModel = require( './ItemModel.js' );\n\n/**\n * Filter item model.\n *\n * @class mw.rcfilters.dm.FilterItem\n * @ignore\n * @extends mw.rcfilters.dm.ItemModel\n *\n * @param {string} param Filter param name\n * @param {mw.rcfilters.dm.FilterGroup} groupModel Filter group model\n * @param {Object} config Configuration object\n * @param {string[]} [config.excludes=[]] A list of filter names this filter, if\n * selected, makes inactive.\n * @param {string[]} [config.subset] Defining the names of filters that are a subset of this filter\n * @param {Object} [config.conflicts] Defines the conflicts for this filter\n * @param {boolean} [config.visible=true] The visibility of the group\n */\nconst FilterItem = function MwRcfiltersDmFilterItem( param, groupModel, config ) {\n\tconfig = config || {};\n\n\tthis.groupModel = groupModel;\n\n\t// Parent\n\tFilterItem.super.call( this, param, Object.assign( {\n\t\tnamePrefix: this.groupModel.getNamePrefix()\n\t}, config ) );\n\t// Mixin constructor\n\tOO.EventEmitter.call( this );\n\n\t// Interaction definitions\n\tthis.subset = config.subset || [];\n\tthis.conflicts = config.conflicts || {};\n\tthis.superset = [];\n\tthis.visible = config.visible === undefined ? true : !!config.visible;\n\n\t// Interaction states\n\tthis.included = false;\n\tthis.conflicted = false;\n\tthis.fullyCovered = false;\n};\n\n/* Initialization */\n\nOO.inheritClass( FilterItem, ItemModel );\n\n/* Methods */\n\n/**\n * Return the representation of the state of this item.\n *\n * @return {Object} State of the object\n */\nFilterItem.prototype.getState = function () {\n\treturn {\n\t\tselected: this.isSelected(),\n\t\tincluded: this.isIncluded(),\n\t\tconflicted: this.isConflicted(),\n\t\tfullyCovered: this.isFullyCovered()\n\t};\n};\n\n/**\n * Get the message for the display area for the currently active conflict\n *\n * @return {string} Conflict result message key\n */\nFilterItem.prototype.getCurrentConflictResultMessage = function () {\n\tlet details;\n\n\t// First look in filter's own conflicts\n\tdetails = this.getConflictDetails( this.getOwnConflicts(), 'globalDescription' );\n\tif ( !details.message ) {\n\t\t// Fall back onto conflicts in the group\n\t\tdetails = this.getConflictDetails( this.getGroupModel().getConflicts(), 'globalDescription' );\n\t}\n\n\treturn details.message;\n};\n\n/**\n * Get the details of the active conflict on this filter\n *\n * @private\n * @param {Object} conflicts Conflicts to examine\n * @param {string} [key='contextDescription'] Message key\n * @return {Object} Object with conflict message and conflict items\n * @return {string} return.message Conflict message\n * @return {string[]} return.names Conflicting item labels\n */\nFilterItem.prototype.getConflictDetails = function ( conflicts, key ) {\n\tlet group,\n\t\tconflictMessage = '';\n\tconst itemLabels = [];\n\n\tkey = key || 'contextDescription';\n\n\t// eslint-disable-next-line no-jquery/no-each-util\n\t$.each( conflicts, ( filterName, conflict ) => {\n\t\tif ( !conflict.item.isSelected() ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( !conflictMessage ) {\n\t\t\tconflictMessage = conflict[ key ];\n\t\t\tgroup = conflict.group;\n\t\t}\n\n\t\tif ( group === conflict.group ) {\n\t\t\titemLabels.push( mw.msg( 'quotation-marks', conflict.item.getLabel() ) );\n\t\t}\n\t} );\n\n\treturn {\n\t\tmessage: conflictMessage,\n\t\tnames: itemLabels\n\t};\n\n};\n\n/**\n * @inheritdoc\n */\nFilterItem.prototype.getStateMessage = function () {\n\tlet messageKey, details, superset,\n\t\taffectingItems = [];\n\n\tif ( this.isSelected() ) {\n\t\tif ( this.isConflicted() ) {\n\t\t\t// First look in filter's own conflicts\n\t\t\tdetails = this.getConflictDetails( this.getOwnConflicts() );\n\t\t\tif ( !details.message ) {\n\t\t\t\t// Fall back onto conflicts in the group\n\t\t\t\tdetails = this.getConflictDetails( this.getGroupModel().getConflicts() );\n\t\t\t}\n\n\t\t\tmessageKey = details.message;\n\t\t\taffectingItems = details.names;\n\t\t} else if ( this.isIncluded() && !this.isHighlighted() ) {\n\t\t\t// We only show the 'no effect' full-coverage message\n\t\t\t// if the item is also not highlighted. See T161273\n\t\t\tsuperset = this.getSuperset();\n\t\t\t// For this message we need to collect the affecting superset\n\t\t\taffectingItems = this.getGroupModel().findSelectedItems( this )\n\t\t\t\t.filter( ( item ) => superset.includes( item.getName() ) )\n\t\t\t\t.map( ( item ) => mw.msg( 'quotation-marks', item.getLabel() ) );\n\n\t\t\tmessageKey = 'rcfilters-state-message-subset';\n\t\t} else if ( this.isFullyCovered() && !this.isHighlighted() ) {\n\t\t\taffectingItems = this.getGroupModel().findSelectedItems( this )\n\t\t\t\t.map( ( item ) => mw.msg( 'quotation-marks', item.getLabel() ) );\n\n\t\t\tmessageKey = 'rcfilters-state-message-fullcoverage';\n\t\t}\n\t}\n\n\tif ( messageKey ) {\n\t\t// Build message\n\t\t// The following messages are used here:\n\t\t// * rcfilters-state-message-subset\n\t\t// * rcfilters-state-message-fullcoverage\n\t\t// * conflict.message values...\n\t\treturn mw.msg(\n\t\t\tmessageKey,\n\t\t\tmw.language.listToText( affectingItems ),\n\t\t\taffectingItems.length\n\t\t);\n\t}\n\n\t// Display description\n\treturn this.getDescription();\n};\n\n/**\n * Get the model of the group this filter belongs to\n *\n * @ignore\n * @return {mw.rcfilters.dm.FilterGroup} Filter group model\n */\nFilterItem.prototype.getGroupModel = function () {\n\treturn this.groupModel;\n};\n\n/**\n * Get the group name this filter belongs to\n *\n * @return {string} Filter group name\n */\nFilterItem.prototype.getGroupName = function () {\n\treturn this.groupModel.getName();\n};\n\n/**\n * Get filter subset\n * This is a list of filter names that are defined to be included\n * when this filter is selected.\n *\n * @return {string[]} Filter subset\n */\nFilterItem.prototype.getSubset = function () {\n\treturn this.subset;\n};\n\n/**\n * Get filter superset\n * This is a generated list of filters that define this filter\n * to be included when either of them is selected.\n *\n * @return {string[]} Filter superset\n */\nFilterItem.prototype.getSuperset = function () {\n\treturn this.superset;\n};\n\n/**\n * Check whether the filter is currently in a conflict state\n *\n * @return {boolean} Filter is in conflict state\n */\nFilterItem.prototype.isConflicted = function () {\n\treturn this.conflicted;\n};\n\n/**\n * Check whether the filter is currently in an already included subset\n *\n * @return {boolean} Filter is in an already-included subset\n */\nFilterItem.prototype.isIncluded = function () {\n\treturn this.included;\n};\n\n/**\n * Check whether the filter is currently fully covered\n *\n * @return {boolean} Filter is in fully-covered state\n */\nFilterItem.prototype.isFullyCovered = function () {\n\treturn this.fullyCovered;\n};\n\n/**\n * Get all conflicts associated with this filter or its group\n *\n * Conflict object is set up by filter name keys and conflict\n * definition. For example:\n *\n * {\n * filterName: {\n * filter: filterName,\n * group: group1,\n * label: itemLabel,\n * item: itemModel\n * }\n * filterName2: {\n * filter: filterName2,\n * group: group2\n * label: itemLabel2,\n * item: itemModel2\n * }\n * }\n *\n * @return {Object} Filter conflicts\n */\nFilterItem.prototype.getConflicts = function () {\n\treturn Object.assign( {}, this.conflicts, this.getGroupModel().getConflicts() );\n};\n\n/**\n * Get the conflicts associated with this filter\n *\n * @return {Object} Filter conflicts\n */\nFilterItem.prototype.getOwnConflicts = function () {\n\treturn this.conflicts;\n};\n\n/**\n * Set conflicts for this filter. See #getConflicts for the expected\n * structure of the definition.\n *\n * @param {Object} conflicts Conflicts for this filter\n */\nFilterItem.prototype.setConflicts = function ( conflicts ) {\n\tthis.conflicts = conflicts || {};\n};\n\n/**\n * Set filter superset\n *\n * @param {string[]} superset Filter superset\n */\nFilterItem.prototype.setSuperset = function ( superset ) {\n\tthis.superset = superset || [];\n};\n\n/**\n * Set filter subset\n *\n * @param {string[]} subset Filter subset\n */\nFilterItem.prototype.setSubset = function ( subset ) {\n\tthis.subset = subset || [];\n};\n\n/**\n * Check whether a filter exists in the subset list for this filter\n *\n * @param {string} filterName Filter name\n * @return {boolean} Filter name is in the subset list\n */\nFilterItem.prototype.existsInSubset = function ( filterName ) {\n\treturn this.subset.includes( filterName );\n};\n\n/**\n * Check whether this item has a potential conflict with the given item\n *\n * This checks whether the given item is in the list of conflicts of\n * the current item, but makes no judgment about whether the conflict\n * is currently at play (either one of the items may not be selected)\n *\n * @param {mw.rcfilters.dm.FilterItem} filterItem Filter item\n * @return {boolean} This item has a conflict with the given item\n */\nFilterItem.prototype.existsInConflicts = function ( filterItem ) {\n\treturn Object.prototype.hasOwnProperty.call( this.getConflicts(), filterItem.getName() );\n};\n\n/**\n * Set the state of this filter as being conflicted\n * (This means any filters in its conflicts are selected)\n *\n * @param {boolean} [conflicted] Filter is in conflict state\n * @fires update\n */\nFilterItem.prototype.toggleConflicted = function ( conflicted ) {\n\tconflicted = conflicted === undefined ? !this.conflicted : conflicted;\n\n\tif ( this.conflicted !== conflicted ) {\n\t\tthis.conflicted = conflicted;\n\t\tthis.emit( 'update' );\n\t}\n};\n\n/**\n * Set the state of this filter as being already included\n * (This means any filters in its superset are selected)\n *\n * @param {boolean} [included] Filter is included as part of a subset\n * @fires update\n */\nFilterItem.prototype.toggleIncluded = function ( included ) {\n\tincluded = included === undefined ? !this.included : included;\n\n\tif ( this.included !== included ) {\n\t\tthis.included = included;\n\t\tthis.emit( 'update' );\n\t}\n};\n\n/**\n * Toggle the fully covered state of the item\n *\n * @param {boolean} [isFullyCovered] Filter is fully covered\n * @fires update\n */\nFilterItem.prototype.toggleFullyCovered = function ( isFullyCovered ) {\n\tisFullyCovered = isFullyCovered === undefined ? !this.fullycovered : isFullyCovered;\n\n\tif ( this.fullyCovered !== isFullyCovered ) {\n\t\tthis.fullyCovered = isFullyCovered;\n\t\tthis.emit( 'update' );\n\t}\n};\n\n/**\n * Toggle the visibility of this item\n *\n * @param {boolean} [isVisible] Item is visible\n */\nFilterItem.prototype.toggleVisible = function ( isVisible ) {\n\tisVisible = isVisible === undefined ? !this.visible : !!isVisible;\n\n\tif ( this.visible !== isVisible ) {\n\t\tthis.visible = isVisible;\n\t\tthis.emit( 'update' );\n\t}\n};\n\n/**\n * Check whether the item is visible\n *\n * @return {boolean} Item is visible\n */\nFilterItem.prototype.isVisible = function () {\n\treturn this.visible;\n};\n\nmodule.exports = FilterItem;\n","usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.rcfilters/dm/FiltersViewModel.js","messages":[{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'searchChange' is undefined.","line":1200,"column":1,"nodeType":"Block","endLine":1200,"endColumn":1}],"suppressedMessages":[{"ruleId":"no-jquery/no-each-util","severity":2,"message":"Prefer Array#forEach to $.each","line":116,"column":3,"nodeType":"CallExpression","endLine":164,"endColumn":6,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-each-util","severity":2,"message":"Prefer Array#forEach to $.each","line":240,"column":4,"nodeType":"CallExpression","endLine":279,"endColumn":7,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"mediawiki/msg-doc","severity":1,"message":"All possible message keys should be documented. See https://w.wiki/4r9a for details.","line":305,"column":29,"nodeType":"CallExpression","endLine":305,"endColumn":49,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"mediawiki/msg-doc","severity":1,"message":"All possible message keys should be documented. See https://w.wiki/4r9a for details.","line":311,"column":56,"nodeType":"CallExpression","endLine":311,"endColumn":89,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"mediawiki/msg-doc","severity":1,"message":"All possible message keys should be documented. See https://w.wiki/4r9a for details.","line":313,"column":68,"nodeType":"CallExpression","endLine":313,"endColumn":107,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-each-util","severity":2,"message":"Prefer Array#forEach to $.each","line":327,"column":2,"nodeType":"CallExpression","endLine":363,"endColumn":5,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-each-util","severity":2,"message":"Prefer Array#forEach to $.each","line":374,"column":2,"nodeType":"CallExpression","endLine":376,"endColumn":5,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-each-util","severity":2,"message":"Prefer Array#forEach to $.each","line":380,"column":2,"nodeType":"CallExpression","endLine":384,"endColumn":5,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-each-util","severity":2,"message":"Prefer Array#forEach to $.each","line":388,"column":2,"nodeType":"CallExpression","endLine":405,"endColumn":5,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-each-util","severity":2,"message":"Prefer Array#forEach to $.each","line":424,"column":2,"nodeType":"CallExpression","endLine":426,"endColumn":5,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-each-util","severity":2,"message":"Prefer Array#forEach to $.each","line":480,"column":2,"nodeType":"CallExpression","endLine":484,"endColumn":5,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-each-util","severity":2,"message":"Prefer Array#forEach to $.each","line":575,"column":2,"nodeType":"CallExpression","endLine":579,"endColumn":5,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-each-util","severity":2,"message":"Prefer Array#forEach to $.each","line":599,"column":2,"nodeType":"CallExpression","endLine":601,"endColumn":5,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-each-util","severity":2,"message":"Prefer Array#forEach to $.each","line":675,"column":2,"nodeType":"CallExpression","endLine":679,"endColumn":5,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-each-util","severity":2,"message":"Prefer Array#forEach to $.each","line":693,"column":2,"nodeType":"CallExpression","endLine":702,"endColumn":5,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-each-util","severity":2,"message":"Prefer Array#forEach to $.each","line":716,"column":2,"nodeType":"CallExpression","endLine":720,"endColumn":5,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-each-util","severity":2,"message":"Prefer Array#forEach to $.each","line":753,"column":2,"nodeType":"CallExpression","endLine":761,"endColumn":5,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-each-util","severity":2,"message":"Prefer Array#forEach to $.each","line":789,"column":2,"nodeType":"CallExpression","endLine":799,"endColumn":5,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-each-util","severity":2,"message":"Prefer Array#forEach to $.each","line":804,"column":2,"nodeType":"CallExpression","endLine":806,"endColumn":5,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-each-util","severity":2,"message":"Prefer Array#forEach to $.each","line":1122,"column":2,"nodeType":"CallExpression","endLine":1124,"endColumn":5,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-each-util","severity":2,"message":"Prefer Array#forEach to $.each","line":1160,"column":2,"nodeType":"CallExpression","endLine":1164,"endColumn":5,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-each-util","severity":2,"message":"Prefer Array#forEach to $.each","line":1214,"column":3,"nodeType":"CallExpression","endLine":1218,"endColumn":6,"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"const FilterGroup = require( './FilterGroup.js' ),\n\tFilterItem = require( './FilterItem.js' ),\n\tutils = require( '../utils.js' );\n\n/**\n * View model for the filters selection and display.\n *\n * @class mw.rcfilters.dm.FiltersViewModel\n * @ignore\n * @mixes OO.EventEmitter\n * @mixes OO.EmitterList\n */\nconst FiltersViewModel = function MwRcfiltersDmFiltersViewModel() {\n\t// Mixin constructor\n\tOO.EventEmitter.call( this );\n\tOO.EmitterList.call( this );\n\n\tthis.groups = {};\n\tthis.defaultParams = {};\n\tthis.highlightEnabled = false;\n\tthis.parameterMap = {};\n\tthis.emptyParameterState = null;\n\n\tthis.views = {};\n\tthis.currentView = 'default';\n\tthis.searchQuery = null;\n\n\t// Events\n\tthis.aggregate( { update: 'filterItemUpdate' } );\n\tthis.connect( this, { filterItemUpdate: [ 'emit', 'itemUpdate' ] } );\n};\n\n/* Initialization */\nOO.initClass( FiltersViewModel );\nOO.mixinClass( FiltersViewModel, OO.EventEmitter );\nOO.mixinClass( FiltersViewModel, OO.EmitterList );\n\n/* Events */\n\n/**\n * Filter list is initialized.\n *\n * @event initialize\n * @ignore\n */\n\n/**\n * Model has been updated.\n *\n * @event update\n * @ignore\n */\n\n/**\n * Filter item has changed.\n *\n * @event itemUpdate\n * @param {mw.rcfilters.dm.FilterItem} item Filter item updated\n * @ignore\n */\n\n/**\n * Highlight feature has been toggled enabled or disabled.\n *\n * @event highlightChange\n * @param {boolean} Highlight feature is enabled\n * @ignore\n */\n\n/* Methods */\n\n/**\n * Re-assess the states of filter items based on the interactions between them\n *\n * @param {mw.rcfilters.dm.FilterItem} [item] Changed item. If not given, the\n * method will go over the state of all items\n */\nFiltersViewModel.prototype.reassessFilterInteractions = function ( item ) {\n\tconst iterationItems = item !== undefined ? [ item ] : this.getItems();\n\n\titerationItems.forEach( ( checkedItem ) => {\n\t\tconst allCheckedItems = checkedItem.getSubset().concat( [ checkedItem.getName() ] ),\n\t\t\tgroupModel = checkedItem.getGroupModel();\n\n\t\t// Check for subsets (included filters) plus the item itself:\n\t\tallCheckedItems.forEach( ( filterItemName ) => {\n\t\t\tconst itemInSubset = this.getItemByName( filterItemName );\n\n\t\t\titemInSubset.toggleIncluded(\n\t\t\t\t// If any of itemInSubset's supersets are selected, this item\n\t\t\t\t// is included\n\t\t\t\titemInSubset.getSuperset().some( ( supersetName ) => ( this.getItemByName( supersetName ).isSelected() ) )\n\t\t\t);\n\t\t} );\n\n\t\t// Update coverage for the changed group\n\t\tif ( groupModel.isFullCoverage() ) {\n\t\t\tconst allSelected = groupModel.areAllSelected();\n\t\t\tgroupModel.getItems().forEach( ( filterItem ) => {\n\t\t\t\tfilterItem.toggleFullyCovered( allSelected );\n\t\t\t} );\n\t\t}\n\t} );\n\n\t// Check for conflicts\n\t// In this case, we must go over all items, since\n\t// conflicts are bidirectional and depend not only on\n\t// individual items, but also on the selected states of\n\t// the groups they're in.\n\tthis.getItems().forEach( ( filterItem ) => {\n\t\tlet inConflict = false;\n\t\tconst filterItemGroup = filterItem.getGroupModel();\n\n\t\t// For each item, see if that item is still conflicting\n\t\t// eslint-disable-next-line no-jquery/no-each-util\n\t\t$.each( this.groups, ( groupName, groupModel ) => {\n\t\t\tif ( filterItem.getGroupName() === groupName ) {\n\t\t\t\t// Check inside the group\n\t\t\t\tinConflict = groupModel.areAnySelectedInConflictWith( filterItem );\n\t\t\t} else {\n\t\t\t\t// According to the spec, if two items conflict from two different\n\t\t\t\t// groups, the conflict only lasts if the groups **only have selected\n\t\t\t\t// items that are conflicting**. If a group has selected items that\n\t\t\t\t// are conflicting and non-conflicting, the scope of the result has\n\t\t\t\t// expanded enough to completely remove the conflict.\n\n\t\t\t\t// For example, see two groups with conflicts:\n\t\t\t\t// userExpLevel: [\n\t\t\t\t// {\n\t\t\t\t// name: 'experienced',\n\t\t\t\t// conflicts: [ 'unregistered' ]\n\t\t\t\t// }\n\t\t\t\t// ],\n\t\t\t\t// registration: [\n\t\t\t\t// {\n\t\t\t\t// name: 'registered',\n\t\t\t\t// },\n\t\t\t\t// {\n\t\t\t\t// name: 'unregistered',\n\t\t\t\t// }\n\t\t\t\t// ]\n\t\t\t\t// If we select 'experienced', then 'unregistered' is in conflict (and vice versa),\n\t\t\t\t// because, inherently, 'experienced' filter only includes registered users, and so\n\t\t\t\t// both filters are in conflict with one another.\n\t\t\t\t// However, the minute we select 'registered', the scope of our results\n\t\t\t\t// has expanded to no longer have a conflict with 'experienced' filter, and\n\t\t\t\t// so the conflict is removed.\n\n\t\t\t\t// In our case, we need to check if the entire group conflicts with\n\t\t\t\t// the entire item's group, so we follow the above spec\n\t\t\t\tinConflict = (\n\t\t\t\t\t// The foreign group is in conflict with this item\n\t\t\t\t\tgroupModel.areAllSelectedInConflictWith( filterItem ) &&\n\t\t\t\t\t// Every selected member of the item's own group is also\n\t\t\t\t\t// in conflict with the other group\n\t\t\t\t\tfilterItemGroup.findSelectedItems().every( ( otherGroupItem ) => groupModel.areAllSelectedInConflictWith( otherGroupItem ) )\n\t\t\t\t);\n\t\t\t}\n\n\t\t\t// If we're in conflict, this will return 'false' which\n\t\t\t// will break the loop. Otherwise, we're not in conflict\n\t\t\t// and the loop continues\n\t\t\treturn !inConflict;\n\t\t} );\n\n\t\t// Toggle the item state\n\t\tfilterItem.toggleConflicted( inConflict );\n\t} );\n};\n\n/**\n * Get whether the model has any conflict in its items\n *\n * @return {boolean} There is a conflict\n */\nFiltersViewModel.prototype.hasConflict = function () {\n\treturn this.getItems().some( ( filterItem ) => filterItem.isSelected() && filterItem.isConflicted() );\n};\n\n/**\n * Get the first item with a current conflict\n *\n * @ignore\n * @return {mw.rcfilters.dm.FilterItem|undefined} Conflicted item or undefined when not found\n */\nFiltersViewModel.prototype.getFirstConflictedItem = function () {\n\tconst items = this.getItems();\n\tfor ( let i = 0; i < items.length; i++ ) {\n\t\tconst filterItem = items[ i ];\n\t\tif ( filterItem.isSelected() && filterItem.isConflicted() ) {\n\t\t\treturn filterItem;\n\t\t}\n\t}\n};\n\n/**\n * Set filters and preserve a group relationship based on\n * the definition given by an object\n *\n * @param {Array} filterGroups Filters definition\n * @param {Object} [views] Extra views definition\n * Expected in the following format:\n * {\n * namespaces: {\n * label: 'namespaces', // Message key\n * trigger: ':',\n * groups: [\n * {\n * // Group info\n * name: 'namespaces' // Parameter name\n * title: 'namespaces' // Message key\n * type: 'string_options',\n * separator: ';',\n * labelPrefixKey: { 'default': 'rcfilters-tag-prefix-namespace', inverted: 'rcfilters-tag-prefix-namespace-inverted' },\n * fullCoverage: true\n * items: []\n * }\n * ]\n * }\n * }\n */\nFiltersViewModel.prototype.initializeFilters = function ( filterGroups, views ) {\n\tconst items = [],\n\t\tgroupConflictMap = {},\n\t\tfilterConflictMap = {},\n\t\t/*!\n\t\t * Expand a conflict definition from group name to\n\t\t * the list of all included filters in that group.\n\t\t * We do this so that the direct relationship in the\n\t\t * models are consistently item->items rather than\n\t\t * mixing item->group with item->item.\n\t\t *\n\t\t * @param {Object} obj Conflict definition\n\t\t * @return {Object} Expanded conflict definition\n\t\t */\n\t\texpandConflictDefinitions = ( obj ) => {\n\t\t\tconst result = {};\n\n\t\t\t// eslint-disable-next-line no-jquery/no-each-util\n\t\t\t$.each( obj, ( key, conflicts ) => {\n\t\t\t\tconst adjustedConflicts = {};\n\n\t\t\t\tconflicts.forEach( ( conflict ) => {\n\t\t\t\t\tlet filter;\n\n\t\t\t\t\tif ( conflict.filter ) {\n\t\t\t\t\t\tconst filterName = this.groups[ conflict.group ].getPrefixedName( conflict.filter );\n\t\t\t\t\t\tfilter = this.getItemByName( filterName );\n\n\t\t\t\t\t\t// Rename\n\t\t\t\t\t\tadjustedConflicts[ filterName ] = Object.assign(\n\t\t\t\t\t\t\t{},\n\t\t\t\t\t\t\tconflict,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tfilter: filterName,\n\t\t\t\t\t\t\t\titem: filter\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t);\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// This conflict is for an entire group. Split it up to\n\t\t\t\t\t\t// represent each filter\n\n\t\t\t\t\t\t// Get the relevant group items\n\t\t\t\t\t\tthis.groups[ conflict.group ].getItems().forEach( ( groupItem ) => {\n\t\t\t\t\t\t\t// Rebuild the conflict\n\t\t\t\t\t\t\tadjustedConflicts[ groupItem.getName() ] = Object.assign(\n\t\t\t\t\t\t\t\t{},\n\t\t\t\t\t\t\t\tconflict,\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tfilter: groupItem.getName(),\n\t\t\t\t\t\t\t\t\titem: groupItem\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} );\n\t\t\t\t\t}\n\t\t\t\t} );\n\n\t\t\t\tresult[ key ] = adjustedConflicts;\n\t\t\t} );\n\n\t\t\treturn result;\n\t\t};\n\n\t// Reset\n\tthis.clearItems();\n\tthis.groups = {};\n\tthis.views = {};\n\n\t// Clone\n\tfilterGroups = OO.copy( filterGroups );\n\n\t// Normalize definition from the server\n\tfilterGroups.forEach( ( data ) => {\n\t\tlet i;\n\t\t// What's this information needs to be normalized\n\t\tdata.whatsThis = {\n\t\t\tbody: data.whatsThisBody,\n\t\t\theader: data.whatsThisHeader,\n\t\t\tlinkText: data.whatsThisLinkText,\n\t\t\turl: data.whatsThisUrl\n\t\t};\n\n\t\t// Title is a msg-key\n\t\t// eslint-disable-next-line mediawiki/msg-doc\n\t\tdata.title = data.title ? mw.msg( data.title ) : data.name;\n\n\t\t// Filters are given to us with msg-keys, we need\n\t\t// to translate those before we hand them off\n\t\tfor ( i = 0; i < data.filters.length; i++ ) {\n\t\t\t// eslint-disable-next-line mediawiki/msg-doc\n\t\t\tdata.filters[ i ].label = data.filters[ i ].label ? mw.msg( data.filters[ i ].label ) : data.filters[ i ].name;\n\t\t\t// eslint-disable-next-line mediawiki/msg-doc\n\t\t\tdata.filters[ i ].description = data.filters[ i ].description ? mw.msg( data.filters[ i ].description ) : '';\n\t\t}\n\t} );\n\n\t// Collect views\n\tconst allViews = $.extend( true, {\n\t\tdefault: {\n\t\t\ttitle: mw.msg( 'rcfilters-filterlist-title' ),\n\t\t\tgroups: filterGroups\n\t\t}\n\t}, views );\n\n\t// Go over all views\n\t// eslint-disable-next-line no-jquery/no-each-util\n\t$.each( allViews, ( viewName, viewData ) => {\n\t\t// Define the view\n\t\tthis.views[ viewName ] = {\n\t\t\tname: viewData.name,\n\t\t\ttitle: viewData.title,\n\t\t\ttrigger: viewData.trigger\n\t\t};\n\n\t\t// Go over groups\n\t\tviewData.groups.forEach( ( groupData ) => {\n\t\t\tconst group = groupData.name;\n\n\t\t\tif ( !this.groups[ group ] ) {\n\t\t\t\tthis.groups[ group ] = new FilterGroup(\n\t\t\t\t\tgroup,\n\t\t\t\t\t$.extend( true, {}, groupData, { view: viewName } )\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tthis.groups[ group ].initializeFilters( groupData.filters, groupData.default );\n\t\t\titems.push( ...this.groups[ group ].getItems() );\n\n\t\t\t// Prepare conflicts\n\t\t\tif ( groupData.conflicts ) {\n\t\t\t\t// Group conflicts\n\t\t\t\tgroupConflictMap[ group ] = groupData.conflicts;\n\t\t\t}\n\n\t\t\tgroupData.filters.forEach( ( itemData ) => {\n\t\t\t\tconst filterItem = this.groups[ group ].getItemByParamName( itemData.name );\n\t\t\t\t// Filter conflicts\n\t\t\t\tif ( itemData.conflicts ) {\n\t\t\t\t\tfilterConflictMap[ filterItem.getName() ] = itemData.conflicts;\n\t\t\t\t}\n\t\t\t} );\n\t\t} );\n\t} );\n\n\t// Add item references to the model, for lookup\n\tthis.addItems( items );\n\n\t// Expand conflicts\n\tconst groupConflictResult = expandConflictDefinitions( groupConflictMap );\n\tconst filterConflictResult = expandConflictDefinitions( filterConflictMap );\n\n\t// Set conflicts for groups\n\t// eslint-disable-next-line no-jquery/no-each-util\n\t$.each( groupConflictResult, ( group, conflicts ) => {\n\t\tthis.groups[ group ].setConflicts( conflicts );\n\t} );\n\n\t// Set conflicts for items\n\t// eslint-disable-next-line no-jquery/no-each-util\n\t$.each( filterConflictResult, ( filterName, conflicts ) => {\n\t\tconst filterItem = this.getItemByName( filterName );\n\t\t// set conflicts for items in the group\n\t\tfilterItem.setConflicts( conflicts );\n\t} );\n\n\t// Create a map between known parameters and their models\n\t// eslint-disable-next-line no-jquery/no-each-util\n\t$.each( this.groups, ( group, groupModel ) => {\n\t\tif (\n\t\t\tgroupModel.getType() === 'send_unselected_if_any' ||\n\t\t\tgroupModel.getType() === 'boolean' ||\n\t\t\tgroupModel.getType() === 'any_value'\n\t\t) {\n\t\t\t// Individual filters\n\t\t\tgroupModel.getItems().forEach( ( filterItem ) => {\n\t\t\t\tthis.parameterMap[ filterItem.getParamName() ] = filterItem;\n\t\t\t} );\n\t\t} else if (\n\t\t\tgroupModel.getType() === 'string_options' ||\n\t\t\tgroupModel.getType() === 'single_option'\n\t\t) {\n\t\t\t// Group\n\t\t\tthis.parameterMap[ groupModel.getName() ] = groupModel;\n\t\t}\n\t} );\n\n\tthis.setSearch( '' );\n\n\tthis.updateHighlightedState();\n\n\t// Finish initialization\n\tthis.emit( 'initialize' );\n};\n\n/**\n * Update filter view model state based on a parameter object\n *\n * @param {Object} params Parameters object\n */\nFiltersViewModel.prototype.updateStateFromParams = function ( params ) {\n\t// For arbitrary numeric single_option values make sure the values\n\t// are normalized to fit within the limits\n\t// eslint-disable-next-line no-jquery/no-each-util\n\t$.each( this.getFilterGroups(), ( groupName, groupModel ) => {\n\t\tparams[ groupName ] = groupModel.normalizeArbitraryValue( params[ groupName ] );\n\t} );\n\n\t// Update filter values\n\tconst filtersValue = this.getFiltersFromParameters( params );\n\tfor ( const filterName in filtersValue ) {\n\t\tthis.getItemByName( filterName ).setValue( filtersValue[ filterName ] );\n\t}\n\n\t// Update highlight state\n\tthis.getItemsSupportingHighlights().forEach( ( filterItem ) => {\n\t\tconst color = params[ filterItem.getName() + '_color' ];\n\t\tif ( color ) {\n\t\t\tfilterItem.setHighlightColor( color );\n\t\t} else {\n\t\t\tfilterItem.clearHighlightColor();\n\t\t}\n\t} );\n\tthis.updateHighlightedState();\n\n\t// Check all filter interactions\n\tthis.reassessFilterInteractions();\n};\n\n/**\n * Get a representation of an empty (falsey) parameter state\n *\n * @return {Object} Empty parameter state\n */\nFiltersViewModel.prototype.getEmptyParameterState = function () {\n\tif ( !this.emptyParameterState ) {\n\t\tthis.emptyParameterState = $.extend(\n\t\t\ttrue,\n\t\t\t{},\n\t\t\tthis.getParametersFromFilters( {} ),\n\t\t\tthis.getEmptyHighlightParameters()\n\t\t);\n\t}\n\treturn this.emptyParameterState;\n};\n\n/**\n * Get a representation of only the non-falsey parameters\n *\n * @param {Object} [parameters] A given parameter state to minimize. If not given the current\n * state of the system will be used.\n * @return {Object} Empty parameter state\n */\nFiltersViewModel.prototype.getMinimizedParamRepresentation = function ( parameters ) {\n\tconst result = {};\n\n\tparameters = parameters ? $.extend( true, {}, parameters ) : this.getCurrentParameterState();\n\n\t// Params\n\t// eslint-disable-next-line no-jquery/no-each-util\n\t$.each( this.getEmptyParameterState(), ( param, value ) => {\n\t\tif ( parameters[ param ] !== undefined && parameters[ param ] !== value ) {\n\t\t\tresult[ param ] = parameters[ param ];\n\t\t}\n\t} );\n\n\t// Highlights\n\tfor ( const param in this.getEmptyHighlightParameters() ) {\n\t\tif ( parameters[ param ] ) {\n\t\t\t// If a highlight parameter is not undefined and not null\n\t\t\t// add it to the result\n\t\t\tresult[ param ] = parameters[ param ];\n\t\t}\n\t}\n\n\treturn result;\n};\n\n/**\n * Get a representation of the full parameter list, including all base values\n *\n * @return {Object} Full parameter representation\n */\nFiltersViewModel.prototype.getExpandedParamRepresentation = function () {\n\treturn $.extend(\n\t\ttrue,\n\t\t{},\n\t\tthis.getEmptyParameterState(),\n\t\tthis.getCurrentParameterState()\n\t);\n};\n\n/**\n * Get a parameter representation of the current state of the model\n *\n * @param {boolean} [removeStickyParams] Remove sticky filters from final result\n * @return {Object} Parameter representation of the current state of the model\n */\nFiltersViewModel.prototype.getCurrentParameterState = function ( removeStickyParams ) {\n\tlet state = this.getMinimizedParamRepresentation( $.extend(\n\t\ttrue,\n\t\t{},\n\t\tthis.getParametersFromFilters( this.getSelectedState() ),\n\t\tthis.getHighlightParameters()\n\t) );\n\n\tif ( removeStickyParams ) {\n\t\tstate = this.removeStickyParams( state );\n\t}\n\n\treturn state;\n};\n\n/**\n * Delete sticky parameters from given object.\n *\n * @param {Object} paramState Parameter state\n * @return {Object} Parameter state without sticky parameters\n */\nFiltersViewModel.prototype.removeStickyParams = function ( paramState ) {\n\tthis.getStickyParams().forEach( ( paramName ) => {\n\t\tdelete paramState[ paramName ];\n\t} );\n\n\treturn paramState;\n};\n\n/**\n * Turn the highlight feature on or off\n */\nFiltersViewModel.prototype.updateHighlightedState = function () {\n\tthis.toggleHighlight( this.getHighlightedItems().length > 0 );\n};\n\n/**\n * Get the object that defines groups by their name.\n *\n * @return {Object} Filter groups\n */\nFiltersViewModel.prototype.getFilterGroups = function () {\n\treturn this.groups;\n};\n\n/**\n * Get the object that defines groups that match a certain view by their name.\n *\n * @param {string} [view] Requested view. If not given, uses current view\n * @return {Object} Filter groups matching a display group\n */\nFiltersViewModel.prototype.getFilterGroupsByView = function ( view ) {\n\tconst result = {};\n\n\tview = view || this.getCurrentView();\n\n\t// eslint-disable-next-line no-jquery/no-each-util\n\t$.each( this.groups, ( groupName, groupModel ) => {\n\t\tif ( groupModel.getView() === view ) {\n\t\t\tresult[ groupName ] = groupModel;\n\t\t}\n\t} );\n\n\treturn result;\n};\n\n/**\n * Get an array of filters matching the given display group.\n *\n * @ignore\n * @param {string} [view] Requested view. If not given, uses current view\n * @return {mw.rcfilters.dm.FilterItem} Filter items matching the group\n */\nFiltersViewModel.prototype.getFiltersByView = function ( view ) {\n\tconst result = [];\n\n\tview = view || this.getCurrentView();\n\n\tconst groups = this.getFilterGroupsByView( view );\n\n\t// eslint-disable-next-line no-jquery/no-each-util\n\t$.each( groups, ( groupName, groupModel ) => {\n\t\tresult.push( ...groupModel.getItems() );\n\t} );\n\n\treturn result;\n};\n\n/**\n * Get the trigger for the requested view.\n *\n * @param {string} view View name\n * @return {string} View trigger, if exists\n */\nFiltersViewModel.prototype.getViewTrigger = function ( view ) {\n\treturn ( this.views[ view ] && this.views[ view ].trigger ) || '';\n};\n\n/**\n * Get the value of a specific parameter\n *\n * @param {string} name Parameter name\n * @return {number|string} Parameter value\n */\nFiltersViewModel.prototype.getParamValue = function ( name ) {\n\treturn this.parameters[ name ];\n};\n\n/**\n * Get the current selected state of the filters\n *\n * @param {boolean} [onlySelected] return an object containing only the filters with a value\n * @return {Object} Filters selected state\n */\nFiltersViewModel.prototype.getSelectedState = function ( onlySelected ) {\n\tconst items = this.getItems(),\n\t\tresult = {};\n\n\tfor ( let i = 0; i < items.length; i++ ) {\n\t\tif ( !onlySelected || items[ i ].getValue() ) {\n\t\t\tresult[ items[ i ].getName() ] = items[ i ].getValue();\n\t\t}\n\t}\n\n\treturn result;\n};\n\n/**\n * Get the current full state of the filters\n *\n * @return {Object} Filters full state\n */\nFiltersViewModel.prototype.getFullState = function () {\n\tconst items = this.getItems(),\n\t\tresult = {};\n\n\tfor ( let i = 0; i < items.length; i++ ) {\n\t\tresult[ items[ i ].getName() ] = {\n\t\t\tselected: items[ i ].isSelected(),\n\t\t\tconflicted: items[ i ].isConflicted(),\n\t\t\tincluded: items[ i ].isIncluded()\n\t\t};\n\t}\n\n\treturn result;\n};\n\n/**\n * Get an object representing default parameters state\n *\n * @return {Object} Default parameter values\n */\nFiltersViewModel.prototype.getDefaultParams = function () {\n\tconst result = {};\n\n\t// Get default filter state\n\t// eslint-disable-next-line no-jquery/no-each-util\n\t$.each( this.groups, ( name, model ) => {\n\t\tif ( !model.isSticky() ) {\n\t\t\t$.extend( true, result, model.getDefaultParams() );\n\t\t}\n\t} );\n\n\treturn result;\n};\n\n/**\n * Get a parameter representation of all sticky parameters\n *\n * @return {Object} Sticky parameter values\n */\nFiltersViewModel.prototype.getStickyParams = function () {\n\tlet result = [];\n\n\t// eslint-disable-next-line no-jquery/no-each-util\n\t$.each( this.groups, ( name, model ) => {\n\t\tif ( model.isSticky() ) {\n\t\t\tif ( model.isPerGroupRequestParameter() ) {\n\t\t\t\tresult.push( name );\n\t\t\t} else {\n\t\t\t\t// Each filter is its own param\n\t\t\t\tresult = result.concat( model.getItems().map( ( filterItem ) => filterItem.getParamName() ) );\n\t\t\t}\n\t\t}\n\t} );\n\n\treturn result;\n};\n\n/**\n * Get a parameter representation of all sticky parameters\n *\n * @return {Object} Sticky parameter values\n */\nFiltersViewModel.prototype.getStickyParamsValues = function () {\n\tconst result = {};\n\n\t// eslint-disable-next-line no-jquery/no-each-util\n\t$.each( this.groups, ( name, model ) => {\n\t\tif ( model.isSticky() ) {\n\t\t\t$.extend( true, result, model.getParamRepresentation() );\n\t\t}\n\t} );\n\n\treturn result;\n};\n\n/**\n * Analyze the groups and their filters and output an object representing\n * the state of the parameters they represent.\n *\n * @param {Object} [filterDefinition] An object defining the filter values,\n * keyed by filter names.\n * @return {Object} Parameter state object\n */\nFiltersViewModel.prototype.getParametersFromFilters = function ( filterDefinition ) {\n\tlet groupItemDefinition;\n\tconst result = {},\n\t\tgroupItems = this.getFilterGroups();\n\n\tif ( filterDefinition ) {\n\t\tgroupItemDefinition = {};\n\t\t// Filter definition is \"flat\", but in effect\n\t\t// each group needs to tell us its result based\n\t\t// on the values in it. We need to split this list\n\t\t// back into groupings so we can \"feed\" it to the\n\t\t// loop below, and we need to expand it so it includes\n\t\t// all filters (set to false)\n\t\tthis.getItems().forEach( ( filterItem ) => {\n\t\t\tgroupItemDefinition[ filterItem.getGroupName() ] = groupItemDefinition[ filterItem.getGroupName() ] || {};\n\t\t\tgroupItemDefinition[ filterItem.getGroupName() ][ filterItem.getName() ] = filterItem.coerceValue( filterDefinition[ filterItem.getName() ] );\n\t\t} );\n\t}\n\n\t// eslint-disable-next-line no-jquery/no-each-util\n\t$.each( groupItems, ( group, model ) => {\n\t\tObject.assign(\n\t\t\tresult,\n\t\t\tmodel.getParamRepresentation(\n\t\t\t\tgroupItemDefinition ?\n\t\t\t\t\tgroupItemDefinition[ group ] : null\n\t\t\t)\n\t\t);\n\t} );\n\n\treturn result;\n};\n\n/**\n * This is the opposite of the #getParametersFromFilters method; this goes over\n * the given parameters and translates into a selected/unselected value in the filters.\n *\n * @param {Object} params Parameters query object\n * @return {Object} Filter state object\n */\nFiltersViewModel.prototype.getFiltersFromParameters = function ( params ) {\n\tconst groupMap = {};\n\tlet result = {};\n\n\t// Go over the given parameters, break apart to groupings\n\t// The resulting object represents the group with its parameter\n\t// values. For example:\n\t// {\n\t// group1: {\n\t// param1: \"1\",\n\t// param2: \"0\",\n\t// param3: \"1\"\n\t// },\n\t// group2: \"param4|param5\"\n\t// }\n\t// eslint-disable-next-line no-jquery/no-each-util\n\t$.each( params, ( paramName, paramValue ) => {\n\t\tconst itemOrGroup = this.parameterMap[ paramName ];\n\n\t\tif ( itemOrGroup ) {\n\t\t\tconst groupName = itemOrGroup instanceof FilterItem ?\n\t\t\t\titemOrGroup.getGroupName() : itemOrGroup.getName();\n\n\t\t\tgroupMap[ groupName ] = groupMap[ groupName ] || {};\n\t\t\tgroupMap[ groupName ][ paramName ] = paramValue;\n\t\t}\n\t} );\n\n\t// Go over all groups, so we make sure we get the complete output\n\t// even if the parameters don't include a certain group\n\t// eslint-disable-next-line no-jquery/no-each-util\n\t$.each( this.groups, ( groupName, groupModel ) => {\n\t\tresult = $.extend( true, {}, result, groupModel.getFilterRepresentation( groupMap[ groupName ] ) );\n\t} );\n\n\treturn result;\n};\n\n/**\n * Get the highlight parameters based on current filter configuration\n *\n * @return {Object} Object where keys are `<filter name>_color` and values\n * are the selected highlight colors.\n */\nFiltersViewModel.prototype.getHighlightParameters = function () {\n\tconst highlightEnabled = this.isHighlightEnabled(),\n\t\tresult = {};\n\n\tthis.getItems().forEach( ( filterItem ) => {\n\t\tif ( filterItem.isHighlightSupported() ) {\n\t\t\tresult[ filterItem.getName() + '_color' ] = highlightEnabled && filterItem.isHighlighted() ?\n\t\t\t\tfilterItem.getHighlightColor() :\n\t\t\t\tnull;\n\t\t}\n\t} );\n\n\treturn result;\n};\n\n/**\n * Get an object representing the complete empty state of highlights\n *\n * @return {Object} Object containing all the highlight parameters set to their negative value\n */\nFiltersViewModel.prototype.getEmptyHighlightParameters = function () {\n\tconst result = {};\n\n\tthis.getItems().forEach( ( filterItem ) => {\n\t\tif ( filterItem.isHighlightSupported() ) {\n\t\t\tresult[ filterItem.getName() + '_color' ] = null;\n\t\t}\n\t} );\n\n\treturn result;\n};\n\n/**\n * Get an array of currently applied highlight colors\n *\n * @return {string[]} Currently applied highlight colors\n */\nFiltersViewModel.prototype.getCurrentlyUsedHighlightColors = function () {\n\tconst result = [];\n\n\tif ( this.isHighlightEnabled() ) {\n\t\tthis.getHighlightedItems().forEach( ( filterItem ) => {\n\t\t\tconst color = filterItem.getHighlightColor();\n\n\t\t\tif ( !result.includes( color ) ) {\n\t\t\t\tresult.push( color );\n\t\t\t}\n\t\t} );\n\t}\n\n\treturn result;\n};\n\n/**\n * Sanitize value group of a string_option groups type\n * Remove duplicates and make sure to only use valid\n * values.\n *\n * @private\n * @param {string} groupName Group name\n * @param {string[]} valueArray Array of values\n * @return {string[]} Array of valid values\n */\nFiltersViewModel.prototype.sanitizeStringOptionGroup = function ( groupName, valueArray ) {\n\tconst validNames = this.getGroupFilters( groupName ).map( ( filterItem ) => filterItem.getParamName() );\n\n\treturn utils.normalizeParamOptions( valueArray, validNames );\n};\n\n/**\n * Check whether no visible filter is selected.\n *\n * Filter groups that are hidden or sticky are not shown in the\n * active filters area and therefore not included in this check.\n *\n * @return {boolean} No visible filter is selected\n */\nFiltersViewModel.prototype.areVisibleFiltersEmpty = function () {\n\t// Check if there are either any selected items or any items\n\t// that have highlight enabled\n\treturn !this.getItems().some( ( filterItem ) => {\n\t\tconst visible = !filterItem.getGroupModel().isSticky() && !filterItem.getGroupModel().isHidden(),\n\t\t\tactive = ( filterItem.isSelected() || filterItem.isHighlighted() );\n\t\treturn visible && active;\n\t} );\n};\n\n/**\n * Check whether the namespace invert state is a valid one. A valid invert state is one\n * where there are actual namespaces selected.\n *\n * This is done to compare states to previous ones that may have had the invert model\n * selected but effectively had no namespaces, so are not effectively different than\n * ones where invert is not selected.\n *\n * @return {boolean} Invert is effectively selected\n */\nFiltersViewModel.prototype.areNamespacesEffectivelyInverted = function () {\n\treturn this.getNamespacesInvertModel().isSelected() &&\n\t\tthis.findSelectedItems().some( ( itemModel ) => itemModel.getGroupModel().getName() === 'namespace' );\n};\n\n/**\n * Check whether the tag invert state is a valid one. A valid invert state is one\n * where there are actual tags selected.\n *\n * This is done to compare states to previous ones that may have had the invert model\n * selected but effectively had no tags, so are not effectively different than\n * ones where invert is not selected.\n *\n * @return {boolean} Invert is effectively selected\n */\nFiltersViewModel.prototype.areTagsEffectivelyInverted = function () {\n\treturn this.getTagsInvertModel().isSelected() &&\n\t\tthis.findSelectedItems().some( ( itemModel ) => itemModel.getGroupModel().getName() === 'tagfilter' );\n};\n\n/**\n * Check whether the label invert state is a valid one. A valid invert state is one\n * where there are actual labels selected.\n *\n * This is done to compare states to previous ones that may have had the invert model\n * selected but effectively had no tags, so are not effectively different than\n * ones where invert is not selected.\n *\n * @return {boolean} Invert is effectively selected\n */\nFiltersViewModel.prototype.areWLLabelsEffectivelyInverted = function () {\n\treturn this.getWLLabelsInvertModel().isSelected() &&\n\t\tthis.findSelectedItems().some( ( itemModel ) => itemModel.getGroupModel().getName() === 'wllabel' );\n};\n\n/**\n * Get the item that matches the given name\n *\n * @ignore\n * @param {string} name Filter name\n * @return {mw.rcfilters.dm.FilterItem} Filter item\n */\nFiltersViewModel.prototype.getItemByName = function ( name ) {\n\treturn this.getItems().filter( ( item ) => name === item.getName() )[ 0 ];\n};\n\n/**\n * Set all filters to false or empty/all\n * This is equivalent to display all.\n */\nFiltersViewModel.prototype.emptyAllFilters = function () {\n\tthis.getItems().forEach( ( filterItem ) => {\n\t\tif ( !filterItem.getGroupModel().isSticky() ) {\n\t\t\tthis.toggleFilterSelected( filterItem.getName(), false );\n\t\t}\n\t} );\n};\n\n/**\n * Toggle selected state of one item\n *\n * @param {string} name Name of the filter item\n * @param {boolean} [isSelected] Filter selected state\n */\nFiltersViewModel.prototype.toggleFilterSelected = function ( name, isSelected ) {\n\tconst item = this.getItemByName( name );\n\n\tif ( item ) {\n\t\titem.toggleSelected( isSelected );\n\t}\n};\n\n/**\n * Toggle selected state of items by their names\n *\n * @param {Object} filterDef Filter definitions\n */\nFiltersViewModel.prototype.toggleFiltersSelected = function ( filterDef ) {\n\tfor ( const name in filterDef ) {\n\t\tthis.toggleFilterSelected( name, filterDef[ name ] );\n\t}\n};\n\n/**\n * Get a group model from its name\n *\n * @ignore\n * @param {string} groupName Group name\n * @return {mw.rcfilters.dm.FilterGroup} Group model\n */\nFiltersViewModel.prototype.getGroup = function ( groupName ) {\n\treturn this.groups[ groupName ];\n};\n\n/**\n * Get all filters within a specified group by its name\n *\n * @ignore\n * @param {string} groupName Group name\n * @return {mw.rcfilters.dm.FilterItem[]} Filters belonging to this group\n */\nFiltersViewModel.prototype.getGroupFilters = function ( groupName ) {\n\treturn ( this.getGroup( groupName ) && this.getGroup( groupName ).getItems() ) || [];\n};\n\n/**\n * Find items whose labels match the given string\n *\n * @param {string} query Search string\n * @param {boolean} [returnFlat] Return a flat array. If false, the result\n * is an object whose keys are the group names and values are an array of\n * filters per group. If set to true, returns an array of filters regardless\n * of their groups.\n * @return {Object} An object of items to show\n * arranged by their group names\n */\nFiltersViewModel.prototype.findMatches = function ( query, returnFlat ) {\n\tconst result = {},\n\t\tflatResult = [],\n\t\tview = this.getViewByTrigger( query.slice( 0, 1 ) ),\n\t\titems = this.getFiltersByView( view );\n\n\t// Normalize so we can search strings regardless of case and view\n\tquery = query.trim().toLowerCase();\n\tif ( view !== 'default' ) {\n\t\tquery = query.slice( 1 );\n\t}\n\t// Trim again to also intercept cases where the spaces were after the trigger\n\t// eg: '# str'\n\tquery = query.trim();\n\n\t// Check if the search if actually empty; this can be a problem when\n\t// we use prefixes to denote different views\n\tconst searchIsEmpty = query.length === 0;\n\n\t// item label starting with the query string\n\tfor ( let i = 0; i < items.length; i++ ) {\n\t\tif (\n\t\t\tsearchIsEmpty ||\n\t\t\titems[ i ].getLabel().toLowerCase().startsWith( query ) ||\n\t\t\t(\n\t\t\t\t// For tags, we want the parameter name to be included in the search\n\t\t\t\tview === 'tags' &&\n\t\t\t\titems[ i ].getParamName().toLowerCase().includes( query )\n\t\t\t)\n\t\t) {\n\t\t\tresult[ items[ i ].getGroupName() ] = result[ items[ i ].getGroupName() ] || [];\n\t\t\tresult[ items[ i ].getGroupName() ].push( items[ i ] );\n\t\t\tflatResult.push( items[ i ] );\n\t\t}\n\t}\n\n\tif ( $.isEmptyObject( result ) ) {\n\t\t// item containing the query string in their label, description, or group title\n\t\tfor ( let i = 0; i < items.length; i++ ) {\n\t\t\tconst groupTitle = items[ i ].getGroupModel().getTitle();\n\t\t\tif (\n\t\t\t\tsearchIsEmpty ||\n\t\t\t\titems[ i ].getLabel().toLowerCase().includes( query ) ||\n\t\t\t\titems[ i ].getDescription().toLowerCase().includes( query ) ||\n\t\t\t\tgroupTitle.toLowerCase().includes( query ) ||\n\t\t\t\t(\n\t\t\t\t\t// For tags, we want the parameter name to be included in the search\n\t\t\t\t\tview === 'tags' &&\n\t\t\t\t\titems[ i ].getParamName().toLowerCase().includes( query )\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\tresult[ items[ i ].getGroupName() ] = result[ items[ i ].getGroupName() ] || [];\n\t\t\t\tresult[ items[ i ].getGroupName() ].push( items[ i ] );\n\t\t\t\tflatResult.push( items[ i ] );\n\t\t\t}\n\t\t}\n\t}\n\n\treturn returnFlat ? flatResult : result;\n};\n\n/**\n * Get items that are highlighted\n *\n * @ignore\n * @return {mw.rcfilters.dm.FilterItem[]} Highlighted items\n */\nFiltersViewModel.prototype.getHighlightedItems = function () {\n\treturn this.getItems().filter( ( filterItem ) => filterItem.isHighlightSupported() &&\n\t\t\tfilterItem.getHighlightColor() );\n};\n\n/**\n * Get items that allow highlights even if they're not currently highlighted\n *\n * @ignore\n * @return {mw.rcfilters.dm.FilterItem[]} Items supporting highlights\n */\nFiltersViewModel.prototype.getItemsSupportingHighlights = function () {\n\treturn this.getItems().filter( ( filterItem ) => filterItem.isHighlightSupported() );\n};\n\n/**\n * Get all selected items\n *\n * @ignore\n * @return {mw.rcfilters.dm.FilterItem[]} Selected items\n */\nFiltersViewModel.prototype.findSelectedItems = function () {\n\tlet allSelected = [];\n\n\t// eslint-disable-next-line no-jquery/no-each-util\n\t$.each( this.getFilterGroups(), ( groupName, groupModel ) => {\n\t\tallSelected = allSelected.concat( groupModel.findSelectedItems() );\n\t} );\n\n\treturn allSelected;\n};\n\n/**\n * Get the current view\n *\n * @return {string} Current view\n */\nFiltersViewModel.prototype.getCurrentView = function () {\n\treturn this.currentView;\n};\n\n/**\n * Get the label for the current view\n *\n * @param {string} viewName View name\n * @return {string} Label for the current view\n */\nFiltersViewModel.prototype.getViewTitle = function ( viewName ) {\n\tviewName = viewName || this.getCurrentView();\n\n\treturn this.views[ viewName ] && this.views[ viewName ].title;\n};\n\n/**\n * Get the view that fits the given trigger\n *\n * @param {string} trigger Trigger\n * @return {string} Name of view\n */\nFiltersViewModel.prototype.getViewByTrigger = function ( trigger ) {\n\tlet result = 'default';\n\n\t// eslint-disable-next-line no-jquery/no-each-util\n\t$.each( this.views, ( name, data ) => {\n\t\tif ( data.trigger === trigger ) {\n\t\t\tresult = name;\n\t\t}\n\t} );\n\n\treturn result;\n};\n\n/**\n * Return a version of the given string that is without any\n * view triggers.\n *\n * @param {string} str Given string\n * @return {string} Result\n */\nFiltersViewModel.prototype.removeViewTriggers = function ( str ) {\n\tif ( this.getViewFromString( str ) !== 'default' ) {\n\t\tstr = str.slice( 1 );\n\t}\n\n\treturn str;\n};\n\n/**\n * Get the view from the given string by a trigger, if it exists\n *\n * @param {string} str Given string\n * @return {string} View name\n */\nFiltersViewModel.prototype.getViewFromString = function ( str ) {\n\treturn this.getViewByTrigger( str.slice( 0, 1 ) );\n};\n\n/**\n * Set the current search for the system.\n * This also dictates what items and groups are visible according\n * to the search in #findMatches\n *\n * @param {string} searchQuery Search query, including triggers\n * @fires searchChange\n */\nFiltersViewModel.prototype.setSearch = function ( searchQuery ) {\n\tlet visibleGroups, visibleGroupNames;\n\n\tif ( this.searchQuery !== searchQuery ) {\n\t\t// Check if the view changed\n\t\tthis.switchView( this.getViewFromString( searchQuery ) );\n\n\t\tvisibleGroups = this.findMatches( searchQuery );\n\t\tvisibleGroupNames = Object.keys( visibleGroups );\n\n\t\t// Update visibility of items and groups\n\t\t// eslint-disable-next-line no-jquery/no-each-util\n\t\t$.each( this.getFilterGroups(), ( groupName, groupModel ) => {\n\t\t\t// Check if the group is visible at all\n\t\t\tgroupModel.toggleVisible( visibleGroupNames.includes( groupName ) );\n\t\t\tgroupModel.setVisibleItems( visibleGroups[ groupName ] || [] );\n\t\t} );\n\n\t\tthis.searchQuery = searchQuery;\n\t\tthis.emit( 'searchChange', this.searchQuery );\n\t}\n};\n\n/**\n * Get the current search\n *\n * @return {string} Current search query\n */\nFiltersViewModel.prototype.getSearch = function () {\n\treturn this.searchQuery;\n};\n\n/**\n * Switch the current view\n *\n * @private\n * @param {string} view View name\n */\nFiltersViewModel.prototype.switchView = function ( view ) {\n\tif ( this.views[ view ] && this.currentView !== view ) {\n\t\tthis.currentView = view;\n\t}\n};\n\n/**\n * Toggle the highlight feature on and off.\n * Propagate the change to filter items.\n *\n * @param {boolean} enable Highlight should be enabled\n * @fires highlightChange\n */\nFiltersViewModel.prototype.toggleHighlight = function ( enable ) {\n\tenable = enable === undefined ? !this.highlightEnabled : enable;\n\n\tif ( this.highlightEnabled !== enable ) {\n\t\tthis.highlightEnabled = enable;\n\t\tthis.emit( 'highlightChange', this.highlightEnabled );\n\t}\n};\n\n/**\n * Check if the highlight feature is enabled\n *\n * @return {boolean}\n */\nFiltersViewModel.prototype.isHighlightEnabled = function () {\n\treturn !!this.highlightEnabled;\n};\n\n/**\n * Toggle the inverted tags property on and off.\n * Propagate the change to tag filter items.\n *\n * @param {boolean} enable Inverted property is enabled\n */\nFiltersViewModel.prototype.toggleInvertedTags = function ( enable ) {\n\tthis.toggleFilterSelected( this.getTagsInvertModel().getName(), enable );\n};\n\n/**\n * Toggle the inverted labels property on and off.\n * Propagate the change to tag filter items.\n *\n * @param {boolean} enable Inverted property is enabled\n */\nFiltersViewModel.prototype.toggleInvertedWLLabels = function ( enable ) {\n\tthis.toggleFilterSelected( this.getWLLabelsInvertModel().getName(), enable );\n};\n\n/**\n * Toggle the inverted namespaces property on and off.\n * Propagate the change to namespace filter items.\n *\n * @param {boolean} enable Inverted property is enabled\n */\nFiltersViewModel.prototype.toggleInvertedNamespaces = function ( enable ) {\n\tthis.toggleFilterSelected( this.getNamespacesInvertModel().getName(), enable );\n};\n\n/**\n * Get the model object that represents the 'invert' filter\n *\n * @ignore\n * @param {string} view\n * @return {mw.rcfilters.dm.FilterItem|null}\n */\nFiltersViewModel.prototype.getInvertModel = function ( view ) {\n\tif ( view === 'namespaces' ) {\n\t\treturn this.getNamespacesInvertModel();\n\t}\n\tif ( view === 'tags' ) {\n\t\treturn this.getTagsInvertModel();\n\t}\n\tif ( view === 'wllabels' ) {\n\t\treturn this.getWLLabelsInvertModel();\n\t}\n\n\treturn null;\n};\n\n/**\n * Get the model object that represents the 'invert' filter for namespaces\n *\n * @ignore\n * @return {mw.rcfilters.dm.FilterItem}\n */\nFiltersViewModel.prototype.getNamespacesInvertModel = function () {\n\treturn this.getGroup( 'invertGroup' ).getItemByParamName( 'invert' );\n};\n\n/**\n * Get the model object that represents the 'invert' filter for tags\n *\n * @ignore\n * @return {mw.rcfilters.dm.FilterItem}\n */\nFiltersViewModel.prototype.getTagsInvertModel = function () {\n\treturn this.getGroup( 'invertTagsGroup' ).getItemByParamName( 'inverttags' );\n};\n\n/**\n * Get the model object that represents the 'invert' filter for labels\n *\n * @ignore\n * @return {mw.rcfilters.dm.FilterItem}\n */\nFiltersViewModel.prototype.getWLLabelsInvertModel = function () {\n\treturn this.getGroup( 'invertWLLabelsGroup' ).getItemByParamName( 'invertwllabels' );\n};\n\n/**\n * Set highlight color for a specific filter item\n *\n * @param {string} filterName Name of the filter item\n * @param {string} color Selected color\n */\nFiltersViewModel.prototype.setHighlightColor = function ( filterName, color ) {\n\tthis.getItemByName( filterName ).setHighlightColor( color );\n};\n\n/**\n * Clear highlight for a specific filter item\n *\n * @param {string} filterName Name of the filter item\n */\nFiltersViewModel.prototype.clearHighlightColor = function ( filterName ) {\n\tthis.getItemByName( filterName ).clearHighlightColor();\n};\n\nmodule.exports = FiltersViewModel;\n","usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.rcfilters/dm/ItemModel.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.rcfilters/dm/SavedQueriesModel.js","messages":[],"suppressedMessages":[{"ruleId":"no-jquery/no-each-util","severity":2,"message":"Prefer Array#forEach to $.each","line":109,"column":3,"nodeType":"CallExpression","endLine":113,"endColumn":6,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-each-util","severity":2,"message":"Prefer Array#forEach to $.each","line":121,"column":2,"nodeType":"CallExpression","endLine":158,"endColumn":5,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-each-util","severity":2,"message":"Prefer Array#forEach to $.each","line":202,"column":2,"nodeType":"CallExpression","endLine":206,"endColumn":5,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-each-util","severity":2,"message":"Prefer Array#forEach to $.each","line":232,"column":2,"nodeType":"CallExpression","endLine":238,"endColumn":5,"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.rcfilters/dm/SavedQueryItemModel.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.rcfilters/mw.rcfilters.js","messages":[{"ruleId":"jsdoc/valid-types","severity":1,"message":"Syntax error in namepath: ~'structuredChangeFilters.ui.initialized'","line":209,"column":1,"nodeType":"Block","endLine":209,"endColumn":1}],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"/**\n * Components for use on the RecentChanges page. Provided by the `mediawiki.rcfilters.filters.ui` module.\n *\n * @namespace rcfilters\n * @private\n * @singleton\n */\nconst rcfilters = {\n\tController: require( './Controller.js' ),\n\tHighlightColors: require( './HighlightColors.js' ),\n\tUriProcessor: require( './UriProcessor.js' ),\n\t/**\n\t * Models used by RecentChanges Filters.\n\t *\n\t * @namespace rcfilters.dm\n\t * @private\n\t */\n\tdm: {\n\t\tChangesListViewModel: require( './dm/ChangesListViewModel.js' ),\n\t\tFilterGroup: require( './dm/FilterGroup.js' ),\n\t\tFilterItem: require( './dm/FilterItem.js' ),\n\t\tFiltersViewModel: require( './dm/FiltersViewModel.js' ),\n\t\tItemModel: require( './dm/ItemModel.js' ),\n\t\tSavedQueriesModel: require( './dm/SavedQueriesModel.js' ),\n\t\tSavedQueryItemModel: require( './dm/SavedQueryItemModel.js' )\n\t},\n\t/**\n\t * Widgets used by RecentChanges Filters.\n\t *\n\t * @namespace rcfilters.ui\n\t * @private\n\t */\n\tui: {\n\t\tMainWrapperWidget: require( './ui/MainWrapperWidget.js' )\n\t},\n\t/**\n\t * Utils used by RecentChanges Filters.\n\t *\n\t * @namespace rcfilters.ui\n\t * @private\n\t */\n\tutils: require( './utils.js' )\n};\n\n/**\n * Get list of namespaces and remove unused ones\n *\n * @private\n *\n * @param {Array} unusedNamespaces Names of namespaces to remove\n * @return {Array} Filtered array of namespaces\n */\nfunction getNamespaces( unusedNamespaces ) {\n\tconst namespaceIds = mw.config.get( 'wgNamespaceIds' ),\n\t\tnamespaces = mw.config.get( 'wgFormattedNamespaces' );\n\n\tfor ( let i = 0, length = unusedNamespaces.length; i < length; i++ ) {\n\t\tconst name = unusedNamespaces[ i ];\n\t\tconst id = namespaceIds[ name.toLowerCase() ];\n\t\tdelete namespaces[ id ];\n\t}\n\n\treturn namespaces;\n}\n\n/**\n * @private\n */\nfunction init() {\n\tconst conditionalViews = {},\n\t\t$initialFieldset = $( 'fieldset.cloptions' ),\n\t\tsavedQueriesPreferenceName = mw.config.get( 'wgStructuredChangeFiltersSavedQueriesPreferenceName' ),\n\t\tdaysPreferenceName = mw.config.get( 'wgStructuredChangeFiltersDaysPreferenceName' ),\n\t\tlimitPreferenceName = mw.config.get( 'wgStructuredChangeFiltersLimitPreferenceName' ),\n\t\tactiveFiltersCollapsedName = mw.config.get( 'wgStructuredChangeFiltersCollapsedPreferenceName' ),\n\t\tinitialCollapsedState = mw.config.get( 'wgStructuredChangeFiltersCollapsedState' ),\n\t\tfiltersModel = new rcfilters.dm.FiltersViewModel(),\n\t\tchangesListModel = new rcfilters.dm.ChangesListViewModel( $initialFieldset ),\n\t\tsavedQueriesModel = new rcfilters.dm.SavedQueriesModel( filtersModel ),\n\t\tspecialPage = mw.config.get( 'wgCanonicalSpecialPageName' ),\n\t\tcontroller = new rcfilters.Controller(\n\t\t\tfiltersModel, changesListModel, savedQueriesModel,\n\t\t\t{\n\t\t\t\tsavedQueriesPreferenceName: savedQueriesPreferenceName,\n\t\t\t\tdaysPreferenceName: daysPreferenceName,\n\t\t\t\tlimitPreferenceName: limitPreferenceName,\n\t\t\t\tcollapsedPreferenceName: activeFiltersCollapsedName,\n\t\t\t\tnormalizeTarget: specialPage === 'Recentchangeslinked'\n\t\t\t}\n\t\t);\n\n\t// TODO: The changesListWrapperWidget should be able to initialize\n\t// after the model is ready.\n\n\tlet $topSection;\n\tif ( specialPage === 'Recentchanges' ) {\n\t\t$topSection = $( '.mw-recentchanges-toplinks' ).detach();\n\t} else if ( specialPage === 'Watchlist' ) {\n\t\t$( '.mw-watchlist-owner, .mw-watchlist-toollinks, form#mw-watchlist-resetbutton' ).remove();\n\t\t$topSection = $( '.watchlistDetails' ).detach().contents();\n\t\tif ( mw.config.get( 'enableWatchlistLabels', false ) ) {\n\t\t\tconditionalViews.wllabels = {\n\t\t\t\ttitle: mw.msg( 'watchlist-filters-labels-list-title' ),\n\t\t\t\ttrigger: '=',\n\t\t\t\tgroups: [ {\n\t\t\t\t\t// Group definition (single group)\n\t\t\t\t\tname: 'wllabel', // Parameter name\n\t\t\t\t\ttype: 'string_options',\n\t\t\t\t\ttitle: 'watchlist-filters-labels-list-title',\n\t\t\t\t\tseparator: ';',\n\t\t\t\t\tsupportsAll: false,\n\t\t\t\t\tfullCoverage: false,\n\t\t\t\t\tfilters: mw.config.get( 'watchlistLabels' ),\n\t\t\t\t\tlabelPrefixKey: {\n\t\t\t\t\t\tdefault: 'watchlist-filters-tag-prefix-labels',\n\t\t\t\t\t\tinverted: 'watchlist-filters-tag-prefix-labels-inverted'\n\t\t\t\t\t}\n\t\t\t\t} ]\n\t\t\t};\n\t\t\tconditionalViews.invertwlLabels = {\n\t\t\t\tgroups: [\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'invertWLLabelsGroup',\n\t\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\t\thidden: true,\n\t\t\t\t\t\tfilters: [ {\n\t\t\t\t\t\t\tname: 'invertwllabels',\n\t\t\t\t\t\t\tdefault: '0'\n\t\t\t\t\t\t} ]\n\t\t\t\t\t} ]\n\t\t\t};\n\t\t}\n\t} else if ( specialPage === 'Recentchangeslinked' ) {\n\t\tconditionalViews.recentChangesLinked = {\n\t\t\tgroups: [\n\t\t\t\t{\n\t\t\t\t\tname: 'page',\n\t\t\t\t\ttype: 'any_value',\n\t\t\t\t\ttitle: '',\n\t\t\t\t\thidden: true,\n\t\t\t\t\tsticky: true,\n\t\t\t\t\tfilters: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tname: 'target',\n\t\t\t\t\t\t\tdefault: ''\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: 'toOrFrom',\n\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\ttitle: '',\n\t\t\t\t\thidden: true,\n\t\t\t\t\tsticky: true,\n\t\t\t\t\tfilters: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tname: 'showlinkedto',\n\t\t\t\t\t\t\tdefault: false\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t]\n\t\t};\n\t}\n\n\tconst mainWrapperWidget = new rcfilters.ui.MainWrapperWidget(\n\t\tcontroller,\n\t\tfiltersModel,\n\t\tsavedQueriesModel,\n\t\tchangesListModel,\n\t\t{\n\t\t\t$wrapper: $( document.body ),\n\t\t\t$topSection: $topSection,\n\t\t\t$filtersContainer: $( '.mw-rcfilters-container' ),\n\t\t\t$changesListContainer: $( '.mw-changeslist, .mw-changeslist-empty' ),\n\t\t\t$formContainer: $initialFieldset,\n\t\t\tcollapsed: initialCollapsedState,\n\t\t\tspecialPage: specialPage\n\t\t}\n\t);\n\n\t// Remove the -loading class that may have been added on the server side.\n\t// If we are in fact going to load a default saved query, this .initialize()\n\t// call will do that and add the -loading class right back.\n\t$( document.body ).removeClass( 'mw-rcfilters-ui-loading' );\n\n\tcontroller.initialize(\n\t\tmw.config.get( 'wgStructuredChangeFilters' ),\n\t\t// All namespaces without Media namespace\n\t\tgetNamespaces( [ 'Media' ] ),\n\t\trequire( './config.json' ).RCFiltersChangeTags,\n\t\tconditionalViews\n\t);\n\n\tmainWrapperWidget.initFormWidget( specialPage );\n\n\t$( 'a.mw-helplink' ).attr(\n\t\t'href',\n\t\t'https://www.mediawiki.org/wiki/Special:MyLanguage/Help:New_filters_for_edit_review'\n\t);\n\n\tcontroller.replaceUrl();\n\n\tmainWrapperWidget.setTopSection( specialPage );\n\n\t/**\n\t * Fired when initialization of the filtering interface for changes list is complete.\n\t *\n\t * @event ~'structuredChangeFilters.ui.initialized'\n\t * @memberof Hooks\n\t */\n\tmw.hook( 'structuredChangeFilters.ui.initialized' ).fire();\n}\n\n// Import i18n messages from config\nmw.messages.set( mw.config.get( 'wgStructuredChangeFiltersMessages' ) );\n\n// Don't try to run init during QUnit tests, some of the code depends on mw.config variables\n// that are not set, and the ui code here isn't even being tested.\nif ( !window.QUnit ) {\n\tif ( document.readyState === 'interactive' || document.readyState === 'complete' ) {\n\t\t// Early execute of init\n\t\tinit();\n\t} else {\n\t\t$( init );\n\t}\n}\n\nmodule.exports = rcfilters;\n","usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.rcfilters/ui/ChangesLimitAndDateButtonWidget.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.rcfilters/ui/ChangesLimitPopupWidget.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.rcfilters/ui/ChangesListWrapperWidget.js","messages":[],"suppressedMessages":[{"ruleId":"mediawiki/msg-doc","severity":1,"message":"All possible message keys should be documented. See https://w.wiki/4r9a for details.","line":125,"column":14,"nodeType":"CallExpression","endLine":125,"endColumn":70,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"mediawiki/class-doc","severity":1,"message":"All possible CSS classes should be documented. See https://w.wiki/PS2 for details.","line":143,"column":4,"nodeType":"CallExpression","endLine":146,"endColumn":19,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-fade","severity":2,"message":"Prefer CSS transitions to .fadeIn","line":241,"column":2,"nodeType":"CallExpression","endLine":243,"endColumn":18,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-class-state","severity":2,"message":"Where possible, maintain application state in JS to avoid slower DOM queries","line":268,"column":21,"nodeType":"CallExpression","endLine":268,"endColumn":70,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-class-state","severity":2,"message":"Where possible, maintain application state in JS to avoid slower DOM queries","line":277,"column":22,"nodeType":"CallExpression","endLine":277,"endColumn":49,"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.rcfilters/ui/CheckboxInputWidget.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.rcfilters/ui/DatePopupWidget.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.rcfilters/ui/FilterItemHighlightButton.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.rcfilters/ui/FilterMenuHeaderWidget.js","messages":[{"ruleId":"mediawiki/no-unlabeled-buttonwidget","severity":1,"message":"OOUI button has no label. Even icon-only buttons should set a label with invisibleLabel set to true.","line":33,"column":20,"nodeType":"NewExpression","messageId":"noLabel","endLine":38,"endColumn":5},{"ruleId":"mediawiki/no-unlabeled-buttonwidget","severity":1,"message":"OOUI button has no label. Even icon-only buttons should set a label with invisibleLabel set to true.","line":42,"column":18,"nodeType":"NewExpression","messageId":"noLabel","endLine":49,"endColumn":5},{"ruleId":"mediawiki/no-unlabeled-buttonwidget","severity":1,"message":"OOUI button has no label. Even icon-only buttons should set a label with invisibleLabel set to true.","line":62,"column":26,"nodeType":"NewExpression","messageId":"noLabel","endLine":65,"endColumn":5},{"ruleId":"mediawiki/no-unlabeled-buttonwidget","severity":1,"message":"OOUI button has no label. Even icon-only buttons should set a label with invisibleLabel set to true.","line":67,"column":32,"nodeType":"NewExpression","messageId":"noLabel","endLine":70,"endColumn":5},{"ruleId":"mediawiki/no-unlabeled-buttonwidget","severity":1,"message":"OOUI button has no label. Even icon-only buttons should set a label with invisibleLabel set to true.","line":72,"column":30,"nodeType":"NewExpression","messageId":"noLabel","endLine":75,"endColumn":5}],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":5,"fixableErrorCount":0,"fixableWarningCount":0,"source":"/**\n * Menu header for the RCFilters filters menu.\n *\n * @class mw.rcfilters.ui.FilterMenuHeaderWidget\n * @ignore\n * @extends OO.ui.Widget\n *\n * @param {mw.rcfilters.Controller} controller Controller\n * @param {mw.rcfilters.dm.FiltersViewModel} model View model\n * @param {Object} config Configuration object\n * @param {jQuery} [config.$overlay] A jQuery object serving as overlay for popups\n * @param {boolean} [config.isMobile] a boolean flag that determines whether some\n * elements should be displayed based on whether the UI is mobile or not.\n * @param {boolean} [config.specialPage] title of the page this is loaded on\n */\nconst FilterMenuHeaderWidget = function MwRcfiltersUiFilterMenuHeaderWidget( controller, model, config ) {\n\tconfig = config || {};\n\n\tthis.controller = controller;\n\tthis.model = model;\n\tthis.$overlay = config.$overlay || this.$element;\n\tthis.specialPage = config.specialPage || '';\n\n\t// Parent\n\tFilterMenuHeaderWidget.super.call( this, config );\n\tOO.ui.mixin.LabelElement.call( this, Object.assign( {\n\t\tlabel: mw.msg( 'rcfilters-filterlist-title' ),\n\t\t$label: $( '<div>' )\n\t\t\t.addClass( 'mw-rcfilters-ui-filterMenuHeaderWidget-title' )\n\t}, config ) );\n\n\t// \"Back\" to default view button\n\tthis.backButton = new OO.ui.ButtonWidget( {\n\t\ticon: 'previous',\n\t\tframed: false,\n\t\ttitle: mw.msg( 'rcfilters-view-return-to-default-tooltip' ),\n\t\tclasses: [ 'mw-rcfilters-ui-filterMenuHeaderWidget-backButton' ]\n\t} );\n\tthis.backButton.toggle( this.model.getCurrentView() !== 'default' );\n\n\t// Help icon for Tagged edits\n\tthis.helpIcon = new OO.ui.ButtonWidget( {\n\t\ticon: 'helpNotice',\n\t\tframed: false,\n\t\ttitle: mw.msg( 'rcfilters-view-tags-help-icon-tooltip' ),\n\t\tclasses: [ 'mw-rcfilters-ui-filterMenuHeaderWidget-helpIcon' ],\n\t\thref: mw.util.getUrl( 'Special:Tags' ),\n\t\ttarget: '_blank'\n\t} );\n\tthis.helpIcon.toggle( this.model.getCurrentView() === 'tags' );\n\n\tif ( !config.isMobile ) {\n\t\t// Highlight button\n\t\tthis.highlightButton = new OO.ui.ToggleButtonWidget( {\n\t\t\ticon: 'highlight',\n\t\t\tlabel: mw.msg( 'rcfilters-highlightbutton-title' ),\n\t\t\tclasses: [ 'mw-rcfilters-ui-filterMenuHeaderWidget-hightlightButton' ]\n\t\t} );\n\t}\n\n\t// Invert buttons\n\tthis.invertTagsButton = new OO.ui.ToggleButtonWidget( {\n\t\ticon: '',\n\t\tclasses: [ 'mw-rcfilters-ui-filterMenuHeaderWidget-invertTagsButton' ]\n\t} );\n\tthis.invertTagsButton.toggle( this.model.getCurrentView() === 'tags' );\n\tthis.invertNamespacesButton = new OO.ui.ToggleButtonWidget( {\n\t\ticon: '',\n\t\tclasses: [ 'mw-rcfilters-ui-filterMenuHeaderWidget-invertNamespacesButton' ]\n\t} );\n\tthis.invertNamespacesButton.toggle( this.model.getCurrentView() === 'namespaces' );\n\tthis.invertWLLabelsButton = new OO.ui.ToggleButtonWidget( {\n\t\ticon: '',\n\t\tclasses: [ 'mw-rcfilters-ui-filterMenuHeaderWidget-invertWLLabelsButton' ]\n\t} );\n\tthis.invertWLLabelsButton.toggle( this.model.getCurrentView() === 'wllabels' );\n\n\t// Events\n\tthis.backButton.connect( this, { click: 'onBackButtonClick' } );\n\tif ( !config.isMobile ) {\n\t\tthis.highlightButton\n\t\t\t.connect( this, { click: 'onHighlightButtonClick' } );\n\t}\n\tthis.invertTagsButton\n\t\t.connect( this, { click: 'onInvertTagsButtonClick' } );\n\tthis.invertNamespacesButton\n\t\t.connect( this, { click: 'onInvertNamespacesButtonClick' } );\n\tthis.invertWLLabelsButton\n\t\t.connect( this, { click: 'onInvertWLLabelsButtonClick' } );\n\tthis.model.connect( this, {\n\t\thighlightChange: 'onModelHighlightChange',\n\t\tsearchChange: 'onModelSearchChange',\n\t\tinitialize: 'onModelInitialize'\n\t} );\n\tthis.view = this.model.getCurrentView();\n\n\t// Initialize\n\tthis.$element\n\t\t.addClass( 'mw-rcfilters-ui-filterMenuHeaderWidget' )\n\t\t.append(\n\t\t\t$( '<div>' )\n\t\t\t\t.addClass( 'mw-rcfilters-ui-table' )\n\t\t\t\t.addClass( 'mw-rcfilters-ui-filterMenuHeaderWidget-header' )\n\t\t\t\t.append(\n\t\t\t\t\t$( '<div>' )\n\t\t\t\t\t\t.addClass( 'mw-rcfilters-ui-row' )\n\t\t\t\t\t\t.append(\n\t\t\t\t\t\t\t$( '<div>' )\n\t\t\t\t\t\t\t\t.addClass( 'mw-rcfilters-ui-cell' )\n\t\t\t\t\t\t\t\t.addClass( 'mw-rcfilters-ui-filterMenuHeaderWidget-header-back' )\n\t\t\t\t\t\t\t\t.append( this.backButton.$element ),\n\t\t\t\t\t\t\t$( '<div>' )\n\t\t\t\t\t\t\t\t.addClass( 'mw-rcfilters-ui-cell' )\n\t\t\t\t\t\t\t\t.addClass( 'mw-rcfilters-ui-filterMenuHeaderWidget-header-title' )\n\t\t\t\t\t\t\t\t.append( this.$label, this.helpIcon.$element ),\n\t\t\t\t\t\t\t$( '<div>' )\n\t\t\t\t\t\t\t\t.addClass( 'mw-rcfilters-ui-cell' )\n\t\t\t\t\t\t\t\t.addClass( 'mw-rcfilters-ui-filterMenuHeaderWidget-header-invert' )\n\t\t\t\t\t\t\t\t.append( this.invertTagsButton.$element ),\n\t\t\t\t\t\t\t$( '<div>' )\n\t\t\t\t\t\t\t\t.addClass( 'mw-rcfilters-ui-cell' )\n\t\t\t\t\t\t\t\t.addClass( 'mw-rcfilters-ui-filterMenuHeaderWidget-header-invert' )\n\t\t\t\t\t\t\t\t.append( this.invertNamespacesButton.$element ),\n\t\t\t\t\t\t\t$( '<div>' )\n\t\t\t\t\t\t\t\t.addClass( 'mw-rcfilters-ui-cell' )\n\t\t\t\t\t\t\t\t.addClass( 'mw-rcfilters-ui-filterMenuHeaderWidget-header-invert' )\n\t\t\t\t\t\t\t\t.append( this.invertWLLabelsButton.$element )\n\t\t\t\t\t\t)\n\t\t\t\t)\n\t\t);\n\tif ( !config.isMobile ) {\n\t\tthis.$element.find( '.mw-rcfilters-ui-row' ).append(\n\t\t\t$( '<div>' )\n\t\t\t\t.addClass( 'mw-rcfilters-ui-cell' )\n\t\t\t\t.addClass( 'mw-rcfilters-ui-filterMenuHeaderWidget-header-highlight' )\n\t\t\t\t.append( this.highlightButton.$element )\n\t\t);\n\t}\n};\n\n/* Initialization */\n\nOO.inheritClass( FilterMenuHeaderWidget, OO.ui.Widget );\nOO.mixinClass( FilterMenuHeaderWidget, OO.ui.mixin.LabelElement );\n\n/* Methods */\n\n/**\n * Respond to model initialization event\n *\n * Note: need to wait for initialization before getting the invertModel\n * and registering its update event. Creating all the models before the UI\n * would help with that.\n */\nFilterMenuHeaderWidget.prototype.onModelInitialize = function () {\n\tthis.invertNamespacesModel = this.model.getNamespacesInvertModel();\n\tthis.updateInvertNamespacesButton();\n\tthis.invertNamespacesModel.connect( this, { update: 'updateInvertNamespacesButton' } );\n\n\tthis.invertTagsModel = this.model.getTagsInvertModel();\n\tthis.updateInvertTagsButton();\n\tthis.invertTagsModel.connect( this, { update: 'updateInvertTagsButton' } );\n\n\tif ( mw.config.get( 'enableWatchlistLabels' ) && this.specialPage === 'Watchlist' ) {\n\t\tthis.invertWLLabelsModel = this.model.getWLLabelsInvertModel();\n\t\tthis.updateInvertWLLabelsButton();\n\t\tthis.invertWLLabelsModel.connect( this, { update: 'updateInvertWLLabelsButton' } );\n\t}\n};\n\n/**\n * Respond to model update event\n */\nFilterMenuHeaderWidget.prototype.onModelSearchChange = function () {\n\tconst currentView = this.model.getCurrentView();\n\n\tif ( this.view !== currentView ) {\n\t\tthis.setLabel( this.model.getViewTitle( currentView ) );\n\n\t\tthis.invertTagsButton.toggle( currentView === 'tags' );\n\t\tthis.invertNamespacesButton.toggle( currentView === 'namespaces' );\n\t\tthis.invertWLLabelsButton.toggle( currentView === 'wllabels' );\n\t\tthis.backButton.toggle( currentView !== 'default' );\n\t\tthis.helpIcon.toggle( currentView === 'tags' );\n\t\tthis.view = currentView;\n\t}\n};\n\n/**\n * Respond to model highlight change event\n *\n * @param {boolean} highlightEnabled Highlight is enabled\n */\nFilterMenuHeaderWidget.prototype.onModelHighlightChange = function ( highlightEnabled ) {\n\tthis.highlightButton.setActive( highlightEnabled );\n};\n\n/**\n * Update the state of the tags invert button\n */\nFilterMenuHeaderWidget.prototype.updateInvertTagsButton = function () {\n\tthis.invertTagsButton.setActive( this.invertTagsModel.isSelected() );\n\tthis.invertTagsButton.setLabel(\n\t\tthis.invertTagsModel.isSelected() ?\n\t\t\tmw.msg( 'rcfilters-exclude-button-on' ) :\n\t\t\tmw.msg( 'rcfilters-exclude-button-off' )\n\t);\n};\n\n/**\n * Update the state of the namespaces invert button\n */\nFilterMenuHeaderWidget.prototype.updateInvertNamespacesButton = function () {\n\tthis.invertNamespacesButton.setActive( this.invertNamespacesModel.isSelected() );\n\tthis.invertNamespacesButton.setLabel(\n\t\tthis.invertNamespacesModel.isSelected() ?\n\t\t\tmw.msg( 'rcfilters-exclude-button-on' ) :\n\t\t\tmw.msg( 'rcfilters-exclude-button-off' )\n\t);\n};\n\n/**\n * Update the state of the labels invert button\n */\nFilterMenuHeaderWidget.prototype.updateInvertWLLabelsButton = function () {\n\tthis.invertWLLabelsButton.setActive( this.invertWLLabelsModel.isSelected() );\n\tthis.invertWLLabelsButton.setLabel(\n\t\tthis.invertWLLabelsModel.isSelected() ?\n\t\t\tmw.msg( 'rcfilters-exclude-button-on' ) :\n\t\t\tmw.msg( 'rcfilters-exclude-button-off' )\n\t);\n};\n\nFilterMenuHeaderWidget.prototype.onBackButtonClick = function () {\n\tthis.controller.switchView( 'default' );\n};\n\n/**\n * Respond to highlight button click\n */\nFilterMenuHeaderWidget.prototype.onHighlightButtonClick = function () {\n\tthis.controller.toggleHighlight();\n};\n\n/**\n * Respond to invert tags button click\n */\nFilterMenuHeaderWidget.prototype.onInvertTagsButtonClick = function () {\n\tthis.controller.toggleInvertedTags();\n};\n\n/**\n * Respond to invert namespaces button click\n */\nFilterMenuHeaderWidget.prototype.onInvertNamespacesButtonClick = function () {\n\tthis.controller.toggleInvertedNamespaces();\n};\n\n/**\n * Respond to invert labels button click\n */\nFilterMenuHeaderWidget.prototype.onInvertWLLabelsButtonClick = function () {\n\tthis.controller.toggleInvertedWLLabels();\n};\n\nmodule.exports = FilterMenuHeaderWidget;\n","usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.rcfilters/ui/FilterMenuOptionWidget.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.rcfilters/ui/FilterMenuSectionOptionWidget.js","messages":[],"suppressedMessages":[{"ruleId":"mediawiki/msg-doc","severity":1,"message":"All possible message keys should be documented. See https://w.wiki/4r9a for details.","line":42,"column":13,"nodeType":"CallExpression","endLine":42,"endColumn":47,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"mediawiki/msg-doc","severity":1,"message":"All possible message keys should be documented. See https://w.wiki/4r9a for details.","line":51,"column":13,"nodeType":"CallExpression","endLine":51,"endColumn":45,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"mediawiki/msg-doc","severity":1,"message":"All possible message keys should be documented. See https://w.wiki/4r9a for details.","line":63,"column":13,"nodeType":"CallExpression","endLine":63,"endColumn":49,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"mediawiki/class-doc","severity":1,"message":"All possible CSS classes should be documented. See https://w.wiki/PS2 for details.","line":94,"column":2,"nodeType":"CallExpression","endLine":96,"endColumn":92,"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.rcfilters/ui/FilterTagItemWidget.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.rcfilters/ui/FilterTagMultiselectWidget.js","messages":[{"ruleId":"mediawiki/no-unlabeled-buttonwidget","severity":1,"message":"OOUI button has no label. Even icon-only buttons should set a label with invisibleLabel set to true.","line":107,"column":21,"nodeType":"NewExpression","messageId":"noLabel","endLine":110,"endColumn":5},{"ruleId":"mediawiki/no-unlabeled-buttonwidget","severity":1,"message":"OOUI button has no label. Even icon-only buttons should set a label with invisibleLabel set to true.","line":112,"column":24,"nodeType":"NewExpression","messageId":"noLabel","endLine":116,"endColumn":5},{"ruleId":"jsdoc/valid-types","severity":1,"message":"Syntax error in namepath: ~'RcFilters.popup.open'","line":427,"column":1,"nodeType":"Block","endLine":427,"endColumn":1}],"suppressedMessages":[{"ruleId":"no-jquery/no-class-state","severity":2,"message":"Where possible, maintain application state in JS to avoid slower DOM queries","line":819,"column":4,"nodeType":"CallExpression","endLine":819,"endColumn":81,"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":3,"fixableErrorCount":0,"fixableWarningCount":0,"source":"const ViewSwitchWidget = require( './ViewSwitchWidget.js' ),\n\tSaveFiltersPopupButtonWidget = require( './SaveFiltersPopupButtonWidget.js' ),\n\tMenuSelectWidget = require( './MenuSelectWidget.js' ),\n\tFilterTagItemWidget = require( './FilterTagItemWidget.js' );\n\n/**\n * List displaying all filter groups.\n *\n * @class mw.rcfilters.ui.FilterTagMultiselectWidget\n * @ignore\n * @extends OO.ui.MenuTagMultiselectWidget\n * @mixes OO.ui.mixin.PendingElement\n *\n * @param {mw.rcfilters.Controller} controller Controller\n * @param {mw.rcfilters.dm.FiltersViewModel} model View model\n * @param {mw.rcfilters.dm.SavedQueriesModel} savedQueriesModel Saved queries model\n * @param {Object} config Configuration object\n * @param {jQuery} [config.$overlay] A jQuery object serving as overlay for popups\n * @param {jQuery} [config.$wrapper] A jQuery object for the wrapper of the general\n * system. If not given, falls back to this widget's $element\n * @param {boolean} [config.collapsed] Filter area is collapsed\n * @param {string} [config.specialPage] Title of the special page on which this widget is getting created\n */\nconst FilterTagMultiselectWidget = function MwRcfiltersUiFilterTagMultiselectWidget( controller, model, savedQueriesModel, config ) {\n\tconst title = new OO.ui.LabelWidget( {\n\t\t\tlabel: mw.msg( 'rcfilters-activefilters' ),\n\t\t\tclasses: [ 'mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title' ]\n\t\t} ),\n\t\t$contentWrapper = $( '<div>' )\n\t\t\t.addClass( 'mw-rcfilters-ui-filterTagMultiselectWidget-wrapper' );\n\n\tconfig = config || {};\n\n\tthis.controller = controller;\n\tthis.model = model;\n\tthis.queriesModel = savedQueriesModel;\n\tthis.$overlay = config.$overlay || this.$element;\n\tthis.$wrapper = config.$wrapper || this.$element;\n\tthis.matchingQuery = null;\n\tthis.currentView = this.model.getCurrentView();\n\tthis.collapsed = false;\n\tthis.isMobile = config.isMobile;\n\tthis.specialPage = config.specialPage;\n\n\t// Has to be before the parent constructor, because the parent constructor may call setValue()\n\t// which causes the onChangeTags handler to run (T245073)\n\tthis.emptyFilterMessage = new OO.ui.LabelWidget( {\n\t\tlabel: mw.msg( 'rcfilters-empty-filter' ),\n\t\tclasses: [ 'mw-rcfilters-ui-filterTagMultiselectWidget-emptyFilters' ]\n\t} );\n\n\t// Parent\n\tFilterTagMultiselectWidget.super.call( this, $.extend( true, {\n\t\tlabel: mw.msg( 'rcfilters-filterlist-title' ),\n\t\tplaceholder: mw.msg( 'rcfilters-empty-filter' ),\n\t\tinputPosition: 'outline',\n\t\tallowArbitrary: false,\n\t\tallowDisplayInvalidTags: false,\n\t\tallowReordering: false,\n\t\t$overlay: this.$overlay,\n\t\tmenu: {\n\t\t\t// Our filtering is done through the model\n\t\t\tfilterFromInput: false,\n\t\t\thideWhenOutOfView: false,\n\t\t\thideOnChoose: false,\n\t\t\t// Only set width and footers for desktop\n\t\t\tisMobile: this.isMobile,\n\t\t\twidth: 650,\n\t\t\tfooters: [\n\t\t\t\t{\n\t\t\t\t\tname: 'viewSelect',\n\t\t\t\t\tsticky: false,\n\t\t\t\t\t// View select menu, appears on default view only\n\t\t\t\t\t$element: $( '<div>' )\n\t\t\t\t\t\t.append(\n\t\t\t\t\t\t\tnew ViewSwitchWidget(\n\t\t\t\t\t\t\t\tthis.controller, this.model, { specialPage: this.specialPage }\n\t\t\t\t\t\t\t).$element\n\t\t\t\t\t\t),\n\t\t\t\t\tviews: [ 'default' ]\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t/**\n\t\t * In the presence of an onscreen keyboard (i.e. isMobile) the filter input should act as a button\n\t\t * rather than a text input. Mobile screens are too small to accommodate both an\n\t\t * onscreen keyboard and a popup-menu, so readyOnly is set to disable the keyboard.\n\t\t * A different icon and shorter message is used for mobile as well. (See T224655 for details).\n\t\t *\n\t\t * @ignore\n\t\t */\n\t\tinput: {\n\t\t\ticon: this.isMobile ? 'funnel' : 'menu',\n\t\t\tplaceholder: this.isMobile ? mw.msg( 'rcfilters-search-placeholder-mobile' ) : mw.msg( 'rcfilters-search-placeholder' ),\n\t\t\treadOnly: !!this.isMobile,\n\t\t\tclasses: [ 'oo-ui-tagMultiselectWidget-input' ]\n\t\t}\n\t}, config ) );\n\n\tthis.input.$input.attr( 'aria-label', mw.msg( 'rcfilters-search-placeholder' ) );\n\n\tthis.savedQueryTitle = new OO.ui.LabelWidget( {\n\t\tlabel: '',\n\t\tclasses: [ 'mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-savedQueryTitle' ]\n\t} );\n\n\tthis.resetButton = new OO.ui.ButtonWidget( {\n\t\tframed: false,\n\t\tclasses: [ 'mw-rcfilters-ui-filterTagMultiselectWidget-resetButton' ]\n\t} );\n\n\tthis.hideShowButton = new OO.ui.ButtonWidget( {\n\t\tframed: false,\n\t\tflags: [ 'progressive' ],\n\t\tclasses: [ 'mw-rcfilters-ui-filterTagMultiselectWidget-hideshowButton' ]\n\t} );\n\tthis.toggleCollapsed( !!config.collapsed );\n\n\tif ( !mw.user.isAnon() ) {\n\t\tthis.saveQueryButton = new SaveFiltersPopupButtonWidget(\n\t\t\tthis.controller,\n\t\t\tthis.queriesModel,\n\t\t\t{\n\t\t\t\t$overlay: this.$overlay\n\t\t\t}\n\t\t);\n\n\t\tthis.saveQueryButton.$element.on( 'mousedown', ( e ) => {\n\t\t\te.stopPropagation();\n\t\t} );\n\n\t\tthis.saveQueryButton.connect( this, {\n\t\t\tclick: 'onSaveQueryButtonClick',\n\t\t\tsaveCurrent: 'setSavedQueryVisibility'\n\t\t} );\n\t\tthis.queriesModel.connect( this, {\n\t\t\titemUpdate: 'onSavedQueriesItemUpdate',\n\t\t\tinitialize: 'onSavedQueriesInitialize',\n\t\t\tdefault: 'reevaluateResetRestoreState'\n\t\t} );\n\t}\n\n\tthis.$content.append( this.emptyFilterMessage.$element );\n\n\t// Events\n\tthis.resetButton.connect( this, { click: 'onResetButtonClick' } );\n\tthis.hideShowButton.connect( this, { click: 'onHideShowButtonClick' } );\n\t// Stop propagation for mousedown, so that the widget doesn't\n\t// trigger the focus on the input and scrolls up when we click the reset button\n\tthis.resetButton.$element.on( 'mousedown', ( e ) => {\n\t\te.stopPropagation();\n\t} );\n\tthis.hideShowButton.$element.on( 'mousedown', ( e ) => {\n\t\te.stopPropagation();\n\t} );\n\tthis.model.connect( this, {\n\t\tinitialize: 'onModelInitialize',\n\t\tupdate: 'onModelUpdate',\n\t\tsearchChange: this.isMobile ? function () {} : 'onModelSearchChange',\n\t\titemUpdate: 'onModelItemUpdate',\n\t\thighlightChange: 'onModelHighlightChange'\n\t} );\n\n\tif ( !this.isMobile ) {\n\t\tthis.input.connect( this, { change: 'onInputChange', onBlur: this.onInputBlur } );\n\t}\n\n\t// The filter list and button should appear side by side regardless of how\n\t// wide the button is; the button also changes its width depending\n\t// on language and its state, so the safest way to present both side\n\t// by side is with a table layout\n\tconst $rcFiltersRow = $( '<div>' )\n\t\t.addClass( 'mw-rcfilters-ui-row' )\n\t\t.append(\n\t\t\tthis.$content\n\t\t\t\t.addClass( 'mw-rcfilters-ui-cell' )\n\t\t\t\t.addClass( 'mw-rcfilters-ui-filterTagMultiselectWidget-cell-filters' )\n\t\t);\n\n\tif ( !mw.user.isAnon() ) {\n\t\t$rcFiltersRow.append(\n\t\t\t$( '<div>' )\n\t\t\t\t.addClass( 'mw-rcfilters-ui-cell' )\n\t\t\t\t.addClass( 'mw-rcfilters-ui-filterTagMultiselectWidget-cell-save' )\n\t\t\t\t.append( this.saveQueryButton.$element )\n\t\t);\n\t}\n\n\t// Add a selector at the right of the input\n\tthis.viewsSelectWidget = this.createViewsSelectWidget();\n\n\t// change the layout of the viewsSelectWidget\n\tthis.restructureViewsSelectWidget();\n\n\t// Event\n\tthis.viewsSelectWidget.aggregate( { click: 'buttonClick' } );\n\tthis.viewsSelectWidget.connect( this, { buttonClick: 'onViewsSelectWidgetButtonClick' } );\n\n\t$rcFiltersRow.append(\n\t\t$( '<div>' )\n\t\t\t.addClass( 'mw-rcfilters-ui-cell' )\n\t\t\t.addClass( 'mw-rcfilters-ui-filterTagMultiselectWidget-cell-reset' )\n\t\t\t.append( this.resetButton.$element )\n\t);\n\n\t// Build the content\n\t$contentWrapper.append(\n\t\t$( '<div>' )\n\t\t\t.addClass( 'mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-top' )\n\t\t\t.append(\n\t\t\t\t$( '<div>' )\n\t\t\t\t\t.addClass( 'mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-top-title' )\n\t\t\t\t\t.append( title.$element ),\n\t\t\t\t$( '<div>' )\n\t\t\t\t\t.addClass( 'mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-top-queryName' )\n\t\t\t\t\t.append( this.savedQueryTitle.$element ),\n\t\t\t\t$( '<div>' )\n\t\t\t\t\t.addClass( 'mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-top-hideshow' )\n\t\t\t\t\t.append(\n\t\t\t\t\t\tthis.hideShowButton.$element\n\t\t\t\t\t)\n\t\t\t),\n\t\t$( '<div>' )\n\t\t\t.addClass( 'mw-rcfilters-ui-table' )\n\t\t\t.addClass( 'mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-filters' )\n\t\t\t.append( $rcFiltersRow )\n\t);\n\n\t// Initialize\n\tthis.$handle.append( $contentWrapper );\n\tthis.emptyFilterMessage.toggle( this.isEmpty() );\n\tthis.savedQueryTitle.toggle( false );\n\n\tthis.$element\n\t\t.addClass( 'mw-rcfilters-ui-filterTagMultiselectWidget' );\n\n\tif ( this.isMobile ) {\n\t\tthis.$element\n\t\t\t.addClass( 'mw-rcfilters-ui-filterTagMultiselectWidget-mobile' );\n\t}\n\n\tthis.reevaluateResetRestoreState();\n};\n\n/* Initialization */\n\nOO.inheritClass( FilterTagMultiselectWidget, OO.ui.MenuTagMultiselectWidget );\n\n/* Methods */\n\n/**\n * Create a OOUI ButtonGroupWidget. The buttons are framed and have additional CSS\n * classes applied on mobile.\n *\n * @return {OO.ui.ButtonGroupWidget}\n */\nFilterTagMultiselectWidget.prototype.createViewsSelectWidget = function () {\n\tconst items = [\n\t\tnew OO.ui.ButtonWidget( {\n\t\t\tframed: !!this.isMobile,\n\t\t\tdata: 'namespaces',\n\t\t\ticon: 'article',\n\t\t\tlabel: mw.msg( 'namespaces' ),\n\t\t\ttitle: mw.msg( 'rcfilters-view-namespaces-tooltip' ),\n\t\t\tclasses: this.isMobile ? [ 'mw-rcfilters-ui-cell' ] : []\n\t\t} ),\n\t\tnew OO.ui.ButtonWidget( {\n\t\t\tframed: !!this.isMobile,\n\t\t\tdata: 'tags',\n\t\t\ticon: 'tag',\n\t\t\tlabel: mw.msg( 'tags-title' ),\n\t\t\ttitle: mw.msg( 'rcfilters-view-tags-tooltip' ),\n\t\t\tclasses: this.isMobile ? [ 'mw-rcfilters-ui-cell' ] : []\n\t\t} )\n\t];\n\tif ( mw.config.get( 'enableWatchlistLabels' ) && this.specialPage === 'Watchlist' ) {\n\t\titems.push(\n\t\t\tnew OO.ui.ButtonWidget( {\n\t\t\t\tframed: !!this.isMobile,\n\t\t\t\tdata: 'wllabels',\n\t\t\t\ticon: 'folderPlaceholder',\n\t\t\t\tlabel: mw.msg( 'watchlist-filters-labels-title' ),\n\t\t\t\ttitle: mw.msg( 'watchlist-filters-view-labels-tooltip' ),\n\t\t\t\tclasses: this.isMobile ? [ 'mw-rcfilters-ui-cell' ] : []\n\t\t\t} )\n\t\t);\n\t}\n\tconst viewsSelectWidget = new OO.ui.ButtonGroupWidget( {\n\t\tclasses: this.isMobile ?\n\t\t\t[\n\t\t\t\t'mw-rcfilters-ui-table',\n\t\t\t\t'mw-rcfilters-ui-filterTagMultiselectWidget-mobile-view'\n\t\t\t] :\n\t\t\t[\n\t\t\t\t'mw-rcfilters-ui-filterTagMultiselectWidget-views-select-widget'\n\t\t\t],\n\t\titems: items\n\t} );\n\n\tviewsSelectWidget.items.forEach( ( item ) => {\n\t\titem.$button.attr( 'aria-label', item.title );\n\t} );\n\n\treturn viewsSelectWidget;\n};\n\n/**\n * Rearrange the DOM structure of the viewsSelectWiget so that on the namespace & tags buttons\n * are at the right of the input on desktop, and below the input on mobile.\n */\nFilterTagMultiselectWidget.prototype.restructureViewsSelectWidget = function () {\n\tif ( this.isMobile ) {\n\t\t// On mobile, append the search input and the extra buttons below the search input.\n\t\tthis.$element.append(\n\t\t\t$( '<div>' )\n\t\t\t\t.addClass( 'mw-rcfilters-ui-filterTagMultiselectWidget-views-input' )\n\t\t\t\t.append( this.input.$element )\n\t\t\t\t.append( this.viewsSelectWidget.$element )\n\t\t);\n\t} else {\n\t\t// On desktop, rearrange the UI so the select widget is at the right of the input\n\t\tthis.$element.append(\n\t\t\t$( '<div>' )\n\t\t\t\t.addClass( 'mw-rcfilters-ui-table' )\n\t\t\t\t.append(\n\t\t\t\t\t$( '<div>' )\n\t\t\t\t\t\t.addClass( 'mw-rcfilters-ui-row' )\n\t\t\t\t\t\t.addClass( 'mw-rcfilters-ui-filterTagMultiselectWidget-views' )\n\t\t\t\t\t\t.append(\n\t\t\t\t\t\t\t$( '<div>' )\n\t\t\t\t\t\t\t\t.addClass( 'mw-rcfilters-ui-cell' )\n\t\t\t\t\t\t\t\t.addClass( 'mw-rcfilters-ui-filterTagMultiselectWidget-views-input' )\n\t\t\t\t\t\t\t\t.append( this.input.$element ),\n\t\t\t\t\t\t\t$( '<div>' )\n\t\t\t\t\t\t\t\t.addClass( 'mw-rcfilters-ui-cell' )\n\t\t\t\t\t\t\t\t.addClass( 'mw-rcfilters-ui-filterTagMultiselectWidget-views-select' )\n\t\t\t\t\t\t\t\t.append( this.viewsSelectWidget.$element )\n\t\t\t\t\t\t)\n\t\t\t\t)\n\t\t);\n\t}\n};\n\n/**\n * Respond to button click event\n *\n * @param {OO.ui.ButtonWidget} buttonWidget Clicked widget\n */\nFilterTagMultiselectWidget.prototype.onViewsSelectWidgetButtonClick = function ( buttonWidget ) {\n\tthis.controller.switchView( buttonWidget.getData() );\n\tthis.focus();\n};\n\n/**\n * Respond to model search change event\n *\n * @param {string} value Search value\n */\nFilterTagMultiselectWidget.prototype.onModelSearchChange = function ( value ) {\n\tthis.input.setValue( value );\n};\n\n/**\n * Respond to input change event\n *\n * @param {string} value Value of the input\n */\nFilterTagMultiselectWidget.prototype.onInputChange = function ( value ) {\n\tthis.controller.setSearch( value );\n};\n\n/**\n * Respond to input blur event\n *\n */\nFilterTagMultiselectWidget.prototype.onInputBlur = function () {\n\t// T389976 noop (override default OOUI MenuTagMultiselectWidget behavior onBlur so that we can click help icons)\n};\n\n/**\n * Respond to query button click\n */\nFilterTagMultiselectWidget.prototype.onSaveQueryButtonClick = function () {\n\tthis.getMenu().toggle( false );\n};\n\n/**\n * Respond to save query model initialization\n */\nFilterTagMultiselectWidget.prototype.onSavedQueriesInitialize = function () {\n\tthis.setSavedQueryVisibility();\n};\n\n/**\n * Respond to save query item change. Mainly this is done to update the label in case\n * a query item has been edited\n *\n * @param {mw.rcfilters.dm.SavedQueryItemModel} item Saved query item\n */\nFilterTagMultiselectWidget.prototype.onSavedQueriesItemUpdate = function ( item ) {\n\tif ( this.matchingQuery === item ) {\n\t\t// This means we just edited the item that is currently matched\n\t\tthis.savedQueryTitle.setLabel( item.getLabel() );\n\t}\n};\n\n/**\n * Respond to menu toggle\n *\n * @param {boolean} isVisible Menu is visible\n */\nFilterTagMultiselectWidget.prototype.onMenuToggle = function ( isVisible ) {\n\n\tconst scrollToElement = this.isMobile ? this.input.$input : this.$element;\n\n\t// Parent\n\tFilterTagMultiselectWidget.super.prototype.onMenuToggle.call( this );\n\n\tif ( isVisible ) {\n\t\tif ( !this.isMobile ) {\n\t\t\tthis.focus();\n\t\t}\n\n\t\t/**\n\t\t * Fires when the RCFilters tag multi selector menu is toggled.\n\t\t *\n\t\t * @event ~'RcFilters.popup.open'\n\t\t * @memberof Hooks\n\t\t */\n\t\tmw.hook( 'RcFilters.popup.open' ).fire();\n\n\t\tif ( !this.getMenu().findSelectedItem() ) {\n\t\t\t// If there are no selected items, scroll menu to top\n\t\t\t// This has to be in a setTimeout so the menu has time\n\t\t\t// to be positioned and fixed\n\t\t\tsetTimeout(\n\t\t\t\t() => {\n\t\t\t\t\tthis.getMenu().scrollToTop();\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\n\t\t// Only scroll to top of the viewport if:\n\t\t// - The widget is more than 20px from the top\n\t\t// - The widget is not above the top of the viewport (do not scroll downwards)\n\t\t// (This isn't represented because >20 is, anyways and always, bigger than 0)\n\t\tthis.scrollToTop( scrollToElement, 0, { min: 20, max: Infinity } );\n\n\t} else {\n\t\t// Clear selection\n\t\tthis.selectTag( null );\n\n\t\t// Clear the search\n\t\tthis.controller.setSearch( '' );\n\n\t\tthis.blur();\n\t}\n\n\tif ( this.isMobile ) {\n\t\tthis.input.setIcon( isVisible ? 'close' : 'funnel' );\n\t} else {\n\t\tthis.input.setIcon( isVisible ? 'search' : 'menu' );\n\t}\n};\n\n/**\n * @inheritdoc\n */\nFilterTagMultiselectWidget.prototype.onInputFocus = function () {\n\n\t// treat the input as a menu toggle rather than a text field on mobile\n\tif ( this.isMobile ) {\n\t\tthis.input.$input.trigger( 'blur' );\n\t\tthis.getMenu().toggle();\n\t} else {\n\t\t// Parent\n\t\tFilterTagMultiselectWidget.super.prototype.onInputFocus.call( this );\n\t}\n};\n\n/**\n * @inheritdoc\n */\nFilterTagMultiselectWidget.prototype.doInputEscape = function () {\n\t// Parent\n\tFilterTagMultiselectWidget.super.prototype.doInputEscape.call( this );\n\n\t// Blur the input\n\tthis.input.$input.trigger( 'blur' );\n};\n\n/**\n * @inheritdoc\n */\nFilterTagMultiselectWidget.prototype.onMouseDown = function ( e ) {\n\tif ( !this.collapsed && !this.isDisabled() && e.which === OO.ui.MouseButtons.LEFT ) {\n\t\tthis.menu.toggle();\n\n\t\treturn false;\n\t}\n};\n\n/**\n * @inheritdoc\n */\nFilterTagMultiselectWidget.prototype.onChangeTags = function () {\n\t// If initialized, call parent method.\n\tif ( this.controller.isInitialized() ) {\n\t\tFilterTagMultiselectWidget.super.prototype.onChangeTags.call( this );\n\t}\n\n\tthis.emptyFilterMessage.toggle( this.isEmpty() );\n};\n\n/**\n * Respond to model initialize event\n */\nFilterTagMultiselectWidget.prototype.onModelInitialize = function () {\n\tthis.setSavedQueryVisibility();\n};\n\n/**\n * Respond to model update event\n */\nFilterTagMultiselectWidget.prototype.onModelUpdate = function () {\n\tthis.updateElementsForView();\n};\n\n/**\n * Update the elements in the widget to the current view\n */\nFilterTagMultiselectWidget.prototype.updateElementsForView = function () {\n\tlet inputValue = this.input.getValue().trim();\n\tconst view = this.model.getCurrentView(),\n\t\tinputView = this.model.getViewByTrigger( inputValue.slice( 0, 1 ) );\n\n\tif ( inputView !== 'default' ) {\n\t\t// We have a prefix already, remove it\n\t\tinputValue = inputValue.slice( 1 );\n\t}\n\n\tif ( inputView !== view ) {\n\t\t// Add the correct prefix\n\t\tinputValue = this.model.getViewTrigger( view ) + inputValue;\n\t}\n\n\t// Update input\n\tthis.input.setValue( inputValue );\n\n\tif ( this.currentView !== view ) {\n\t\tthis.scrollToTop( this.$element );\n\t\tthis.currentView = view;\n\t}\n};\n\n/**\n * Set the visibility of the saved query button\n */\nFilterTagMultiselectWidget.prototype.setSavedQueryVisibility = function () {\n\tif ( mw.user.isAnon() ) {\n\t\treturn;\n\t}\n\n\tthis.matchingQuery = this.controller.findQueryMatchingCurrentState();\n\n\tthis.savedQueryTitle.setLabel(\n\t\tthis.matchingQuery ? this.matchingQuery.getLabel() : ''\n\t);\n\tthis.savedQueryTitle.toggle( !!this.matchingQuery );\n\tthis.saveQueryButton.setDisabled( !!this.matchingQuery );\n\tthis.saveQueryButton.setTitle( !this.matchingQuery ?\n\t\tmw.msg( 'rcfilters-savedqueries-add-new-title' ) :\n\t\tmw.msg( 'rcfilters-savedqueries-already-saved' ) );\n\n\tif ( this.matchingQuery ) {\n\t\tthis.emphasize();\n\t}\n};\n\n/**\n * Respond to model itemUpdate event\n * fixme: when a new state is applied to the model this function is called 60+ times in a row\n *\n * @param {mw.rcfilters.dm.FilterItem} item Filter item model\n */\nFilterTagMultiselectWidget.prototype.onModelItemUpdate = function ( item ) {\n\tif ( !item.getGroupModel().isHidden() ) {\n\t\tif (\n\t\t\titem.isSelected() ||\n\t\t\t(\n\t\t\t\tthis.model.isHighlightEnabled() &&\n\t\t\t\titem.getHighlightColor()\n\t\t\t)\n\t\t) {\n\t\t\tthis.addTag( item.getName(), item.getLabel() );\n\t\t} else {\n\t\t\t// Only attempt to remove the tag if we can find an item for it (T198140, T198231)\n\t\t\tif ( this.findItemFromData( item.getName() ) !== null ) {\n\t\t\t\tthis.removeTagByData( item.getName() );\n\t\t\t}\n\t\t}\n\t}\n\n\tthis.setSavedQueryVisibility();\n\n\t// Re-evaluate reset state\n\tthis.reevaluateResetRestoreState();\n};\n\n/**\n * @inheritdoc\n */\nFilterTagMultiselectWidget.prototype.isAllowedData = function ( data ) {\n\treturn (\n\t\tthis.model.getItemByName( data ) &&\n\t\t!this.isDuplicateData( data )\n\t);\n};\n\n/**\n * @inheritdoc\n */\nFilterTagMultiselectWidget.prototype.onMenuChoose = function ( item ) {\n\tthis.controller.toggleFilterSelect( item.model.getName() );\n\n\t// Select the tag if it exists, or reset selection otherwise\n\tthis.selectTag( this.findItemFromData( item.model.getName() ) );\n\n\tif ( !this.isMobile ) {\n\t\tthis.focus();\n\t}\n\n};\n\n/**\n * Respond to highlightChange event\n *\n * @param {boolean} isHighlightEnabled Highlight is enabled\n */\nFilterTagMultiselectWidget.prototype.onModelHighlightChange = function ( isHighlightEnabled ) {\n\tconst highlightedItems = this.model.getHighlightedItems();\n\n\tif ( isHighlightEnabled ) {\n\t\t// Add capsule widgets\n\t\thighlightedItems.forEach( ( filterItem ) => {\n\t\t\tthis.addTag( filterItem.getName(), filterItem.getLabel() );\n\t\t} );\n\t} else {\n\t\t// Remove capsule widgets if they're not selected\n\t\thighlightedItems.forEach( ( filterItem ) => {\n\t\t\tif ( !filterItem.isSelected() ) {\n\t\t\t\t// Only attempt to remove the tag if we can find an item for it (T198140, T198231)\n\t\t\t\tif ( this.findItemFromData( filterItem.getName() ) !== null ) {\n\t\t\t\t\tthis.removeTagByData( filterItem.getName() );\n\t\t\t\t}\n\t\t\t}\n\t\t} );\n\t}\n\n\tthis.setSavedQueryVisibility();\n};\n\n/**\n * @inheritdoc\n */\nFilterTagMultiselectWidget.prototype.onTagSelect = function ( tagItem ) {\n\tconst menuOption = this.menu.getItemFromModel( tagItem.getModel() );\n\n\tthis.menu.setUserSelecting( true );\n\t// Parent method\n\tFilterTagMultiselectWidget.super.prototype.onTagSelect.call( this, tagItem );\n\n\t// Switch view\n\tthis.controller.resetSearchForView( tagItem.getView() );\n\n\tthis.selectTag( tagItem );\n\tthis.scrollToTop( menuOption.$element );\n\n\tthis.menu.setUserSelecting( false );\n};\n\n/**\n * Select a tag by reference. This is what OO.ui.SelectWidget is doing.\n * If no items are given, reset selection from all.\n *\n * @param {mw.rcfilters.ui.FilterTagItemWidget} [item] Tag to select,\n * omit to deselect all\n */\nFilterTagMultiselectWidget.prototype.selectTag = function ( item ) {\n\tlet i, len, selected;\n\n\tfor ( i = 0, len = this.items.length; i < len; i++ ) {\n\t\tselected = this.items[ i ] === item;\n\t\tif ( this.items[ i ].isSelected() !== selected ) {\n\t\t\tthis.items[ i ].toggleSelected( selected );\n\t\t}\n\t}\n};\n/**\n * @inheritdoc\n */\nFilterTagMultiselectWidget.prototype.onTagRemove = function ( tagItem ) {\n\t// Parent method\n\tFilterTagMultiselectWidget.super.prototype.onTagRemove.call( this, tagItem );\n\n\tthis.controller.clearFilter( tagItem.getName() );\n\n\ttagItem.destroy();\n};\n\n/**\n * Respond to click event on the reset button\n */\nFilterTagMultiselectWidget.prototype.onResetButtonClick = function () {\n\tif ( this.model.areVisibleFiltersEmpty() ) {\n\t\t// Reset to default filters\n\t\tthis.controller.resetToDefaults();\n\t} else {\n\t\t// Reset to have no filters\n\t\tthis.controller.emptyFilters();\n\t}\n};\n\n/**\n * Respond to hide/show button click\n */\nFilterTagMultiselectWidget.prototype.onHideShowButtonClick = function () {\n\tthis.toggleCollapsed();\n};\n\n/**\n * Toggle the collapsed state of the filters widget\n *\n * @param {boolean} isCollapsed Widget is collapsed\n */\nFilterTagMultiselectWidget.prototype.toggleCollapsed = function ( isCollapsed ) {\n\tisCollapsed = isCollapsed === undefined ? !this.collapsed : !!isCollapsed;\n\n\tthis.collapsed = isCollapsed;\n\n\tif ( isCollapsed ) {\n\t\t// If we are collapsing, close the menu, in case it was open\n\t\t// We should make sure the menu closes before the rest of the elements\n\t\t// are hidden, otherwise there is an unknown error in jQuery as ooui\n\t\t// sets and unsets properties on the input (which is hidden at that point)\n\t\tthis.menu.toggle( false );\n\t}\n\tthis.input.setDisabled( isCollapsed );\n\tthis.hideShowButton.setLabel( mw.msg(\n\t\tisCollapsed ? 'rcfilters-activefilters-show' : 'rcfilters-activefilters-hide'\n\t) );\n\tthis.hideShowButton.setTitle( mw.msg(\n\t\tisCollapsed ? 'rcfilters-activefilters-show-tooltip' : 'rcfilters-activefilters-hide-tooltip'\n\t) );\n\n\t// Toggle the wrapper class, so we have min height values correctly throughout\n\tthis.$wrapper.toggleClass( 'mw-rcfilters-collapsed', isCollapsed );\n\n\t// Save the state\n\tthis.controller.updateCollapsedState( isCollapsed );\n};\n\n/**\n * Reevaluate the restore state for the widget between setting to defaults and clearing all filters\n */\nFilterTagMultiselectWidget.prototype.reevaluateResetRestoreState = function () {\n\tconst defaultsAreEmpty = this.controller.areDefaultsEmpty(),\n\t\tcurrFiltersAreEmpty = this.model.areVisibleFiltersEmpty(),\n\t\thideResetButton = currFiltersAreEmpty && defaultsAreEmpty;\n\n\tthis.resetButton.setIcon(\n\t\tcurrFiltersAreEmpty ? 'history' : 'trash'\n\t);\n\n\tthis.resetButton.setLabel(\n\t\tcurrFiltersAreEmpty ? mw.msg( 'rcfilters-restore-default-filters' ) : ''\n\t);\n\tthis.resetButton.setTitle(\n\t\tcurrFiltersAreEmpty ? null : mw.msg( 'rcfilters-clear-all-filters' )\n\t);\n\n\tthis.resetButton.toggle( !hideResetButton );\n\tthis.emptyFilterMessage.toggle( currFiltersAreEmpty );\n};\n\n/**\n * @inheritdoc\n */\nFilterTagMultiselectWidget.prototype.createMenuWidget = function ( menuConfig ) {\n\treturn new MenuSelectWidget(\n\t\tthis.controller,\n\t\tthis.model,\n\t\tmenuConfig\n\t);\n};\n\n/**\n * @inheritdoc\n */\nFilterTagMultiselectWidget.prototype.createTagItemWidget = function ( data ) {\n\tconst filterItem = this.model.getItemByName( data );\n\n\tif ( filterItem ) {\n\t\treturn new FilterTagItemWidget(\n\t\t\tthis.controller,\n\t\t\tthis.model,\n\t\t\tthis.model.getInvertModel( filterItem.getGroupModel().getView() ),\n\t\t\tfilterItem,\n\t\t\t{\n\t\t\t\t$overlay: this.$overlay\n\t\t\t}\n\t\t);\n\t}\n};\n\nFilterTagMultiselectWidget.prototype.emphasize = function () {\n\tif (\n\t\t// eslint-disable-next-line no-jquery/no-class-state\n\t\t!this.$handle.hasClass( 'mw-rcfilters-ui-filterTagMultiselectWidget-animate' )\n\t) {\n\t\tthis.$handle\n\t\t\t.addClass( 'mw-rcfilters-ui-filterTagMultiselectWidget-emphasize' )\n\t\t\t.addClass( 'mw-rcfilters-ui-filterTagMultiselectWidget-animate' );\n\n\t\tsetTimeout( () => {\n\t\t\tthis.$handle\n\t\t\t\t.removeClass( 'mw-rcfilters-ui-filterTagMultiselectWidget-emphasize' );\n\n\t\t\tsetTimeout( () => {\n\t\t\t\tthis.$handle\n\t\t\t\t\t.removeClass( 'mw-rcfilters-ui-filterTagMultiselectWidget-animate' );\n\t\t\t}, 1000 );\n\t\t}, 500 );\n\n\t}\n};\n/**\n * Scroll the element to top within its container\n *\n * @private\n * @param {jQuery} $element Element to position\n * @param {number} [marginFromTop=0] When scrolling the entire widget to the top, leave this\n * much space (in pixels) above the widget.\n * @param {Object} [threshold] Minimum distance from the top of the element to scroll at all\n * @param {number} [threshold.min] Minimum distance above the element\n * @param {number} [threshold.max] Minimum distance below the element\n */\nFilterTagMultiselectWidget.prototype.scrollToTop = function ( $element, marginFromTop, threshold ) {\n\tconst container = OO.ui.Element.static.getClosestScrollableContainer( $element[ 0 ], 'y' ),\n\t\tpos = OO.ui.Element.static.getRelativePosition( $element, $( container ) ),\n\t\tcontainerScrollTop = $( container ).scrollTop(),\n\t\teffectiveScrollTop = $( container ).is( 'body, html' ) ? 0 : containerScrollTop,\n\t\tnewScrollTop = effectiveScrollTop + pos.top - ( marginFromTop || 0 );\n\n\t// Scroll to item\n\tif (\n\t\tthreshold === undefined ||\n\t\t(\n\t\t\t(\n\t\t\t\tthreshold.min === undefined ||\n\t\t\t\tnewScrollTop - containerScrollTop >= threshold.min\n\t\t\t) &&\n\t\t\t(\n\t\t\t\tthreshold.max === undefined ||\n\t\t\t\tnewScrollTop - containerScrollTop <= threshold.max\n\t\t\t)\n\t\t)\n\t) {\n\t\t$( container ).animate( {\n\t\t\tscrollTop: newScrollTop\n\t\t} );\n\t}\n};\n\nmodule.exports = FilterTagMultiselectWidget;\n","usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.rcfilters/ui/FilterWrapperWidget.js","messages":[{"ruleId":"mediawiki/no-unlabeled-buttonwidget","severity":1,"message":"OOUI button has no label. Even icon-only buttons should set a label with invisibleLabel set to true.","line":69,"column":28,"nodeType":"NewExpression","messageId":"noLabel","endLine":74,"endColumn":5}],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"const FilterTagMultiselectWidget = require( './FilterTagMultiselectWidget.js' ),\n\tLiveUpdateButtonWidget = require( './LiveUpdateButtonWidget.js' ),\n\tChangesLimitAndDateButtonWidget = require( './ChangesLimitAndDateButtonWidget.js' );\n\n/**\n * List displaying all filter groups.\n *\n * @class mw.rcfilters.ui.FilterWrapperWidget\n * @ignore\n * @extends OO.ui.Widget\n * @mixes OO.ui.mixin.PendingElement\n *\n * @param {mw.rcfilters.Controller} controller Controller\n * @param {mw.rcfilters.dm.FiltersViewModel} model View model\n * @param {mw.rcfilters.dm.SavedQueriesModel} savedQueriesModel Saved queries model\n * @param {mw.rcfilters.dm.ChangesListViewModel} changesListModel\n * @param {Object} [config] Configuration object\n * @param {Object} [config.filters] A definition of the filter groups in this list\n * @param {jQuery} [config.$overlay] A jQuery object serving as overlay for popups\n * @param {jQuery} [config.$wrapper] A jQuery object for the wrapper of the general\n * system. If not given, falls back to this widget's $element\n * @param {boolean} [config.collapsed] Filter area is collapsed\n * @param {string} [config.specialPage] Title of the special page on which this widget is getting created\n */\nconst FilterWrapperWidget = function MwRcfiltersUiFilterWrapperWidget(\n\tcontroller, model, savedQueriesModel, changesListModel, config\n) {\n\tconfig = config || {};\n\n\t// Parent\n\tFilterWrapperWidget.super.call( this, config );\n\t// Mixin constructors\n\tOO.ui.mixin.PendingElement.call( this, config );\n\n\tthis.controller = controller;\n\tthis.model = model;\n\tthis.queriesModel = savedQueriesModel;\n\tthis.changesListModel = changesListModel;\n\tthis.$overlay = config.$overlay || this.$element;\n\tthis.$wrapper = config.$wrapper || this.$element;\n\n\tthis.filterTagWidget = new FilterTagMultiselectWidget(\n\t\tthis.controller,\n\t\tthis.model,\n\t\tthis.queriesModel,\n\t\t{\n\t\t\t$overlay: this.$overlay,\n\t\t\tcollapsed: config.collapsed,\n\t\t\t$wrapper: this.$wrapper,\n\t\t\tisMobile: OO.ui.isMobile(),\n\t\t\tspecialPage: config.specialPage\n\t\t}\n\t);\n\n\tthis.liveUpdateButton = new LiveUpdateButtonWidget(\n\t\tthis.controller,\n\t\tthis.changesListModel\n\t);\n\n\tthis.numChangesAndDateWidget = new ChangesLimitAndDateButtonWidget(\n\t\tthis.controller,\n\t\tthis.model,\n\t\t{\n\t\t\tclasses: [ 'mw-rcfilters-ui-filterWrapperWidget-numChangesAndDateWidget' ],\n\t\t\t$overlay: this.$overlay\n\t\t}\n\t);\n\n\tthis.showNewChangesLink = new OO.ui.ButtonWidget( {\n\t\ticon: 'reload',\n\t\tframed: false,\n\t\tflags: [ 'progressive' ],\n\t\tclasses: [ 'mw-rcfilters-ui-filterWrapperWidget-showNewChanges' ]\n\t} );\n\n\t// Events\n\tthis.filterTagWidget.menu.connect( this, { toggle: [ 'emit', 'menuToggle' ] } );\n\tthis.changesListModel.connect( this, { newChangesExist: 'onNewChangesExist' } );\n\tthis.showNewChangesLink.connect( this, { click: 'onShowNewChangesClick' } );\n\tthis.showNewChangesLink.toggle( false );\n\n\t// Initialize\n\tthis.$top = $( '<div>' )\n\t\t.addClass( 'mw-rcfilters-ui-filterWrapperWidget-top' );\n\n\tconst $bottom = $( '<div>' )\n\t\t.addClass( 'mw-rcfilters-ui-filterWrapperWidget-bottom' )\n\t\t.addClass( OO.ui.isMobile() ? 'mw-rcfilters-ui-filterWrapperWidget-bottom-mobile' : '' )\n\t\t.append(\n\t\t\tthis.showNewChangesLink.$element,\n\t\t\tthis.numChangesAndDateWidget.$element\n\t\t);\n\n\tif ( this.controller.pollingRate ) {\n\t\t$bottom.prepend( this.liveUpdateButton.$element );\n\t}\n\n\tthis.$element\n\t\t.addClass( 'mw-rcfilters-ui-filterWrapperWidget' )\n\t\t.append(\n\t\t\tthis.$top,\n\t\t\tthis.filterTagWidget.$element,\n\t\t\t$bottom\n\t\t);\n};\n\n/* Initialization */\n\nOO.inheritClass( FilterWrapperWidget, OO.ui.Widget );\nOO.mixinClass( FilterWrapperWidget, OO.ui.mixin.PendingElement );\n\n/* Methods */\n\n/**\n * Set the content of the top section\n *\n * @param {jQuery} $topSectionElement\n */\nFilterWrapperWidget.prototype.setTopSection = function ( $topSectionElement ) {\n\tthis.$top.append( $topSectionElement );\n};\n\n/**\n * Respond to the user clicking the 'show new changes' button\n */\nFilterWrapperWidget.prototype.onShowNewChangesClick = function () {\n\tthis.controller.showNewChanges();\n};\n\n/**\n * Respond to changes list model newChangesExist\n *\n * @param {boolean} newChangesExist Whether new changes exist\n */\nFilterWrapperWidget.prototype.onNewChangesExist = function ( newChangesExist ) {\n\tif ( newChangesExist ) {\n\t\tthis.showNewChangesLink.setLabel(\n\t\t\tmw.msg(\n\t\t\t\t'rcfilters-show-new-changes',\n\t\t\t\tthis.changesListModel.getNextFromFormatted()\n\t\t\t)\n\t\t);\n\t}\n\tthis.showNewChangesLink.toggle( newChangesExist );\n};\n\nmodule.exports = FilterWrapperWidget;\n","usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.rcfilters/ui/FormWrapperWidget.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.rcfilters/ui/HighlightColorPickerWidget.js","messages":[{"ruleId":"mediawiki/no-unlabeled-buttonwidget","severity":1,"message":"OOUI button has no label. Even icon-only buttons should set a label with invisibleLabel set to true.","line":36,"column":17,"nodeType":"NewExpression","messageId":"noLabel","endLine":44,"endColumn":7}],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"const HighlightColors = require( '../HighlightColors.js' );\n\n/**\n * A widget representing a filter item highlight color picker.\n *\n * @class mw.rcfilters.ui.HighlightColorPickerWidget\n * @ignore\n * @extends OO.ui.Widget\n * @mixes OO.ui.mixin.LabelElement\n *\n * @param {mw.rcfilters.Controller} controller RCFilters controller\n * @param {Object} [config] Configuration object\n */\nconst HighlightColorPickerWidget = function MwRcfiltersUiHighlightColorPickerWidget( controller, config ) {\n\tconst colors = [ 'none' ].concat( HighlightColors );\n\tconfig = config || {};\n\n\t// Parent\n\tHighlightColorPickerWidget.super.call( this, config );\n\t// Mixin constructors\n\tOO.ui.mixin.LabelElement.call( this, Object.assign( {}, config, {\n\t\tlabel: mw.msg( 'rcfilters-highlightmenu-title' )\n\t} ) );\n\n\tthis.controller = controller;\n\n\tthis.currentSelection = 'none';\n\tthis.buttonSelect = new OO.ui.ButtonSelectWidget( {\n\t\titems: colors.map(\n\t\t\t// The following classes are used here:\n\t\t\t// * mw-rcfilters-ui-highlightColorPickerWidget-buttonSelect-color-c1\n\t\t\t// * mw-rcfilters-ui-highlightColorPickerWidget-buttonSelect-color-c2\n\t\t\t// * mw-rcfilters-ui-highlightColorPickerWidget-buttonSelect-color-c3\n\t\t\t// * mw-rcfilters-ui-highlightColorPickerWidget-buttonSelect-color-c4\n\t\t\t// * mw-rcfilters-ui-highlightColorPickerWidget-buttonSelect-color-c5\n\t\t\t( color ) => new OO.ui.ButtonOptionWidget( {\n\t\t\t\ticon: color === 'none' ? 'check' : null,\n\t\t\t\tdata: color,\n\t\t\t\tclasses: [\n\t\t\t\t\t'mw-rcfilters-ui-highlightColorPickerWidget-buttonSelect-color',\n\t\t\t\t\t'mw-rcfilters-ui-highlightColorPickerWidget-buttonSelect-color-' + color\n\t\t\t\t],\n\t\t\t\tframed: false\n\t\t\t} )\n\t\t),\n\t\tclasses: [ 'mw-rcfilters-ui-highlightColorPickerWidget-buttonSelect' ]\n\t} );\n\n\t// Event\n\tthis.buttonSelect.connect( this, { choose: 'onChooseColor' } );\n\n\tthis.$element\n\t\t.addClass( 'mw-rcfilters-ui-highlightColorPickerWidget' )\n\t\t.append(\n\t\t\tthis.$label\n\t\t\t\t.addClass( 'mw-rcfilters-ui-highlightColorPickerWidget-label' ),\n\t\t\tthis.buttonSelect.$element\n\t\t);\n};\n\n/* Initialization */\n\nOO.inheritClass( HighlightColorPickerWidget, OO.ui.Widget );\nOO.mixinClass( HighlightColorPickerWidget, OO.ui.mixin.LabelElement );\n\n/* Events */\n\n/**\n * A color has been chosen\n *\n * @event chooseColor\n * @param {string} The chosen color\n * @ignore\n */\n\n/* Methods */\n\n/**\n * Bind the color picker to an item\n *\n * @param {mw.rcfilters.dm.FilterItem} filterItem\n */\nHighlightColorPickerWidget.prototype.setFilterItem = function ( filterItem ) {\n\tif ( this.filterItem ) {\n\t\tthis.filterItem.disconnect( this );\n\t}\n\n\tthis.filterItem = filterItem;\n\tthis.filterItem.connect( this, { update: 'updateUiBasedOnModel' } );\n\tthis.updateUiBasedOnModel();\n};\n\n/**\n * Respond to item model update event\n */\nHighlightColorPickerWidget.prototype.updateUiBasedOnModel = function () {\n\tthis.selectColor( this.filterItem.getHighlightColor() || 'none' );\n};\n\n/**\n * Select the color for this widget\n *\n * @param {string} color Selected color\n */\nHighlightColorPickerWidget.prototype.selectColor = function ( color ) {\n\tconst previousItem = this.buttonSelect.findItemFromData( this.currentSelection ),\n\t\tselectedItem = this.buttonSelect.findItemFromData( color );\n\n\tif ( this.currentSelection !== color ) {\n\t\tthis.currentSelection = color;\n\n\t\tthis.buttonSelect.selectItem( selectedItem );\n\t\tif ( previousItem ) {\n\t\t\tpreviousItem.setIcon( null );\n\t\t}\n\n\t\tif ( selectedItem ) {\n\t\t\tselectedItem.setIcon( 'check' );\n\t\t}\n\t}\n};\n\nHighlightColorPickerWidget.prototype.onChooseColor = function ( button ) {\n\tconst color = button.data;\n\tif ( color === 'none' ) {\n\t\tthis.controller.clearHighlightColor( this.filterItem.getName() );\n\t} else {\n\t\tthis.controller.setHighlightColor( this.filterItem.getName(), color );\n\t}\n\tthis.emit( 'chooseColor', color );\n};\n\nmodule.exports = HighlightColorPickerWidget;\n","usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.rcfilters/ui/HighlightPopupWidget.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.rcfilters/ui/ItemMenuOptionWidget.js","messages":[{"ruleId":"mediawiki/no-unlabeled-buttonwidget","severity":1,"message":"OOUI button has no label. Even icon-only buttons should set a label with invisibleLabel set to true.","line":59,"column":19,"nodeType":"NewExpression","messageId":"noLabel","endLine":65,"endColumn":6}],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"const FilterItemHighlightButton = require( './FilterItemHighlightButton.js' ),\n\tCheckboxInputWidget = require( './CheckboxInputWidget.js' );\n\n/**\n * A widget representing a base toggle item.\n *\n * @class mw.rcfilters.ui.ItemMenuOptionWidget\n * @ignore\n * @extends OO.ui.MenuOptionWidget\n *\n * @param {mw.rcfilters.Controller} controller RCFilters controller\n * @param {mw.rcfilters.dm.FiltersViewModel} filtersViewModel\n * @param {mw.rcfilters.dm.ItemModel|null} invertModel\n * @param {mw.rcfilters.dm.ItemModel} itemModel Item model\n * @param {mw.rcfilters.ui.HighlightPopupWidget} highlightPopup Shared highlight color picker\n * @param {Object} config Configuration object\n */\nconst ItemMenuOptionWidget = function MwRcfiltersUiItemMenuOptionWidget(\n\tcontroller, filtersViewModel, invertModel, itemModel, highlightPopup, config\n) {\n\tconst $label = $( '<div>' )\n\t\t.addClass( 'mw-rcfilters-ui-itemMenuOptionWidget-label' );\n\n\tconfig = config || {};\n\n\tthis.controller = controller;\n\tthis.filtersViewModel = filtersViewModel;\n\tthis.invertModel = invertModel;\n\tthis.itemModel = itemModel;\n\n\t// Parent\n\tItemMenuOptionWidget.super.call( this, Object.assign( {\n\t\t// Override the 'check' icon that OOUI defines\n\t\ticon: '',\n\t\tdata: this.itemModel.getName(),\n\t\tlabel: this.itemModel.getLabel()\n\t}, config ) );\n\n\tthis.checkboxWidget = new CheckboxInputWidget( {\n\t\tvalue: this.itemModel.getName(),\n\t\tselected: this.itemModel.isSelected()\n\t} );\n\n\t$label.append(\n\t\t$( '<div>' )\n\t\t\t.addClass( 'mw-rcfilters-ui-itemMenuOptionWidget-label-title' )\n\t\t\t.append( $( '<bdi>' ).append( this.$label ) )\n\t);\n\tif ( this.itemModel.getDescription() ) {\n\t\t$label.append(\n\t\t\t$( '<div>' )\n\t\t\t\t.addClass( 'mw-rcfilters-ui-itemMenuOptionWidget-label-desc' )\n\t\t\t\t.append( $( '<bdi>' ).text( this.itemModel.getDescription() ) )\n\t\t);\n\t}\n\n\tthis.helpLink = null;\n\tif ( this.itemModel.getHelpLink() ) {\n\t\tthis.helpLink = new OO.ui.ButtonWidget( {\n\t\t\ticon: 'helpNotice',\n\t\t\tframed: false,\n\t\t\ttitle: mw.msg( 'rcfilters-tag-help', this.itemModel.getLabel() ),\n\t\t\thref: this.itemModel.getHelpLink(),\n\t\t\ttarget: '_blank'\n\t\t} );\n\t\t// Prevent clicks on the help link from toggling the option\n\t\tthis.helpLink.$button.on( 'mousedown', ( e ) => {\n\t\t\te.preventDefault();\n\t\t\te.stopImmediatePropagation();\n\t\t} );\n\t}\n\n\tthis.highlightButton = new FilterItemHighlightButton(\n\t\tthis.controller,\n\t\tthis.itemModel,\n\t\thighlightPopup,\n\t\t{\n\t\t\t$overlay: config.$overlay || this.$element,\n\t\t\ttitle: mw.msg( 'rcfilters-highlightmenu-help' )\n\t\t}\n\t);\n\tthis.highlightButton.toggle( this.filtersViewModel.isHighlightEnabled() );\n\n\tthis.excludeLabel = new OO.ui.LabelWidget( {\n\t\tlabel: mw.msg( 'rcfilters-filter-excluded' )\n\t} );\n\tthis.excludeLabel.toggle(\n\t\tthis.invertModel &&\n\t\tthis.invertModel.isSelected() &&\n\t\tthis.itemModel.isSelected()\n\t);\n\n\tconst layout = new OO.ui.FieldLayout( this.checkboxWidget, {\n\t\tlabel: $label,\n\t\talign: 'inline'\n\t} );\n\n\t// Events\n\tthis.filtersViewModel.connect( this, { highlightChange: 'updateUiBasedOnState' } );\n\tif ( this.invertModel ) {\n\t\tthis.invertModel.connect( this, { update: 'updateUiBasedOnState' } );\n\t}\n\tthis.itemModel.connect( this, { update: 'updateUiBasedOnState' } );\n\t// HACK: Prevent defaults on 'click' for the label so it\n\t// doesn't steal the focus away from the input. This means\n\t// we can continue arrow-movement after we click the label\n\t// and is consistent with the checkbox *itself* also preventing\n\t// defaults on 'click' as well.\n\tlayout.$label.on( 'click', false );\n\n\tconst $widgetRow = $( '<div>' )\n\t\t.addClass( 'mw-rcfilters-ui-table' )\n\t\t.append(\n\t\t\t$( '<div>' )\n\t\t\t\t.addClass( 'mw-rcfilters-ui-row' )\n\t\t\t\t.append(\n\t\t\t\t\t$( '<div>' )\n\t\t\t\t\t\t.addClass( 'mw-rcfilters-ui-cell mw-rcfilters-ui-itemMenuOptionWidget-itemCheckbox' )\n\t\t\t\t\t\t.append( layout.$element )\n\t\t\t\t)\n\t\t);\n\n\tif ( this.helpLink ) {\n\t\t$widgetRow.find( '.mw-rcfilters-ui-row' ).append(\n\t\t\t$( '<div>' )\n\t\t\t\t.addClass( 'mw-rcfilters-ui-cell mw-rcfilters-ui-itemMenuOptionWidget-helpLink' )\n\t\t\t\t.append( this.helpLink.$element )\n\t\t);\n\t}\n\tif ( !OO.ui.isMobile() ) {\n\t\t$widgetRow.find( '.mw-rcfilters-ui-row' ).append(\n\t\t\t$( '<div>' )\n\t\t\t\t.addClass( 'mw-rcfilters-ui-cell mw-rcfilters-ui-itemMenuOptionWidget-excludeLabel' )\n\t\t\t\t.append( this.excludeLabel.$element ),\n\t\t\t$( '<div>' )\n\t\t\t\t.addClass( 'mw-rcfilters-ui-cell mw-rcfilters-ui-itemMenuOptionWidget-highlightButton' )\n\t\t\t\t.append( this.highlightButton.$element )\n\t\t);\n\t}\n\n\tconst classes = this.itemModel.getIdentifiers().map( ( ident ) => 'mw-rcfilters-ui-itemMenuOptionWidget-identifier-' + ident ).concat(\n\t\t'mw-rcfilters-ui-itemMenuOptionWidget',\n\t\t'mw-rcfilters-ui-itemMenuOptionWidget-view-' + this.itemModel.getGroupModel().getView()\n\t);\n\n\t// The following classes are used here:\n\t// * mw-rcfilters-ui-itemMenuOptionWidget-identifier-subject\n\t// * mw-rcfilters-ui-itemMenuOptionWidget-identifier-talk\n\t// * mw-rcfilters-ui-itemMenuOptionWidget\n\t// * mw-rcfilters-ui-itemMenuOptionWidget-view-default\n\t// * mw-rcfilters-ui-itemMenuOptionWidget-view-namespaces\n\t// * mw-rcfilters-ui-itemMenuOptionWidget-view-tags\n\tthis.$element\n\t\t.addClass( classes )\n\t\t.append( $widgetRow );\n\n\tthis.updateUiBasedOnState();\n};\n\n/* Initialization */\n\nOO.inheritClass( ItemMenuOptionWidget, OO.ui.MenuOptionWidget );\n\n/* Static properties */\n\n// We do our own scrolling to top\nItemMenuOptionWidget.static.scrollIntoViewOnSelect = false;\n\n/* Methods */\n\n/**\n * Respond to item model update event\n */\nItemMenuOptionWidget.prototype.updateUiBasedOnState = function () {\n\tthis.checkboxWidget.setSelected( this.itemModel.isSelected() );\n\n\tthis.highlightButton.toggle( this.filtersViewModel.isHighlightEnabled() );\n\tthis.excludeLabel.toggle(\n\t\tthis.invertModel &&\n\t\tthis.invertModel.isSelected() &&\n\t\tthis.itemModel.isSelected()\n\t);\n\tthis.toggle( this.itemModel.isVisible() );\n};\n\n/**\n * Get the name of this filter\n *\n * @return {string} Filter name\n */\nItemMenuOptionWidget.prototype.getName = function () {\n\treturn this.itemModel.getName();\n};\n\nItemMenuOptionWidget.prototype.getModel = function () {\n\treturn this.itemModel;\n};\n\nmodule.exports = ItemMenuOptionWidget;\n","usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.rcfilters/ui/LiveUpdateButtonWidget.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.rcfilters/ui/MainWrapperWidget.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.rcfilters/ui/MarkSeenButtonWidget.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.rcfilters/ui/MenuSelectWidget.js","messages":[],"suppressedMessages":[{"ruleId":"no-jquery/no-each-util","severity":2,"message":"Prefer Array#forEach to $.each","line":164,"column":2,"nodeType":"CallExpression","endLine":169,"endColumn":5,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-each-util","severity":2,"message":"Prefer Array#forEach to $.each","line":172,"column":2,"nodeType":"CallExpression","endLine":214,"endColumn":5,"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.rcfilters/ui/RcTopSectionWidget.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.rcfilters/ui/RclTargetPageWidget.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.rcfilters/ui/RclToOrFromWidget.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.rcfilters/ui/RclTopSectionWidget.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.rcfilters/ui/SaveFiltersPopupButtonWidget.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.rcfilters/ui/SavedLinksListItemWidget.js","messages":[{"ruleId":"mediawiki/no-unlabeled-buttonwidget","severity":1,"message":"OOUI button has no label. Even icon-only buttons should set a label with invisibleLabel set to true.","line":27,"column":20,"nodeType":"NewExpression","messageId":"noLabel","endLine":54,"endColumn":5},{"ruleId":"mediawiki/no-unlabeled-buttonwidget","severity":1,"message":"OOUI button has no label. Even icon-only buttons should set a label with invisibleLabel set to true.","line":59,"column":20,"nodeType":"NewExpression","messageId":"noLabel","endLine":62,"endColumn":5}],"suppressedMessages":[{"ruleId":"mediawiki/class-doc","severity":1,"message":"All possible CSS classes should be documented. See https://w.wiki/PS2 for details.","line":90,"column":2,"nodeType":"CallExpression","endLine":92,"endColumn":86,"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":2,"fixableErrorCount":0,"fixableWarningCount":0,"source":"/**\n * Quick links menu option widget.\n *\n * @class mw.rcfilters.ui.SavedLinksListItemWidget\n * @ignore\n * @extends OO.ui.Widget\n *\n * @param {mw.rcfilters.dm.SavedQueryItemModel} model View model\n * @param {Object} [config] Configuration object\n * @param {jQuery} [config.$overlay] A jQuery object serving as overlay for popups\n */\nconst SavedLinksListItemWidget = function MwRcfiltersUiSavedLinksListWidget( model, config ) {\n\tconfig = config || {};\n\n\tthis.model = model;\n\n\t// Parent\n\tSavedLinksListItemWidget.super.call( this, Object.assign( {\n\t\tdata: this.model.getID(),\n\t\tlabel: this.model.getLabel(),\n\t\ttitle: this.model.getLabel()\n\t}, config ) );\n\n\tthis.edit = false;\n\tthis.$overlay = config.$overlay || this.$element;\n\n\tthis.buttonMenu = new OO.ui.ButtonMenuSelectWidget( {\n\t\tclasses: [ 'mw-rcfilters-ui-savedLinksListItemWidget-button' ],\n\t\ticon: 'ellipsis',\n\t\tframed: false,\n\t\tmenu: {\n\t\t\tclasses: [ 'mw-rcfilters-ui-savedLinksListItemWidget-menu' ],\n\t\t\twidth: 200,\n\t\t\thorizontalPosition: 'end',\n\t\t\t$overlay: this.$overlay,\n\t\t\titems: [\n\t\t\t\tnew OO.ui.MenuOptionWidget( {\n\t\t\t\t\tdata: 'edit',\n\t\t\t\t\ticon: 'edit',\n\t\t\t\t\tlabel: mw.msg( 'rcfilters-savedqueries-rename' )\n\t\t\t\t} ),\n\t\t\t\tnew OO.ui.MenuOptionWidget( {\n\t\t\t\t\tdata: 'delete',\n\t\t\t\t\ticon: 'trash',\n\t\t\t\t\tlabel: mw.msg( 'rcfilters-savedqueries-remove' )\n\t\t\t\t} ),\n\t\t\t\tnew OO.ui.MenuOptionWidget( {\n\t\t\t\t\tdata: 'default',\n\t\t\t\t\ticon: 'pushPin',\n\t\t\t\t\tlabel: mw.msg( 'rcfilters-savedqueries-setdefault' )\n\t\t\t\t} )\n\t\t\t]\n\t\t}\n\t} );\n\n\tthis.editInput = new OO.ui.TextInputWidget( {\n\t\tclasses: [ 'mw-rcfilters-ui-savedLinksListItemWidget-input' ]\n\t} );\n\tthis.saveButton = new OO.ui.ButtonWidget( {\n\t\ticon: 'check',\n\t\tflags: [ 'primary', 'progressive' ]\n\t} );\n\tthis.toggleEdit( false );\n\n\t// Events\n\tthis.model.connect( this, { update: 'onModelUpdate' } );\n\tthis.buttonMenu.menu.connect( this, {\n\t\tchoose: 'onMenuChoose'\n\t} );\n\tthis.saveButton.connect( this, { click: 'save' } );\n\tthis.editInput.connect( this, {\n\t\tchange: 'onInputChange',\n\t\tenter: 'save'\n\t} );\n\tthis.editInput.$input.on( {\n\t\tblur: this.onInputBlur.bind( this ),\n\t\tkeyup: this.onInputKeyup.bind( this )\n\t} );\n\tthis.$element.on( { mousedown: this.onMouseDown.bind( this ) } );\n\tthis.$icon.on( { click: this.onDefaultIconClick.bind( this ) } );\n\n\t// Prevent clicks on interactive elements from closing the parent menu\n\tthis.buttonMenu.$element.add( this.$icon ).on( 'mousedown', ( e ) => {\n\t\te.stopPropagation();\n\t} );\n\n\t// Initialize\n\tthis.toggleDefault( !!this.model.isDefault() );\n\t// eslint-disable-next-line mediawiki/class-doc\n\tthis.$element\n\t\t.addClass( 'mw-rcfilters-ui-savedLinksListItemWidget' )\n\t\t.addClass( 'mw-rcfilters-ui-savedLinksListItemWidget-query-' + this.model.getID() )\n\t\t.append(\n\t\t\t$( '<div>' )\n\t\t\t\t.addClass( 'mw-rcfilters-ui-table' )\n\t\t\t\t.append(\n\t\t\t\t\t$( '<div>' )\n\t\t\t\t\t\t.addClass( 'mw-rcfilters-ui-row' )\n\t\t\t\t\t\t.append(\n\t\t\t\t\t\t\t$( '<div>' )\n\t\t\t\t\t\t\t\t.addClass( 'mw-rcfilters-ui-cell' )\n\t\t\t\t\t\t\t\t.addClass( 'mw-rcfilters-ui-savedLinksListItemWidget-content' )\n\t\t\t\t\t\t\t\t.append(\n\t\t\t\t\t\t\t\t\tthis.$label\n\t\t\t\t\t\t\t\t\t\t.addClass( 'mw-rcfilters-ui-savedLinksListItemWidget-label' ),\n\t\t\t\t\t\t\t\t\tthis.editInput.$element,\n\t\t\t\t\t\t\t\t\tthis.saveButton.$element\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t$( '<div>' )\n\t\t\t\t\t\t\t\t.addClass( 'mw-rcfilters-ui-cell' )\n\t\t\t\t\t\t\t\t.addClass( 'mw-rcfilters-ui-savedLinksListItemWidget-icon' )\n\t\t\t\t\t\t\t\t.append( this.$icon ),\n\t\t\t\t\t\t\tthis.buttonMenu.$element\n\t\t\t\t\t\t\t\t.addClass( 'mw-rcfilters-ui-cell' )\n\t\t\t\t\t\t)\n\t\t\t\t)\n\t\t);\n};\n\n/* Initialization */\nOO.inheritClass( SavedLinksListItemWidget, OO.ui.MenuOptionWidget );\n\n/* Events */\n\n/**\n * The delete option was selected for this item.\n *\n * @event delete\n * @ignore\n */\n\n/**\n * The 'make default' option was selected for this item.\n *\n * @event default\n * @param {boolean} default Item is default\n * @ignore\n */\n\n/**\n * The label has been edited.\n *\n * @event edit\n * @param {string} newLabel New label for the query\n * @ignore\n */\n\n/* Methods */\n\n/**\n * Respond to model update event\n */\nSavedLinksListItemWidget.prototype.onModelUpdate = function () {\n\tthis.setLabel( this.model.getLabel() );\n\tthis.toggleDefault( this.model.isDefault() );\n};\n\n/**\n * Handle mousedown events\n *\n * @param {jQuery.Event} e\n */\nSavedLinksListItemWidget.prototype.onMouseDown = function ( e ) {\n\tif ( this.editing ) {\n\t\te.stopPropagation();\n\t}\n};\n\n/**\n * Respond to click on the 'default' icon. Open the submenu where the\n * default state can be changed.\n *\n * @return {boolean} false\n */\nSavedLinksListItemWidget.prototype.onDefaultIconClick = function () {\n\tthis.buttonMenu.menu.toggle();\n\treturn false;\n};\n\n/**\n * Respond to menu choose event\n *\n * @param {OO.ui.MenuOptionWidget} item Chosen item\n * @fires delete\n * @fires default\n */\nSavedLinksListItemWidget.prototype.onMenuChoose = function ( item ) {\n\tconst action = item.getData();\n\n\tif ( action === 'edit' ) {\n\t\tthis.toggleEdit( true );\n\t} else if ( action === 'delete' ) {\n\t\tthis.emit( 'delete' );\n\t} else if ( action === 'default' ) {\n\t\tthis.emit( 'default', !this.default );\n\t}\n};\n\n/**\n * Respond to input keyup event, this is the way to intercept 'escape' key\n *\n * @param {jQuery.Event} e Event data\n * @return {boolean|undefined} false\n */\nSavedLinksListItemWidget.prototype.onInputKeyup = function ( e ) {\n\tif ( e.which === OO.ui.Keys.ESCAPE ) {\n\t\t// Return the input to the original label\n\t\tthis.editInput.setValue( this.getLabel() );\n\t\tthis.toggleEdit( false );\n\t\treturn false;\n\t}\n};\n\n/**\n * Respond to blur event on the input\n */\nSavedLinksListItemWidget.prototype.onInputBlur = function () {\n\tthis.save();\n\n\t// Whether the save succeeded or not, the input-blur event\n\t// means we need to cancel editing mode\n\tthis.toggleEdit( false );\n};\n\n/**\n * Respond to input change event\n *\n * @param {string} value Input value\n */\nSavedLinksListItemWidget.prototype.onInputChange = function ( value ) {\n\tvalue = value.trim();\n\n\tthis.saveButton.setDisabled( !value );\n};\n\n/**\n * Save the name of the query\n *\n * @fires edit\n */\nSavedLinksListItemWidget.prototype.save = function () {\n\tconst value = this.editInput.getValue().trim();\n\n\tif ( value ) {\n\t\tthis.emit( 'edit', value );\n\t\tthis.toggleEdit( false );\n\t}\n};\n\n/**\n * Toggle edit mode on this widget\n *\n * @param {boolean} isEdit Widget is in edit mode\n */\nSavedLinksListItemWidget.prototype.toggleEdit = function ( isEdit ) {\n\tisEdit = isEdit === undefined ? !this.editing : isEdit;\n\n\tif ( this.editing !== isEdit ) {\n\t\tthis.$element.toggleClass( 'mw-rcfilters-ui-savedLinksListItemWidget-edit', isEdit );\n\t\tthis.editInput.setValue( this.getLabel() );\n\n\t\tthis.editInput.toggle( isEdit );\n\t\tthis.$label.toggleClass( 'oo-ui-element-hidden', isEdit );\n\t\tthis.$icon.toggleClass( 'oo-ui-element-hidden', isEdit );\n\t\tthis.buttonMenu.toggle( !isEdit );\n\t\tthis.saveButton.toggle( isEdit );\n\n\t\tif ( isEdit ) {\n\t\t\tthis.editInput.focus();\n\t\t}\n\t\tthis.editing = isEdit;\n\t}\n};\n\n/**\n * Toggle default this widget\n *\n * @param {boolean} isDefault This item is default\n */\nSavedLinksListItemWidget.prototype.toggleDefault = function ( isDefault ) {\n\tisDefault = isDefault === undefined ? !this.default : isDefault;\n\n\tif ( this.default !== isDefault ) {\n\t\tthis.default = isDefault;\n\t\tthis.setIcon( this.default ? 'pushPin' : '' );\n\t\tthis.buttonMenu.menu.findItemFromData( 'default' ).setLabel(\n\t\t\tthis.default ?\n\t\t\t\tmw.msg( 'rcfilters-savedqueries-unsetdefault' ) :\n\t\t\t\tmw.msg( 'rcfilters-savedqueries-setdefault' )\n\t\t);\n\t}\n};\n\n/**\n * Get item ID\n *\n * @return {string} Query identifier\n */\nSavedLinksListItemWidget.prototype.getID = function () {\n\treturn this.model.getID();\n};\n\nmodule.exports = SavedLinksListItemWidget;\n","usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.rcfilters/ui/SavedLinksListWidget.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.rcfilters/ui/TagItemWidget.js","messages":[],"suppressedMessages":[{"ruleId":"mediawiki/msg-doc","severity":1,"message":"All possible message keys should be documented. See https://w.wiki/4r9a for details.","line":94,"column":5,"nodeType":"CallExpression","endLine":94,"endColumn":72,"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.rcfilters/ui/ValuePickerWidget.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.rcfilters/ui/ViewSwitchWidget.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.rcfilters/ui/WatchlistTopSectionWidget.js","messages":[],"suppressedMessages":[{"ruleId":"mediawiki/class-doc","severity":1,"message":"All possible CSS classes should be documented. See https://w.wiki/PS2 for details.","line":56,"column":8,"nodeType":"CallExpression","endLine":61,"endColumn":10,"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.rcfilters/utils.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.router/router.js","messages":[],"suppressedMessages":[{"ruleId":"prefer-const","severity":2,"message":"'timeoutID' is never reassigned. Use 'const' instead.","line":212,"column":7,"nodeType":"Identifier","messageId":"useConst","endLine":212,"endColumn":16,"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.searchSuggest/searchSuggest.js","messages":[{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'ResponseMetaData' is undefined.","line":36,"column":1,"nodeType":"Block","endLine":36,"endColumn":1},{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'ResponseFunction' is undefined.","line":43,"column":1,"nodeType":"Block","endLine":43,"endColumn":1}],"suppressedMessages":[{"ruleId":"no-jquery/no-map-util","severity":2,"message":"Prefer Array#map to $.map","line":6,"column":19,"nodeType":"CallExpression","endLine":11,"endColumn":5,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-class-state","severity":2,"message":"Where possible, maintain application state in JS to avoid slower DOM queries","line":258,"column":9,"nodeType":"CallExpression","endLine":258,"endColumn":57,"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":2,"fixableErrorCount":0,"fixableWarningCount":0,"source":"/*!\n * Add search suggestions to the search form.\n */\n( function () {\n\t// eslint-disable-next-line no-jquery/no-map-util\n\tconst searchNS = $.map( mw.config.get( 'wgFormattedNamespaces' ), ( nsName, nsID ) => {\n\t\tif ( nsID >= 0 && mw.user.options.get( 'searchNs' + nsID ) ) {\n\t\t// Cast string key to number\n\t\t\treturn Number( nsID );\n\t\t}\n\t} );\n\n\t/**\n\t * Convenience library for making searches for titles that match a string.\n\t * Loaded via the `mediawiki.searchSuggest` ResourceLoader library.\n\t *\n\t * @example\n\t * mw.loader.using('mediawiki.searchSuggest').then(() => {\n\t * var api = new mw.Api();\n\t * mw.searchSuggest.request(api, 'Dogs that', ( results ) => {\n\t * alert( `Results that match: ${results.join( '\\n' );}` );\n\t * });\n\t * });\n\t * @namespace mw.searchSuggest\n\t */\n\tmw.searchSuggest = {\n\t\t/**\n\t\t * @typedef {Object} mw.searchSuggest~ResponseMetaData\n\t\t * @property {string} type the contents of the X-OpenSearch-Type response header.\n\t\t * @property {string} searchId the contents of the X-Search-ID response header.\n\t\t * @property {string} query\n\t\t */\n\t\t/**\n\t\t * @callback mw.searchSuggest~ResponseFunction\n\t\t * @param {string[]} titles titles of pages that match search\n\t\t * @param {ResponseMetaData} meta meta data relating to search.\n\t\t */\n\t\t/**\n\t\t * Queries the wiki and calls response with the result.\n\t\t *\n\t\t * @param {mw.Api} api\n\t\t * @param {string} query\n\t\t * @param {ResponseFunction} response\n\t\t * @param {string|number} [limit]\n\t\t * @param {string|number|string[]|number[]} [namespace]\n\t\t * @return {jQuery.Deferred}\n\t\t */\n\t\trequest: function ( api, query, response, limit, namespace ) {\n\t\t\treturn api.get( {\n\t\t\t\tformatversion: 2,\n\t\t\t\taction: 'opensearch',\n\t\t\t\tsearch: query,\n\t\t\t\tnamespace: namespace || searchNS,\n\t\t\t\tlimit\n\t\t\t} ).done( ( data, jqXHR ) => {\n\t\t\t\tresponse( data[ 1 ], {\n\t\t\t\t\ttype: jqXHR.getResponseHeader( 'X-OpenSearch-Type' ),\n\t\t\t\t\tsearchId: jqXHR.getResponseHeader( 'X-Search-ID' ),\n\t\t\t\t\tquery\n\t\t\t\t} );\n\t\t\t} );\n\t\t}\n\t};\n\n\t$( () => {\n\t\tlet api;\n\t\t// Region where the suggestions box will appear directly below\n\t\t// (using the same width). Can be a container element or the input\n\t\t// itself, depending on what suits best in the environment.\n\t\t// For Vector the suggestion box should align with the simpleSearch\n\t\t// container's borders, in other skins it should align with the input\n\t\t// element (not the search form, as that would leave the buttons\n\t\t// vertically between the input and the suggestions).\n\t\tconst $searchRegion = $( '#simpleSearch, #searchInput' ).first(),\n\t\t\t$searchInput = $( '#searchInput' );\n\t\tlet previousSearchText = $searchInput.val();\n\n\t\tfunction serializeObject( fields ) {\n\t\t\tconst obj = {};\n\n\t\t\tfor ( let i = 0; i < fields.length; i++ ) {\n\t\t\t\tobj[ fields[ i ].name ] = fields[ i ].value;\n\t\t\t}\n\n\t\t\treturn obj;\n\t\t}\n\n\t\t// Compute form data for search suggestions functionality.\n\t\tfunction getFormData( context ) {\n\t\t\tif ( !context.formData ) {\n\t\t\t\t// Compute common parameters for links' hrefs\n\t\t\t\tconst $form = context.config.$region.closest( 'form' );\n\n\t\t\t\tlet baseHref = $form.attr( 'action' ) || '';\n\t\t\t\tbaseHref += baseHref.includes( '?' ) ? '&' : '?';\n\n\t\t\t\tconst linkParams = serializeObject( $form.serializeArray() );\n\n\t\t\t\tcontext.formData = {\n\t\t\t\t\ttextParam: context.data.$textbox.attr( 'name' ),\n\t\t\t\t\tlinkParams: linkParams,\n\t\t\t\t\tbaseHref: baseHref\n\t\t\t\t};\n\t\t\t}\n\n\t\t\treturn context.formData;\n\t\t}\n\n\t\t/**\n\t\t * Callback that's run when the user changes the search input text\n\t\t * 'this' is the search input box (jQuery object)\n\t\t *\n\t\t * @ignore\n\t\t */\n\t\tfunction onBeforeUpdate() {\n\t\t\tconst searchText = this.val();\n\n\t\t\tif ( searchText && searchText !== previousSearchText ) {\n\t\t\t\tmw.track( 'mediawiki.searchSuggest', {\n\t\t\t\t\taction: 'session-start'\n\t\t\t\t} );\n\t\t\t}\n\t\t\tpreviousSearchText = searchText;\n\t\t}\n\n\t\t/**\n\t\t * Defines the location of autocomplete. Typically either\n\t\t * header, which is in the top right of vector (for example)\n\t\t * and content which identifies the main search bar on\n\t\t * Special:Search. Defaults to header for skins that don't set\n\t\t * explicitly.\n\t\t *\n\t\t * @ignore\n\t\t * @param {Object} context\n\t\t * @return {string}\n\t\t */\n\t\tfunction getInputLocation( context ) {\n\t\t\treturn context.config.$region\n\t\t\t\t.closest( 'form' )\n\t\t\t\t.find( '[data-search-loc]' )\n\t\t\t\t.data( 'search-loc' ) || 'header';\n\t\t}\n\n\t\t/**\n\t\t * Callback that's run when suggestions have been updated either from the cache or the API\n\t\t * 'this' is the search input box (jQuery object)\n\t\t *\n\t\t * @ignore\n\t\t * @param {Object} metadata\n\t\t */\n\t\tfunction onAfterUpdate( metadata ) {\n\t\t\tconst context = this.data( 'suggestionsContext' );\n\n\t\t\tmw.track( 'mediawiki.searchSuggest', {\n\t\t\t\taction: 'impression-results',\n\t\t\t\tnumberOfResults: context.config.suggestions.length,\n\t\t\t\tresultSetType: metadata.type || 'unknown',\n\t\t\t\tsearchId: metadata.searchId || null,\n\t\t\t\tquery: metadata.query,\n\t\t\t\tinputLocation: getInputLocation( context )\n\t\t\t} );\n\t\t}\n\n\t\t// The function used to render the suggestions.\n\t\tfunction renderFunction( text, context ) {\n\t\t\tconst formData = getFormData( context ),\n\t\t\t\ttextboxConfig = context.data.$textbox.data( 'mw-searchsuggest' ) || {};\n\n\t\t\t// linkParams object is modified and reused\n\t\t\tformData.linkParams[ formData.textParam ] = text;\n\n\t\t\t// Allow trackers to attach tracking information, such\n\t\t\t// as wprov, to clicked links.\n\t\t\tmw.track( 'mediawiki.searchSuggest', {\n\t\t\t\taction: 'render-one',\n\t\t\t\tformData: formData,\n\t\t\t\tindex: context.config.suggestions.indexOf( text )\n\t\t\t} );\n\n\t\t\t// this is the container <div>, jQueryfied\n\t\t\tthis.text( text );\n\n\t\t\t// wrap only as link, if the config doesn't disallow it\n\t\t\tif ( textboxConfig.wrapAsLink !== false ) {\n\t\t\t\tthis.wrap(\n\t\t\t\t\t$( '<a>' )\n\t\t\t\t\t\t.attr( 'href', formData.baseHref + $.param( formData.linkParams ) )\n\t\t\t\t\t\t.attr( 'title', text )\n\t\t\t\t\t\t.addClass( 'mw-searchSuggest-link' )\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\t// The function used when the user makes a selection\n\t\tfunction selectFunction( $input, source ) {\n\t\t\tconst context = $input.data( 'suggestionsContext' ),\n\t\t\t\ttext = $input.val(),\n\t\t\t\turl = $( this ).parent( 'a' ).attr( 'href' );\n\n\t\t\t// We want to track a click-result XOR a submit-form action.\n\t\t\t// If the source was 'click' (or otherwise non-'keyboard'),\n\t\t\t// track it and then let the rest of the event proceed as normal.\n\t\t\t// If the source was 'keyboard', and we have a URL\n\t\t\t// (from the <a> that the result was wrapped in, see renderFunction()),\n\t\t\t// then also track a click, prevent the regular form submit,\n\t\t\t// and instead directly navigate to the URL as if it had been clicked.\n\t\t\t// If the source was 'keyboard', but we have no URL,\n\t\t\t// then we have to let the regular form submit go through,\n\t\t\t// so skip the click tracking in that case to avoid duplicate tracking.\n\t\t\tif ( source === 'keyboard' && url || source !== 'keyboard' ) {\n\t\t\t\tmw.track( 'mediawiki.searchSuggest', {\n\t\t\t\t\taction: 'click-result',\n\t\t\t\t\tnumberOfResults: context.config.suggestions.length,\n\t\t\t\t\tindex: context.config.suggestions.indexOf( text )\n\t\t\t\t} );\n\n\t\t\t\tif ( source === 'keyboard' ) {\n\t\t\t\t\twindow.location.assign( url );\n\t\t\t\t\t// prevent default and stop propagation\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// allow the form to be submitted\n\t\t\treturn true;\n\t\t}\n\n\t\tfunction specialRenderFunction( query, context ) {\n\t\t\tconst $el = this,\n\t\t\t\tformData = getFormData( context );\n\n\t\t\t// linkParams object is modified and reused\n\t\t\tformData.linkParams[ formData.textParam ] = query;\n\n\t\t\tmw.track( 'mediawiki.searchSuggest', {\n\t\t\t\taction: 'render-one',\n\t\t\t\tformData: formData,\n\t\t\t\tindex: context.config.suggestions.indexOf( query )\n\t\t\t} );\n\n\t\t\tif ( mw.user.options.get( 'search-match-redirect' ) && $el.children().length === 0 ) {\n\t\t\t\t$el\n\t\t\t\t\t.append(\n\t\t\t\t\t\t$( '<div>' )\n\t\t\t\t\t\t\t.addClass( 'special-label' )\n\t\t\t\t\t\t\t.text( mw.msg( 'searchsuggest-containing' ) ),\n\t\t\t\t\t\t$( '<div>' )\n\t\t\t\t\t\t\t.addClass( 'special-query' )\n\t\t\t\t\t\t\t.text( query )\n\t\t\t\t\t)\n\t\t\t\t\t.show();\n\t\t\t} else {\n\t\t\t\t$el.find( '.special-query' )\n\t\t\t\t\t.text( query );\n\t\t\t}\n\n\t\t\t// eslint-disable-next-line no-jquery/no-class-state\n\t\t\tif ( $el.parent().hasClass( 'mw-searchSuggest-link' ) ) {\n\t\t\t\t$el.parent().attr( 'href', formData.baseHref + $.param( formData.linkParams ) + '&fulltext=1' );\n\t\t\t} else {\n\t\t\t\t$el.wrap(\n\t\t\t\t\t$( '<a>' )\n\t\t\t\t\t\t.attr( 'href', formData.baseHref + $.param( formData.linkParams ) + '&fulltext=1' )\n\t\t\t\t\t\t.addClass( 'mw-searchSuggest-link' )\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\t// Generic suggestions functionality for all search boxes\n\t\tconst searchboxesSelectors = [\n\t\t\t// Primary searchbox on every page in standard skins\n\t\t\t'#searchInput',\n\t\t\t// Generic selector for skins with multiple searchboxes (used by CologneBlue)\n\t\t\t// and for MediaWiki itself (special pages with page title inputs)\n\t\t\t'.mw-searchInput'\n\t\t];\n\t\t$( searchboxesSelectors.join( ', ' ) )\n\t\t\t.suggestions( {\n\t\t\t\tfetch: function ( query, response, maxRows ) {\n\t\t\t\t\tconst node = this[ 0 ];\n\n\t\t\t\t\tapi = api || new mw.Api();\n\n\t\t\t\t\t$.data( node, 'request', mw.searchSuggest.request( api, query, response, maxRows ) );\n\t\t\t\t},\n\t\t\t\tcancel: function () {\n\t\t\t\t\tconst node = this[ 0 ],\n\t\t\t\t\t\trequest = $.data( node, 'request' );\n\n\t\t\t\t\tif ( request ) {\n\t\t\t\t\t\trequest.abort();\n\t\t\t\t\t\t$.removeData( node, 'request' );\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tresult: {\n\t\t\t\t\trender: renderFunction,\n\t\t\t\t\tselect: function () {\n\t\t\t\t\t\t// allow the form to be submitted\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tupdate: {\n\t\t\t\t\tbefore: onBeforeUpdate,\n\t\t\t\t\tafter: onAfterUpdate\n\t\t\t\t},\n\t\t\t\tcache: true,\n\t\t\t\thighlightInput: true\n\t\t\t} )\n\t\t\t.on( 'paste cut drop', function () {\n\t\t\t\t// make sure paste and cut events from the mouse and drag&drop events\n\t\t\t\t// trigger the keypress handler and cause the suggestions to update\n\t\t\t\t$( this ).trigger( 'keypress' );\n\t\t\t} )\n\t\t\t// In most skins (at least Monobook and Vector), the font-size is messed up in <body>.\n\t\t\t// (they use 2 elements to get a sensible font-height). So, instead of making exceptions for\n\t\t\t// each skin or adding more stylesheets, just copy it from the active element so auto-fit.\n\t\t\t.each( function () {\n\t\t\t\tconst $this = $( this );\n\t\t\t\t$this\n\t\t\t\t\t.data( 'suggestions-context' )\n\t\t\t\t\t.data.$container.css( 'fontSize', $this.css( 'fontSize' ) );\n\t\t\t} );\n\n\t\t// Ensure that the thing is actually present!\n\t\tif ( $searchRegion.length === 0 ) {\n\t\t\t// Don't try to set anything up if simpleSearch is disabled sitewide.\n\t\t\t// The loader code loads us if the option is present, even if we're\n\t\t\t// not actually enabled (anymore).\n\t\t\treturn;\n\t\t}\n\n\t\t// Special suggestions functionality and tracking for skin-provided search box\n\t\t$searchInput.suggestions( {\n\t\t\tupdate: {\n\t\t\t\tbefore: onBeforeUpdate,\n\t\t\t\tafter: onAfterUpdate\n\t\t\t},\n\t\t\tresult: {\n\t\t\t\trender: renderFunction,\n\t\t\t\tselect: selectFunction\n\t\t\t},\n\t\t\tspecial: {\n\t\t\t\trender: specialRenderFunction,\n\t\t\t\tselect: function ( $input, source ) {\n\t\t\t\t\tconst context = $input.data( 'suggestionsContext' ),\n\t\t\t\t\t\ttext = $input.val();\n\t\t\t\t\tif ( source === 'mouse' ) {\n\t\t\t\t\t\t// mouse click won't trigger form submission, so we need to send a click event\n\t\t\t\t\t\tmw.track( 'mediawiki.searchSuggest', {\n\t\t\t\t\t\t\taction: 'click-result',\n\t\t\t\t\t\t\tnumberOfResults: context.config.suggestions.length,\n\t\t\t\t\t\t\tindex: context.config.suggestions.indexOf( text )\n\t\t\t\t\t\t} );\n\t\t\t\t\t} else {\n\t\t\t\t\t\t$input.closest( 'form' )\n\t\t\t\t\t\t\t.append(\n\t\t\t\t\t\t\t\t$( '<input>' )\n\t\t\t\t\t\t\t\t\t.prop( {\n\t\t\t\t\t\t\t\t\t\ttype: 'hidden',\n\t\t\t\t\t\t\t\t\t\tvalue: 1\n\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t\t.attr( 'name', 'fulltext' )\n\t\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\treturn true; // allow the form to be submitted\n\t\t\t\t}\n\t\t\t},\n\t\t\t$region: $searchRegion\n\t\t} );\n\n\t\tconst $searchForm = $searchInput.closest( 'form' );\n\t\t$searchForm\n\t\t\t// Track the form submit event.\n\t\t\t// Note that the form is mainly submitted for manual user input;\n\t\t\t// selecting a suggestion is tracked as a click instead (see selectFunction()).\n\t\t\t.on( 'submit', () => {\n\t\t\t\tconst context = $searchInput.data( 'suggestionsContext' );\n\t\t\t\tmw.track( 'mediawiki.searchSuggest', {\n\t\t\t\t\taction: 'submit-form',\n\t\t\t\t\tnumberOfResults: context.config.suggestions.length,\n\t\t\t\t\t$form: context.config.$region.closest( 'form' ),\n\t\t\t\t\tinputLocation: getInputLocation( context ),\n\t\t\t\t\tindex: context.config.suggestions.indexOf(\n\t\t\t\t\t\tcontext.data.$textbox.val()\n\t\t\t\t\t)\n\t\t\t\t} );\n\t\t\t} );\n\n\t\t// Check to see if the fulltext search button is placed before the go search button\n\t\tif ( $searchForm.find( '.mw-fallbackSearchButton ~ .searchButton' ).length ) {\n\t\t\t// Submitting the form with enter should always trigger \"search within pages\"\n\t\t\t// for JavaScript capable browsers.\n\t\t\t// If it is, remove the \"full text search\" fallback button.\n\t\t\t// In skins, where the \"full text search\" button\n\t\t\t// precedes the \"search by title\" button, e.g. Vector this is done for\n\t\t\t// non-JavaScript support. If the \"search by title\" button is first,\n\t\t\t// and two search buttons are shown e.g. MonoBook no change is needed.\n\t\t\t$searchForm.find( '.mw-fallbackSearchButton' ).remove();\n\t\t}\n\t} );\n\n}() );\n","usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.skinning.typeaheadSearch/App.vue","messages":[{"ruleId":"vue/require-default-prop","severity":1,"message":"Prop 'router' requires default value to be set.","line":76,"column":3,"nodeType":"Property","messageId":"missingDefault","endLine":78,"endColumn":4},{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'AbortableSearchFetch' is undefined.","line":225,"column":1,"nodeType":"Block","endLine":225,"endColumn":1},{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'SearchSubmitEvent' is undefined.","line":309,"column":1,"nodeType":"Block","endLine":309,"endColumn":1}],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":3,"fixableErrorCount":0,"fixableWarningCount":0,"source":"<template>\n\t<typeahead-search-wrapper\n\t\t:class=\"containerClasses\"\n\t\t:mobile-experience=\"useMobileExperience\"\n\t\t@exit=\"onExit\"\n\t>\n\t\t<cdx-typeahead-search\n\t\t\t:id=\"id\"\n\t\t\tref=\"searchForm\"\n\t\t\t:class=\"rootClasses\"\n\t\t\t:search-results-label=\"$i18n( 'searchresults' ).text()\"\n\t\t\t:accesskey=\"searchAccessKey\"\n\t\t\t:autocapitalize=\"autocapitalizeValue\"\n\t\t\t:title=\"searchTitle\"\n\t\t\t:placeholder=\"searchPlaceholder\"\n\t\t\t:aria-label=\"searchPlaceholder\"\n\t\t\t:initial-input-value=\"searchQuery\"\n\t\t\t:button-label=\"searchButtonLabel\"\n\t\t\t:form-action=\"action\"\n\t\t\t:show-thumbnail=\"showThumbnail\"\n\t\t\t:highlight-query=\"highlightQuery\"\n\t\t\t:auto-expand-width=\"autoExpandWidth\"\n\t\t\t:search-results=\"suggestions\"\n\t\t\t:search-footer-url=\"searchFooterUrl\"\n\t\t\t:visible-item-limit=\"visibleItemLimit\"\n\t\t\t:use-button=\"!!searchButtonLabel\"\n\t\t\t:show-empty-query-results=\"showEmptySearchRecommendations\"\n\t\t\t:is-mobile-view=\"useMobileExperience\"\n\t\t\t@load-more=\"onLoadMore\"\n\t\t\t@input=\"onInput\"\n\t\t\t@search-result-click=\"instrumentation.onSuggestionClick\"\n\t\t\t@submit=\"onSubmit\"\n\t\t\t@focus=\"onFocus\"\n\t\t\t@blur=\"onBlur\"\n\t\t>\n\t\t\t<template #default>\n\t\t\t\t<input\n\t\t\t\t\ttype=\"hidden\"\n\t\t\t\t\tname=\"title\"\n\t\t\t\t\t:value=\"searchPageTitle\"\n\t\t\t\t>\n\t\t\t\t<input\n\t\t\t\t\ttype=\"hidden\"\n\t\t\t\t\tname=\"wprov\"\n\t\t\t\t\t:value=\"wprov\"\n\t\t\t\t>\n\t\t\t</template>\n\t\t\t<template #search-results-pending>\n\t\t\t\t{{ $i18n( 'search-loader' ).text() }}\n\t\t\t</template>\n\t\t\t<!-- eslint-disable-next-line vue/no-template-shadow -->\n\t\t\t<template #search-footer-text=\"{ searchQuery }\">\n\t\t\t\t<span v-i18n-html:searchsuggest-containing-html=\"[ searchQuery ]\"></span>\n\t\t\t</template>\n\t\t</cdx-typeahead-search>\n\t</typeahead-search-wrapper>\n</template>\n\n<script>\nconst TypeaheadSearchWrapper = require( './TypeaheadSearchWrapper.vue' );\nconst { CdxTypeaheadSearch } = require( 'mediawiki.codex.typeaheadSearch' ),\n\t{ defineComponent, nextTick, ref, computed, onMounted, onUpdated } = require( 'vue' ),\n\tinstrumentation = require( './instrumentation.js' );\n\n// @vue/component\nmodule.exports = exports = defineComponent( {\n\tname: 'App',\n\tcompilerOptions: {\n\t\twhitespace: 'condense'\n\t},\n\tcomponents: {\n\t\tTypeaheadSearchWrapper,\n\t\tCdxTypeaheadSearch\n\t},\n\tprops: {\n\t\trouter: {\n\t\t\ttype: Object\n\t\t},\n\t\tsearchRoute: {\n\t\t\ttype: RegExp,\n\t\t\tdefault: new RegExp( /\\/search/ )\n\t\t},\n\t\turlGenerator: {\n\t\t\ttype: Object,\n\t\t\trequired: true\n\t\t},\n\t\trestClient: {\n\t\t\ttype: Object,\n\t\t\trequired: true\n\t\t},\n\t\tprefixClass: {\n\t\t\ttype: String,\n\t\t\tdefault: 'skin-'\n\t\t},\n\t\tid: {\n\t\t\ttype: String,\n\t\t\trequired: true\n\t\t},\n\t\tautocapitalizeValue: {\n\t\t\ttype: String,\n\t\t\tdefault: undefined\n\t\t},\n\t\tsearchPageTitle: {\n\t\t\ttype: String,\n\t\t\tdefault: 'Special:Search'\n\t\t},\n\t\tsearchButtonLabel: {\n\t\t\ttype: String,\n\t\t\tdefault: mw.msg( 'searchbutton' )\n\t\t},\n\t\tautofocusInput: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false\n\t\t},\n\t\taction: {\n\t\t\ttype: String,\n\t\t\tdefault: ''\n\t\t},\n\t\t/** The keyboard shortcut to focus search. */\n\t\tsearchAccessKey: {\n\t\t\ttype: String,\n\t\t\tdefault: undefined\n\t\t},\n\t\t/** The access key informational tip for search. */\n\t\tsearchTitle: {\n\t\t\ttype: String,\n\t\t\tdefault: undefined\n\t\t},\n\t\t/** The ghost text shown when no search query is entered. */\n\t\tsearchPlaceholder: {\n\t\t\ttype: String,\n\t\t\tdefault: undefined\n\t\t},\n\t\tsupportsMobileExperience: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false\n\t\t},\n\t\t/**\n\t\t * The search query string taken from the server-side rendered input immediately before\n\t\t * client render.\n\t\t */\n\t\tsearchQuery: {\n\t\t\ttype: String,\n\t\t\tdefault: undefined\n\t\t},\n\t\tshowThumbnail: {\n\t\t\ttype: Boolean,\n\t\t\trequired: true,\n\t\t\tdefault: false\n\t\t},\n\t\tshowDescription: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false\n\t\t},\n\t\thighlightQuery: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false\n\t\t},\n\t\tautoExpandWidth: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false\n\t\t},\n\t\tshowEmptySearchRecommendations: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false\n\t\t},\n\t\tdialogBreakpoint: {\n\t\t\ttype: Number,\n\t\t\t// max-width-breakpoint-mobile\n\t\t\tdefault: 639\n\t\t}\n\t},\n\tsetup( props ) {\n\t\tconst mobileMedia = window.matchMedia ?\n\t\t\twindow.matchMedia( `(max-width: ${ props.dialogBreakpoint }px)` ) : {\n\t\t\t\tmatches: false\n\t\t\t};\n\t\tconst { clearAddressBar } = require( 'mediawiki.page.ready' );\n\t\tconst useMobileExperience = ref( props.supportsMobileExperience && mobileMedia.matches );\n\t\tconst router = props.router;\n\t\tconst searchRoute = props.searchRoute;\n\t\t// Whether to apply a CSS class that disables the CSS transitions on the text input\n\t\tconst disableTransitions = ref( props.autofocusInput );\n\t\tconst searchForm = ref( null );\n\t\tconst isFocused = ref( false );\n\t\t// -1 here is the default \"active suggestion index\".\n\t\tconst wprov = ref( instrumentation.getWprovFromResultIndex( -1 ) );\n\t\t// Suggestions to be shown in the TypeaheadSearch menu.\n\t\tconst suggestions = ref( [] );\n\t\t// Link to the search page for the current search query.\n\t\tconst searchFooterUrl = ref( '' );\n\t\t// The current search query. Used to detect whether a fetch response is stale.\n\t\tconst currentSearchQuery = ref( '' );\n\n\t\tconst containerClasses = computed( () => ( {\n\t\t\t[ `${ props.prefixClass }typeahead-search-wrapper` ]: true\n\t\t} ) );\n\n\t\tconst rootClasses = computed( () => ( {\n\t\t\t[ `${ props.prefixClass }typeahead-search` ]: true,\n\t\t\t[ `${ props.prefixClass }search-box-disable-transitions` ]: disableTransitions.value,\n\t\t\t[ `${ props.prefixClass }typeahead-search--active` ]: isFocused.value\n\t\t} ) );\n\n\t\t// if the search client supports loading more results,\n\t\t// show 7 out of 10 results at first (arbitrary number),\n\t\t// so that scroll events are fired and trigger onLoadMore()\n\t\tconst visibleItemLimit = computed( () => props.restClient.loadMore ? 7 : null );\n\n\t\tconst exitSearchDialog = () => {\n\t\t\tuseMobileExperience.value = false;\n\t\t\tsuggestions.value = [];\n\t\t\tcurrentSearchQuery.value = '';\n\t\t};\n\n\t\t// Fired when the user exits the search dialog\n\t\tconst onExit = () => {\n\t\t\texitSearchDialog();\n\t\t\tif ( router ) {\n\t\t\t\tclearAddressBar( router, searchRoute );\n\t\t\t}\n\t\t};\n\n\t\t/**\n\t\t * @param {AbortableSearchFetch} search\n\t\t * @param {boolean} replaceResults\n\t\t */\n\t\tconst updateUIWithSearchClientResult = ( search, replaceResults ) => {\n\t\t\tconst query = currentSearchQuery.value;\n\t\t\tsearch.fetch\n\t\t\t\t.then( ( data ) => {\n\t\t\t\t\tif ( currentSearchQuery.value === query ) {\n\t\t\t\t\t\tif ( replaceResults ) {\n\t\t\t\t\t\t\tsuggestions.value = [];\n\t\t\t\t\t\t}\n\t\t\t\t\t\tsuggestions.value.push(\n\t\t\t\t\t\t\t...instrumentation.addWprovToSearchResultUrls(\n\t\t\t\t\t\t\t\tdata.results, suggestions.value.length\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t);\n\t\t\t\t\t\tsearchFooterUrl.value = props.urlGenerator.generateUrl( query );\n\t\t\t\t\t}\n\n\t\t\t\t\tconst event = {\n\t\t\t\t\t\tnumberOfResults: data.results.length,\n\t\t\t\t\t\tquery: query\n\t\t\t\t\t};\n\t\t\t\t\tinstrumentation.listeners.onFetchEnd( event );\n\t\t\t\t} )\n\t\t\t\t.catch( () => {\n\t\t\t\t\t// TODO: error handling\n\t\t\t\t} );\n\t\t};\n\n\t\tconst loadEmptySearchRecommendations = () => {\n\t\t\tconst fetchRecommendations = props.restClient.fetchRecommendationByTitle;\n\t\t\tif ( props.showEmptySearchRecommendations && fetchRecommendations ) {\n\t\t\t\tconst currentTitle = mw.config.get( 'wgPageName' );\n\t\t\t\tupdateUIWithSearchClientResult(\n\t\t\t\t\tprops.restClient.fetchRecommendationByTitle( currentTitle, props.showDescription ),\n\t\t\t\t\ttrue\n\t\t\t\t);\n\t\t\t}\n\t\t};\n\n\t\t/**\n\t\t * Fetch suggestions when new input is received.\n\t\t *\n\t\t * @param {string} value\n\t\t */\n\t\tconst onInput = ( value ) => {\n\t\t\tconst query = value.trim();\n\t\t\tcurrentSearchQuery.value = query;\n\n\t\t\tif ( query === '' ) {\n\t\t\t\tloadEmptySearchRecommendations();\n\t\t\t} else {\n\t\t\t\tupdateUIWithSearchClientResult(\n\t\t\t\t\tprops.restClient.fetchByTitle( query, 10, props.showDescription ),\n\t\t\t\t\ttrue\n\t\t\t\t);\n\t\t\t}\n\t\t};\n\n\t\t/**\n\t\t * Fetch additional suggestions.\n\t\t *\n\t\t * This should only be called if visibleItemLimit is non-null,\n\t\t * i.e. if the search client supports loading more results.\n\t\t */\n\t\tconst onLoadMore = () => {\n\t\t\tif ( !props.restClient.loadMore ) {\n\t\t\t\tmw.log.warn( 'onLoadMore() should not have been called for this search client' );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tupdateUIWithSearchClientResult(\n\t\t\t\tprops.restClient.loadMore(\n\t\t\t\t\tcurrentSearchQuery.value,\n\t\t\t\t\tsuggestions.value.length,\n\t\t\t\t\t10,\n\t\t\t\t\tprops.showDescription\n\t\t\t\t),\n\t\t\t\tfalse\n\t\t\t);\n\t\t};\n\n\t\t/**\n\t\t * @param {SearchSubmitEvent} event\n\t\t */\n\t\tconst onSubmit = ( event ) => {\n\t\t\twprov.value = instrumentation.getWprovFromResultIndex( event.index );\n\t\t\tinstrumentation.listeners.onSubmit( event );\n\t\t};\n\n\t\tconst onFocus = ( event ) => {\n\t\t\tisFocused.value = true;\n\t\t\tcurrentSearchQuery.value = event.target.value;\n\t\t\tif ( currentSearchQuery.value === '' ) {\n\t\t\t\tloadEmptySearchRecommendations();\n\t\t\t}\n\t\t};\n\n\t\tconst onBlur = () => {\n\t\t\tisFocused.value = false;\n\t\t};\n\n\t\tconst focus = () => {\n\t\t\tsearchForm.value.focus();\n\t\t\tnextTick( () => {\n\t\t\t\tdisableTransitions.value = false;\n\t\t\t} );\n\t\t};\n\n\t\tonMounted( () => {\n\t\t\tif ( props.autofocusInput ) {\n\t\t\t\tnextTick( () => {\n\t\t\t\t\tfocus();\n\t\t\t\t} );\n\t\t\t}\n\t\t} );\n\n\t\tonUpdated( () => {\n\t\t\tif ( props.autofocusInput ) {\n\t\t\t\tnextTick( () => {\n\t\t\t\t\tfocus();\n\t\t\t\t} );\n\t\t\t}\n\t\t} );\n\n\t\tif ( props.supportsMobileExperience && router ) {\n\t\t\trouter.on( 'route', () => {\n\t\t\t\texitSearchDialog();\n\t\t\t} );\n\n\t\t\t// replace existing route with one that toggles the dialog on.\n\t\t\trouter.addRoute( searchRoute, () => {\n\t\t\t\tuseMobileExperience.value = true;\n\t\t\t\tdisableTransitions.value = true;\n\t\t\t} );\n\n\t\t\t// Only support on mobile resolutions\n\t\t\tmobileMedia.onchange = () => {\n\t\t\t\tif ( !mobileMedia.matches ) {\n\t\t\t\t\texitSearchDialog();\n\t\t\t\t\tclearAddressBar( router, searchRoute );\n\t\t\t\t}\n\t\t\t};\n\t\t}\n\n\t\treturn {\n\t\t\tsearchForm,\n\t\t\tuseMobileExperience,\n\t\t\twprov,\n\t\t\tsuggestions,\n\t\t\tsearchFooterUrl,\n\t\t\tcontainerClasses,\n\t\t\trootClasses,\n\t\t\tvisibleItemLimit,\n\t\t\tonExit,\n\t\t\tonInput,\n\t\t\tonLoadMore,\n\t\t\tonSubmit,\n\t\t\tonFocus,\n\t\t\tonBlur,\n\t\t\tinstrumentation: instrumentation.listeners\n\t\t};\n\t}\n} );\n</script>\n","usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"vue/component-tags-order","replacedBy":["block-order"]},{"ruleId":"vue/no-invalid-model-keys","replacedBy":["valid-model-definition"]},{"ruleId":"vue/v-on-function-call","replacedBy":["v-on-handler-style"]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.skinning.typeaheadSearch/TypeaheadSearchWrapper.vue","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"vue/component-tags-order","replacedBy":["block-order"]},{"ruleId":"vue/no-invalid-model-keys","replacedBy":["valid-model-definition"]},{"ruleId":"vue/v-on-function-call","replacedBy":["v-on-handler-style"]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.skinning.typeaheadSearch/fetch.js","messages":[{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'RequestInit' is undefined.","line":21,"column":1,"nodeType":"Block","endLine":21,"endColumn":1}],"suppressedMessages":[{"ruleId":"compat/compat","severity":2,"message":"AbortController is not supported in Safari 11.1, iOS Safari 11.3-11.4","line":29,"column":21,"nodeType":"MemberExpression","endLine":29,"endColumn":43,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"compat/compat","severity":2,"message":"AbortController is not supported in Safari 11.1, iOS Safari 11.3-11.4","line":31,"column":3,"nodeType":"NewExpression","endLine":31,"endColumn":24,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"unicorn/no-useless-promise-resolve-reject","severity":2,"message":"Prefer `throw error` over `return Promise.reject(error)`.","line":39,"column":11,"nodeType":"MemberExpression","messageId":"reject","endLine":39,"endColumn":25,"fix":{"range":[1112,1203],"text":"throw 'Network request failed with HTTP code ' + response.status;"},"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"/**\n * @typedef {Object} AbortableFetch\n * @property {Promise<any>} fetch\n * @property {Function} abort\n */\n\n/**\n * @typedef {Object} NullableAbortController\n * @property {AbortSignal | undefined} signal\n * @property {Function} abort\n */\nconst nullAbortController = {\n\tsignal: undefined,\n\tabort: () => {} // Do nothing (no-op)\n};\n\n/**\n * A wrapper which combines native fetch() in browsers and the following json() call.\n *\n * @param {string} resource\n * @param {RequestInit} [init]\n * @return {AbortableFetch}\n */\nfunction fetchJson( resource, init ) {\n\t// As of 2020, browser support for AbortController is limited:\n\t// https://caniuse.com/abortcontroller\n\t// so replacing it with no-op if it doesn't exist.\n\t// eslint-disable-next-line compat/compat\n\tconst controller = window.AbortController ?\n\t\t// eslint-disable-next-line compat/compat\n\t\tnew AbortController() :\n\t\tnullAbortController;\n\n\tconst getJson = fetch( resource, Object.assign( {}, init, {\n\t\tsignal: controller.signal\n\t} ) ).then( ( response ) => {\n\t\tif ( !response.ok ) {\n\t\t\t// eslint-disable-next-line unicorn/no-useless-promise-resolve-reject\n\t\t\treturn Promise.reject(\n\t\t\t\t'Network request failed with HTTP code ' + response.status\n\t\t\t);\n\t\t}\n\t\treturn response.json();\n\t} );\n\n\treturn {\n\t\tfetch: getJson,\n\t\tabort: () => {\n\t\t\tcontroller.abort();\n\t\t}\n\t};\n}\n\nmodule.exports = fetchJson;\n","usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.skinning.typeaheadSearch/index.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.skinning.typeaheadSearch/instrumentation.js","messages":[{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'FetchEndEvent' is undefined.","line":2,"column":1,"nodeType":"Block","endLine":2,"endColumn":1},{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'SuggestionClickEvent' is undefined.","line":16,"column":1,"nodeType":"Block","endLine":16,"endColumn":1},{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'SearchSubmitEvent' is undefined.","line":16,"column":1,"nodeType":"Block","endLine":16,"endColumn":1}],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":3,"fixableErrorCount":0,"fixableWarningCount":0,"source":"/**\n * @param {FetchEndEvent} event\n */\nfunction onFetchEnd( event ) {\n\tmw.track( 'mediawiki.searchSuggest', {\n\t\taction: 'impression-results',\n\t\tnumberOfResults: event.numberOfResults,\n\t\t// resultSetType: '',\n\t\t// searchId: '',\n\t\tquery: event.query,\n\t\tinputLocation: 'header-moved'\n\t} );\n}\n\n/**\n * @param {SuggestionClickEvent|SearchSubmitEvent} event\n */\nfunction onSuggestionClick( event ) {\n\tmw.track( 'mediawiki.searchSuggest', {\n\t\taction: 'click-result',\n\t\tnumberOfResults: event.numberOfResults,\n\t\tindex: event.index\n\t} );\n}\n\n/**\n * Generates the value of the `wprov` parameter to be used in the URL of a search result and the\n * `wprov` hidden input.\n *\n * See https://gerrit.wikimedia.org/r/plugins/gitiles/mediawiki/extensions/WikimediaEvents/+/refs/heads/master/modules/ext.wikimediaEvents/searchSatisfaction.js\n * and also the top of that file for additional detail about the shape of the parameter.\n *\n * @param {number} index\n * @return {string}\n */\nfunction getWprovFromResultIndex( index ) {\n\t// result looks like: acrw1_0, acrw1_1, acrw1_2, etc.;\n\t// or acrw1_-1 for index -1 (user did not highlight an autocomplete result)\n\treturn 'acrw1_' + index;\n}\n\n/**\n * @typedef {Object} SearchResultPartial\n * @property {string} title\n * @property {string} [url]\n */\n\n/**\n * Return a new list of search results,\n * with the `wprov` parameter added to each result's url (if any).\n *\n * @param {SearchResultPartial[]} results Not modified.\n * @param {number} offset Offset to add to the index of each result.\n * @return {SearchResultPartial[]}\n */\nfunction addWprovToSearchResultUrls( results, offset ) {\n\treturn results.map( ( result, index ) => {\n\t\tif ( result.url ) {\n\t\t\tconst url = new URL( result.url, location.href );\n\t\t\turl.searchParams.set( 'wprov', getWprovFromResultIndex( index + offset ) );\n\t\t\tresult = Object.assign( {}, result, { url: url.toString() } );\n\t\t}\n\t\treturn result;\n\t} );\n}\n\n/**\n * @typedef {Object} Instrumentation\n * @property {Object} listeners\n * @property {Function} getWprovFromResultIndex\n * @property {Function} addWprovToSearchResultUrls\n */\n\n/**\n * @type {Instrumentation}\n */\nmodule.exports = {\n\tlisteners: {\n\t\tonFetchEnd,\n\t\tonSuggestionClick,\n\n\t\t// As of writing (2020/12/08), both the \"click-result\" and \"submit-form\" kind of\n\t\t// mediawiki.searchSuggestion events result in a \"click\" SearchSatisfaction event being\n\t\t// logged [0]. However, when processing the \"submit-form\" kind of mediawiki.searchSuggestion\n\t\t// event, the SearchSatisfaction instrument will modify the DOM, adding a hidden input\n\t\t// element, in order to set the appropriate provenance parameter (see [1] for additional\n\t\t// detail).\n\t\t//\n\t\t// In this implementation of the mediawiki.searchSuggestion protocol, we don't want to\n\t\t// trigger the above behavior as we're using Vue.js, which doesn't expect the DOM to be\n\t\t// modified underneath it.\n\t\t//\n\t\t// [0] https://gerrit.wikimedia.org/g/mediawiki/extensions/WikimediaEvents/+/df97aa9c9407507e8c48827666beeab492fd56a8/modules/ext.wikimediaEvents/searchSatisfaction.js#735\n\t\t// [1] https://phabricator.wikimedia.org/T257698#6416826\n\t\tonSubmit: onSuggestionClick\n\t},\n\tgetWprovFromResultIndex,\n\taddWprovToSearchResultUrls\n};\n","usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.skinning.typeaheadSearch/restSearchClient.js","messages":[{"ruleId":"jsdoc/valid-types","severity":1,"message":"Syntax error in type: import('./urlGenerator.js').UrlGenerator","line":4,"column":1,"nodeType":"Block","endLine":4,"endColumn":1},{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'RestResult' is undefined.","line":11,"column":1,"nodeType":"Block","endLine":11,"endColumn":1},{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'SearchResult' is undefined.","line":17,"column":1,"nodeType":"Block","endLine":17,"endColumn":1},{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'fetchRecommendationByTitle' is undefined.","line":86,"column":1,"nodeType":"Block","endLine":86,"endColumn":1},{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'fetchRecommendationByTitle' is undefined.","line":100,"column":1,"nodeType":"Block","endLine":100,"endColumn":1}],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":5,"fixableErrorCount":0,"fixableWarningCount":0,"source":"// / <reference lib=\"@wikimedia/types\" />\n/** @module restSearchClient */\n/**\n * @typedef {import('./urlGenerator.js').UrlGenerator} UrlGenerator\n */\n\nconst fetchJson = require( './fetch.js' );\n\n/**\n * @typedef {Object} RestResponse\n * @property {RestResult[]} pages\n */\n\n/**\n * @typedef {Object} SearchResponse\n * @property {string} query\n * @property {SearchResult[]} results\n */\n\n/**\n * Nullish coalescing operator (??) helper\n *\n * @param {any} a\n * @param {any} b\n * @return {any}\n */\nfunction nullish( a, b ) {\n\treturn ( a !== null && a !== undefined ) ? a : b;\n}\n\n/**\n * @param {UrlGenerator} urlGeneratorInstance\n * @param {string} query\n * @param {RestResponse} restResponse\n * @param {boolean} showDescription\n * @return {SearchResponse}\n */\nfunction adaptApiResponse( urlGeneratorInstance, query, restResponse, showDescription ) {\n\treturn {\n\t\tquery,\n\t\tresults: restResponse.pages.map( ( page, index ) => {\n\t\t\tconst thumbnail = page.thumbnail;\n\t\t\treturn {\n\t\t\t\tid: page.id,\n\t\t\t\tvalue: page.id || -( index + 1 ),\n\t\t\t\tlabel: page.title,\n\t\t\t\tkey: page.key,\n\t\t\t\ttitle: page.title,\n\t\t\t\tdescription: showDescription ? page.description : undefined,\n\t\t\t\turl: urlGeneratorInstance.generateUrl( page ),\n\t\t\t\tthumbnail: thumbnail ? {\n\t\t\t\t\turl: thumbnail.url,\n\t\t\t\t\twidth: nullish( thumbnail.width, undefined ),\n\t\t\t\t\theight: nullish( thumbnail.height, undefined )\n\t\t\t\t} : undefined\n\t\t\t};\n\t\t} )\n\t};\n}\n\n/**\n * @typedef {Object} AbortableSearchFetch\n * @property {Promise<SearchResponse>} fetch\n * @property {Function} abort\n */\n\n/**\n * @callback fetchByTitle\n * @param {string} query The search term.\n * @param {number} [limit] Maximum number of results.\n * @param {boolean} [showDescription] Whether descriptions should be added to the results.\n * @return {AbortableSearchFetch}\n */\n\n/**\n * @callback loadMore\n * @param {string} query The search term.\n * @param {number} offset The number of search results that were already loaded.\n * @param {number} [limit] How many further search results to load (at most).\n * @param {boolean} [showDescription] Whether descriptions should be added to the results.\n * @return {AbortableSearchFetch}\n */\n\n/**\n * @typedef {Object} SearchClient\n * @property {fetchRecommendationByTitle} fetchRecommendationByTitle\n * @property {fetchByTitle} fetchByTitle\n * @property {loadMore} [loadMore]\n */\n\n/**\n * @param {string} searchApiUrl\n * @param {UrlGenerator} urlGeneratorInstance\n * @param {string} recommendationApiUrl\n * @return {SearchClient}\n */\nfunction restSearchClient( searchApiUrl, urlGeneratorInstance, recommendationApiUrl = null ) {\n\treturn {\n\t\t/**\n\t\t * @type {fetchRecommendationByTitle}\n\t\t */\n\t\tfetchRecommendationByTitle: recommendationApiUrl ? ( currentTitle, showDescription = true ) => {\n\t\t\tconst isPageEligible = !mw.config.get( 'wgIsMainPage' ) &&\n\t\t\t\tmw.config.get( 'wgContentNamespaces', [] ).includes(\n\t\t\t\t\tmw.config.get( 'wgNamespaceNumber' )\n\t\t\t\t);\n\t\t\tconst result = isPageEligible ?\n\t\t\t\tfetchJson( recommendationApiUrl.replace( /\\$1/g, currentTitle ), {\n\t\t\t\t\theaders: {\n\t\t\t\t\t\taccept: 'application/json'\n\t\t\t\t\t}\n\t\t\t\t} ) :\n\t\t\t\t{\n\t\t\t\t\tfetch: Promise.reject( 'No recommendations for this page.' ),\n\t\t\t\t\tabort: () => {}\n\t\t\t\t};\n\n\t\t\tconst recommendationResponsePromise = result.fetch\n\t\t\t\t.then( ( /** @type {RestResponse} */ res ) => adaptApiResponse(\n\t\t\t\t\turlGeneratorInstance, '', res, showDescription\n\t\t\t\t) );\n\t\t\treturn {\n\t\t\t\tabort: result.abort,\n\t\t\t\tfetch: recommendationResponsePromise\n\t\t\t};\n\t\t} : undefined,\n\t\t/**\n\t\t * @type {fetchByTitle}\n\t\t */\n\t\tfetchByTitle: ( q, limit = 10, showDescription = true ) => {\n\t\t\tconst params = { q, limit: limit.toString() };\n\t\t\tconst search = new URLSearchParams( params );\n\t\t\tmw.hook( 'typeaheadSearch.appendUrlParams' ).fire( ( key, value ) => {\n\t\t\t\tsearch.append( key, value );\n\t\t\t} );\n\t\t\tconst url = `${ searchApiUrl }/v1/search/title?${ search.toString() }`;\n\t\t\tconst result = fetchJson( url, {\n\t\t\t\theaders: {\n\t\t\t\t\taccept: 'application/json'\n\t\t\t\t}\n\t\t\t} );\n\t\t\tconst searchResponsePromise = result.fetch\n\t\t\t\t.then( ( /** @type {RestResponse} */ res ) => adaptApiResponse(\n\t\t\t\t\turlGeneratorInstance, q, res, showDescription\n\t\t\t\t) );\n\t\t\treturn {\n\t\t\t\tabort: result.abort,\n\t\t\t\tfetch: searchResponsePromise\n\t\t\t};\n\t\t}\n\t};\n}\n\nmodule.exports = restSearchClient;\n","usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.skinning.typeaheadSearch/types.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.skinning.typeaheadSearch/urlGenerator.js","messages":[{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'Record' is undefined.","line":2,"column":1,"nodeType":"Block","endLine":2,"endColumn":1},{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'RestResult' is undefined.","line":9,"column":1,"nodeType":"Block","endLine":9,"endColumn":1},{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'SearchResult' is undefined.","line":9,"column":1,"nodeType":"Block","endLine":9,"endColumn":1},{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'RestResult' is undefined.","line":30,"column":1,"nodeType":"Block","endLine":30,"endColumn":1},{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'SearchResult' is undefined.","line":30,"column":1,"nodeType":"Block","endLine":30,"endColumn":1}],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":5,"fixableErrorCount":0,"fixableWarningCount":0,"source":"/**\n * @typedef {Record<string,string>} UrlParams\n * @param {string} title\n * @param {string} fulltext\n */\n\n/**\n * @callback generateUrl\n * @param {RestResult|SearchResult|string} searchResult\n * @param {UrlParams} [params]\n * @param {string} [articlePath]\n * @return {string}\n */\n\n/**\n * @typedef {Object} UrlGenerator\n * @property {generateUrl} generateUrl\n */\n\n/**\n * Generates URLs for suggestions like those in MediaWiki's mediawiki.searchSuggest implementation.\n *\n * @param {string} articlePath\n * @param {string} searchPageTitle\n * @return {UrlGenerator}\n */\nfunction urlGenerator( articlePath, searchPageTitle = 'Special:Search' ) {\n\treturn {\n\t\t/**\n\t\t * @param {RestResult|SearchResult|string} suggestion\n\t\t * @param {UrlParams} params\n\t\t * @return {string}\n\t\t */\n\t\tgenerateUrl(\n\t\t\tsuggestion,\n\t\t\tparams = {\n\t\t\t\ttitle: searchPageTitle\n\t\t\t}\n\t\t) {\n\t\t\tif ( typeof suggestion !== 'string' ) {\n\t\t\t\tsuggestion = suggestion.title + ( suggestion.anchor ? `#${ suggestion.anchor }` : '' );\n\t\t\t} else {\n\t\t\t\t// Add `fulltext` query param to search within pages and for navigation\n\t\t\t\t// to the search results page (prevents being redirected to a certain\n\t\t\t\t// article).\n\t\t\t\tparams = Object.assign( {}, params, {\n\t\t\t\t\tfulltext: '1'\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\tconst searchParams = new URLSearchParams(\n\t\t\t\tObject.assign( {}, params, { search: suggestion } )\n\t\t\t);\n\t\t\treturn `${ articlePath }?${ searchParams.toString() }`;\n\t\t}\n\t};\n}\n\n/** @module urlGenerator */\nmodule.exports = urlGenerator;\n","usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.special.apisandbox/.eslintrc.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.special.apisandbox/ApiSandbox.js","messages":[{"ruleId":"mediawiki/no-unlabeled-buttonwidget","severity":1,"message":"OOUI button has no label. Even icon-only buttons should set a label with invisibleLabel set to true.","line":501,"column":9,"nodeType":"NewExpression","messageId":"noLabel","endLine":510,"endColumn":12}],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"'use strict';\nlet resultPage = null,\n\tupdatingBooklet = false,\n\tbaseRequestParams = {};\n\nconst api = new mw.Api(),\n\tbookletPages = [];\n\nlet booklet, panel, oldhash;\n/**\n * Interface to ApiSandbox UI.\n *\n * @class mw.special.ApiSandbox\n * @ignore\n */\nconst ApiSandbox = {\n\tsuppressErrors: true,\n\twindowManager: null,\n\tformatDropdown: null,\n\tavailableFormats: {},\n\tpages: {},\n\n\t/**\n\t * Initialize the UI\n\t *\n\t * Automatically called on $.ready()\n\t */\n\tinit: function () {\n\t\tApiSandbox.windowManager = new OO.ui.WindowManager();\n\t\t$( OO.ui.getTeleportTarget() ).append( ApiSandbox.windowManager.$element );\n\t\tApiSandbox.windowManager.addWindows( {\n\t\t\terrorAlert: new OO.ui.MessageDialog()\n\t\t} );\n\n\t\tconst $toolbar = $( '<div>' )\n\t\t\t.addClass( 'mw-apisandbox-toolbar' )\n\t\t\t.append(\n\t\t\t\tnew OO.ui.ButtonWidget( {\n\t\t\t\t\tlabel: mw.msg( 'apisandbox-submit' ),\n\t\t\t\t\tflags: [ 'primary', 'progressive' ]\n\t\t\t\t} ).on( 'click', ApiSandbox.sendRequest ).$element,\n\t\t\t\tnew OO.ui.ButtonWidget( {\n\t\t\t\t\tlabel: mw.msg( 'apisandbox-reset' ),\n\t\t\t\t\tflags: 'destructive'\n\t\t\t\t} ).on( 'click', ApiSandbox.resetUI ).$element\n\t\t\t);\n\n\t\tbooklet = new OO.ui.BookletLayout( {\n\t\t\texpanded: false,\n\t\t\toutlined: true,\n\t\t\tautoFocus: false\n\t\t} );\n\n\t\tpanel = new OO.ui.PanelLayout( {\n\t\t\tclasses: [ 'mw-apisandbox-container' ],\n\t\t\tcontent: [ booklet ],\n\t\t\texpanded: false\n\t\t} );\n\n\t\tconst ApiSandboxLayout = require( './ApiSandboxLayout.js' );\n\t\tApiSandbox.pages.main = new ApiSandboxLayout( { key: 'main', path: 'main' } );\n\n\t\t// Parse the current hash string\n\t\tif ( !ApiSandbox.loadFromHash() ) {\n\t\t\tApiSandbox.updateUI();\n\t\t}\n\n\t\t$( window ).on( 'hashchange', ApiSandbox.loadFromHash );\n\n\t\tconst Util = require( './Util.js' );\n\t\t$( '#mw-apisandbox' )\n\t\t\t.empty()\n\t\t\t.append( $( '<p>' ).append( Util.parseMsg( 'apisandbox-intro' ) ) )\n\t\t\t.append(\n\t\t\t\t$( '<div>' ).attr( 'id', 'mw-apisandbox-ui' )\n\t\t\t\t\t.append( $toolbar )\n\t\t\t\t\t.append( panel.$element )\n\t\t\t);\n\t},\n\n\t/**\n\t * Update the current query when the page hash changes\n\t *\n\t * @return {boolean} Successful\n\t */\n\tloadFromHash: function () {\n\t\tlet fragment = location.hash;\n\n\t\tif ( oldhash === fragment ) {\n\t\t\treturn false;\n\t\t}\n\t\toldhash = fragment;\n\t\tif ( fragment === '' ) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// I'm surprised this doesn't seem to exist in jQuery or mw.util.\n\t\tconst params = {};\n\t\tfragment = fragment.replace( /\\+/g, '%20' );\n\t\tconst pattern = /([^&=#]+)=?([^&#]*)/g;\n\t\tlet match;\n\t\twhile ( ( match = pattern.exec( fragment ) ) ) {\n\t\t\tparams[ decodeURIComponent( match[ 1 ] ) ] = decodeURIComponent( match[ 2 ] );\n\t\t}\n\n\t\tApiSandbox.updateUI( params );\n\t\treturn true;\n\t},\n\n\t/**\n\t * Update the pages in the booklet\n\t *\n\t * @param {Object} [params] Optional query parameters to load\n\t */\n\tupdateUI: function ( params ) {\n\t\tconst addPages = [];\n\n\t\tif ( !$.isPlainObject( params ) ) {\n\t\t\tparams = undefined;\n\t\t}\n\n\t\tif ( updatingBooklet ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst ApiSandboxLayout = require( './ApiSandboxLayout.js' );\n\t\tupdatingBooklet = true;\n\t\ttry {\n\t\t\tif ( params !== undefined ) {\n\t\t\t\tApiSandbox.pages.main.loadQueryParams( params );\n\t\t\t}\n\t\t\taddPages.push( ApiSandbox.pages.main );\n\t\t\tif ( resultPage !== null ) {\n\t\t\t\taddPages.push( resultPage );\n\t\t\t}\n\t\t\tApiSandbox.pages.main.apiCheckValid();\n\n\t\t\tlet i = 0;\n\t\t\twhile ( addPages.length ) {\n\t\t\t\tconst page = addPages.shift();\n\t\t\t\tif ( bookletPages[ i ] !== page ) {\n\t\t\t\t\tfor ( let j = i; j < bookletPages.length; j++ ) {\n\t\t\t\t\t\tif ( bookletPages[ j ].getName() === page.getName() ) {\n\t\t\t\t\t\t\tbookletPages.splice( j, 1 );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tbookletPages.splice( i, 0, page );\n\t\t\t\t\tbooklet.addPages( [ page ], i );\n\t\t\t\t}\n\t\t\t\ti++;\n\n\t\t\t\tif ( page.getSubpages ) {\n\t\t\t\t\tconst subpages = page.getSubpages();\n\t\t\t\t\tsubpages.forEach( ( subpage, k ) => {\n\t\t\t\t\t\tif ( !Object.prototype.hasOwnProperty.call( ApiSandbox.pages, subpage.key ) ) {\n\t\t\t\t\t\t\tsubpage.indentLevel = page.indentLevel + 1;\n\t\t\t\t\t\t\tApiSandbox.pages[ subpage.key ] = new ApiSandboxLayout( subpage );\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif ( params !== undefined ) {\n\t\t\t\t\t\t\tApiSandbox.pages[ subpage.key ].loadQueryParams( params );\n\t\t\t\t\t\t}\n\t\t\t\t\t\taddPages.splice( k, 0, ApiSandbox.pages[ subpage.key ] );\n\t\t\t\t\t\tApiSandbox.pages[ subpage.key ].apiCheckValid();\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ( bookletPages.length > i ) {\n\t\t\t\tconst removePages = bookletPages.splice( i, bookletPages.length - i );\n\t\t\t\tbooklet.removePages( removePages );\n\t\t\t}\n\n\t\t\tif ( !booklet.getCurrentPageName() ) {\n\t\t\t\tbooklet.selectFirstSelectablePage();\n\t\t\t}\n\t\t} finally {\n\t\t\tupdatingBooklet = false;\n\t\t}\n\t},\n\n\t/**\n\t * Reset button handler\n\t */\n\tresetUI: function () {\n\t\tconst ApiSandboxLayout = require( './ApiSandboxLayout.js' );\n\t\tApiSandbox.suppressErrors = true;\n\t\tApiSandbox.pages = {\n\t\t\tmain: new ApiSandboxLayout( { key: 'main', path: 'main' } )\n\t\t};\n\t\tresultPage = null;\n\t\tApiSandbox.updateUI();\n\t},\n\n\t/**\n\t * Submit button handler\n\t *\n\t * @param {Object} [params] Use this set of params instead of those in the form fields.\n\t * The form fields will be updated to match.\n\t */\n\tsendRequest: function ( params ) {\n\t\tlet method = 'get',\n\t\t\tinfoMessage;\n\n\t\tconst paramsAreForced = !!params,\n\t\t\tdeferreds = [],\n\t\t\tdisplayParams = {},\n\t\t\tajaxOptions = {},\n\t\t\ttokenWidgets = [],\n\t\t\tcheckPages = [ ApiSandbox.pages.main ];\n\n\t\t// Blur any focused widget before submit, because\n\t\t// OO.ui.ButtonWidget doesn't take focus itself (T128054)\n\t\tconst $focus = $( '#mw-apisandbox-ui' ).find( document.activeElement );\n\t\tif ( $focus.length ) {\n\t\t\t$focus[ 0 ].blur();\n\t\t}\n\n\t\tApiSandbox.suppressErrors = false;\n\n\t\t// save widget state in params (or load from it if we are forced)\n\t\tif ( paramsAreForced ) {\n\t\t\tApiSandbox.updateUI( params );\n\t\t}\n\t\tparams = {};\n\t\twhile ( checkPages.length ) {\n\t\t\tconst checkPage = checkPages.shift();\n\t\t\tif ( checkPage.tokenWidget ) {\n\t\t\t\ttokenWidgets.push( checkPage.tokenWidget );\n\t\t\t}\n\t\t\tdeferreds.push( ...checkPage.apiCheckValid() );\n\t\t\tcheckPage.getQueryParams( params, displayParams, ajaxOptions );\n\t\t\tif ( checkPage.paramInfo.mustbeposted !== undefined ) {\n\t\t\t\tmethod = 'post';\n\t\t\t\tinfoMessage = mw.message( 'apisandbox-request-post' ).parseDom();\n\t\t\t}\n\t\t\tconst subpages = checkPage.getSubpages();\n\t\t\tsubpages.forEach( ( subpage ) => {\n\t\t\t\tif ( Object.prototype.hasOwnProperty.call( ApiSandbox.pages, subpage.key ) ) {\n\t\t\t\t\tcheckPages.push( ApiSandbox.pages[ subpage.key ] );\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\n\t\tif ( !paramsAreForced ) {\n\t\t\t// forced params means we are continuing a query; the base query should be preserved\n\t\t\tbaseRequestParams = Object.assign( {}, params );\n\t\t}\n\n\t\tconst Util = require( './Util.js' );\n\n\t\t$.when( ...deferreds ).done( ( ...args ) => {\n\t\t\t// Count how many times `value` occurs in `array`.\n\t\t\tconst countValues = ( value, array ) => {\n\t\t\t\tlet count = 0;\n\t\t\t\tfor ( let n = 0; n < array.length; n++ ) {\n\t\t\t\t\tif ( array[ n ] === value ) {\n\t\t\t\t\t\tcount++;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn count;\n\t\t\t};\n\n\t\t\tconst errorCount = countValues( false, args );\n\t\t\tif ( errorCount > 0 ) {\n\t\t\t\tconst actions = [\n\t\t\t\t\t{\n\t\t\t\t\t\taction: 'accept',\n\t\t\t\t\t\tlabel: OO.ui.msg( 'ooui-dialog-process-dismiss' ),\n\t\t\t\t\t\tflags: 'primary'\n\t\t\t\t\t}\n\t\t\t\t];\n\t\t\t\tlet deferred;\n\t\t\t\tif ( tokenWidgets.length ) {\n\t\t\t\t\t// Check all token widgets' validity separately\n\t\t\t\t\tdeferred = $.when( ...tokenWidgets.map( ( w ) => w.apiCheckValid( ApiSandbox.suppressErrors ) ) );\n\n\t\t\t\t\tdeferred.done( ( ...args2 ) => {\n\t\t\t\t\t\t// If only the tokens are invalid, offer to fix them\n\t\t\t\t\t\tconst tokenErrorCount = countValues( false, args2 );\n\t\t\t\t\t\tif ( tokenErrorCount === errorCount ) {\n\t\t\t\t\t\t\tdelete actions[ 0 ].flags;\n\t\t\t\t\t\t\tactions.push( {\n\t\t\t\t\t\t\t\taction: 'fix',\n\t\t\t\t\t\t\t\tlabel: mw.msg( 'apisandbox-results-fixtoken' ),\n\t\t\t\t\t\t\t\tflags: 'primary'\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t}\n\t\t\t\t\t} );\n\t\t\t\t} else {\n\t\t\t\t\tdeferred = $.Deferred().resolve();\n\t\t\t\t}\n\t\t\t\tdeferred.always( () => {\n\t\t\t\t\tApiSandbox.windowManager.openWindow( 'errorAlert', {\n\t\t\t\t\t\ttitle: Util.parseMsg( 'apisandbox-submit-invalid-fields-title' ),\n\t\t\t\t\t\tmessage: Util.parseMsg( 'apisandbox-submit-invalid-fields-message' ),\n\t\t\t\t\t\tactions: actions\n\t\t\t\t\t} ).closed.then( ( data ) => {\n\t\t\t\t\t\tif ( data && data.action === 'fix' ) {\n\t\t\t\t\t\t\tApiSandbox.fixTokenAndResend();\n\t\t\t\t\t\t}\n\t\t\t\t\t} );\n\t\t\t\t} );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( params.format === undefined ) {\n\t\t\t\t// While not required by the API, the sandbox UI makes the 'format' parameter required.\n\t\t\t\t// If we reach this point without any value for it, that's a bug, so stop here\n\t\t\t\t// (it would result in incorrect formatting on the results panel) (T395063).\n\t\t\t\tthrow new Error( \"'format' parameter is required\" );\n\t\t\t}\n\t\t\tif ( params.action === undefined ) {\n\t\t\t\t// While not required by the API, the sandbox UI makes the 'action' parameter required.\n\t\t\t\t// If we reach this point without any value for it, that's a bug, so stop here\n\t\t\t\t// (it would result in dumping the entire HTML help output on the results panel) (T395063).\n\t\t\t\tthrow new Error( \"'action' parameter is required\" );\n\t\t\t}\n\n\t\t\tconst query = $.param( displayParams );\n\n\t\t\t// Force POST if we have huge payload (T406283)\n\t\t\tif ( method !== 'post' && query.length > 7500 ) {\n\t\t\t\tmethod = 'post';\n\t\t\t\tinfoMessage = mw.message( 'apisandbox-request-post2' ).parseDom();\n\t\t\t}\n\n\t\t\tconst formatItems = Util.formatRequest( displayParams, params, method, ajaxOptions );\n\n\t\t\t// Force a 'fm' format with wrappedhtml=1, if available\n\t\t\tif ( params.format !== undefined ) {\n\t\t\t\tif ( Object.prototype.hasOwnProperty.call( ApiSandbox.availableFormats, params.format + 'fm' ) ) {\n\t\t\t\t\tparams.format = params.format + 'fm';\n\t\t\t\t}\n\t\t\t\tif ( params.format.endsWith( 'fm' ) ) {\n\t\t\t\t\tparams.wrappedhtml = 1;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tlet progressLoading = false;\n\t\t\tconst $progressText = $( '<span>' ).text( mw.msg( 'apisandbox-sending-request' ) );\n\t\t\tconst progress = new OO.ui.ProgressBarWidget( {\n\t\t\t\tprogress: false\n\t\t\t} );\n\n\t\t\tconst $result = $( '<div>' )\n\t\t\t\t.append( $progressText, progress.$element );\n\n\t\t\tconst page = resultPage = new OO.ui.PageLayout( '|results|', { expanded: false } );\n\t\t\tpage.setupOutlineItem = function () {\n\t\t\t\tthis.outlineItem.setLabel( mw.msg( 'apisandbox-results' ) );\n\t\t\t};\n\n\t\t\tif ( !ApiSandbox.formatDropdown ) {\n\t\t\t\tApiSandbox.formatDropdown = new OO.ui.DropdownWidget( {\n\t\t\t\t\tmenu: { items: [] },\n\t\t\t\t\t$overlay: true\n\t\t\t\t} );\n\t\t\t\tApiSandbox.formatDropdown.getMenu().on( 'select', Util.onFormatDropdownChange );\n\t\t\t}\n\n\t\t\tconst menu = ApiSandbox.formatDropdown.getMenu();\n\t\t\tlet selectedLabel = menu.findSelectedItem() ? menu.findSelectedItem().getLabel() : '';\n\t\t\tif ( typeof selectedLabel !== 'string' ) {\n\t\t\t\tselectedLabel = selectedLabel.text();\n\t\t\t}\n\t\t\tmenu.clearItems().addItems( formatItems );\n\t\t\tmenu.chooseItem( menu.getItemFromLabel( selectedLabel ) || menu.findFirstSelectableItem() );\n\n\t\t\t// Fire the event to update field visibilities\n\t\t\tUtil.onFormatDropdownChange();\n\n\t\t\tpage.$element.empty()\n\t\t\t\t.append(\n\t\t\t\t\tnew OO.ui.FieldLayout(\n\t\t\t\t\t\tApiSandbox.formatDropdown, {\n\t\t\t\t\t\t\tlabel: Util.parseMsg( 'apisandbox-request-selectformat-label' )\n\t\t\t\t\t\t}\n\t\t\t\t\t).$element,\n\t\t\t\t\tformatItems.map( ( item ) => item.getData().$element )\n\t\t\t\t);\n\n\t\t\tif ( method === 'post' ) {\n\t\t\t\tpage.$element.append( new OO.ui.LabelWidget( {\n\t\t\t\t\tlabel: infoMessage,\n\t\t\t\t\tclasses: [ 'oo-ui-inline-help' ]\n\t\t\t\t} ).$element );\n\t\t\t}\n\t\t\tif ( ajaxOptions.contentType === 'multipart/form-data' ) {\n\t\t\t\tpage.$element.append( new OO.ui.LabelWidget( {\n\t\t\t\t\tlabel: mw.message( 'apisandbox-request-formdata' ).parseDom(),\n\t\t\t\t\tclasses: [ 'oo-ui-inline-help' ]\n\t\t\t\t} ).$element );\n\t\t\t}\n\n\t\t\tpage.$element.append( $result );\n\n\t\t\tApiSandbox.updateUI();\n\t\t\tbooklet.setPage( '|results|' );\n\n\t\t\tconst selected = menu.findFirstSelectedItem();\n\t\t\tif ( selected ) {\n\t\t\t\tconst textInput = selected.getData().textInput;\n\t\t\t\tif ( textInput instanceof OO.ui.MultilineTextInputWidget ) {\n\t\t\t\t\ttextInput.updatePosition();\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tlocation.href = oldhash = '#' + query;\n\n\t\t\tapi[ method ]( params, Object.assign( ajaxOptions, {\n\t\t\t\tdataType: 'text',\n\t\t\t\txhr: function () {\n\t\t\t\t\tconst xhr = new window.XMLHttpRequest();\n\t\t\t\t\txhr.upload.addEventListener( 'progress', ( e ) => {\n\t\t\t\t\t\tif ( !progressLoading ) {\n\t\t\t\t\t\t\tif ( e.lengthComputable ) {\n\t\t\t\t\t\t\t\tprogress.setProgress( e.loaded * 100 / e.total );\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tprogress.setProgress( false );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t} );\n\t\t\t\t\txhr.addEventListener( 'progress', ( e ) => {\n\t\t\t\t\t\tif ( !progressLoading ) {\n\t\t\t\t\t\t\tprogressLoading = true;\n\t\t\t\t\t\t\t$progressText.text( mw.msg( 'apisandbox-loading-results' ) );\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif ( e.lengthComputable ) {\n\t\t\t\t\t\t\tprogress.setProgress( e.loaded * 100 / e.total );\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tprogress.setProgress( false );\n\t\t\t\t\t\t}\n\t\t\t\t\t} );\n\t\t\t\t\treturn xhr;\n\t\t\t\t}\n\t\t\t} ) )\n\t\t\t\t.catch( function ( code, data, result, jqXHR ) {\n\t\t\t\t\tconst d = $.Deferred();\n\n\t\t\t\t\tif ( code !== 'http' ) {\n\t\t\t\t\t\t// Not really an error, work around mw.Api thinking it is.\n\t\t\t\t\t\td.resolve( result, jqXHR );\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// Just forward it.\n\t\t\t\t\t\td.reject.apply( d, arguments );\n\t\t\t\t\t}\n\t\t\t\t\treturn d.promise();\n\t\t\t\t} )\n\t\t\t\t.then( ( data, jqXHR ) => {\n\t\t\t\t\tconst ct = jqXHR.getResponseHeader( 'Content-Type' ),\n\t\t\t\t\t\tloginSuppressed = jqXHR.getResponseHeader( 'MediaWiki-Login-Suppressed' ) || 'false';\n\n\t\t\t\t\t$result.empty();\n\t\t\t\t\tif ( loginSuppressed !== 'false' ) {\n\t\t\t\t\t\t$( '<div>' )\n\t\t\t\t\t\t\t.addClass( 'warning' )\n\t\t\t\t\t\t\t.append( Util.parseMsg( 'apisandbox-results-login-suppressed' ) )\n\t\t\t\t\t\t\t.appendTo( $result );\n\t\t\t\t\t}\n\t\t\t\t\tlet loadTime;\n\t\t\t\t\tif ( /^text\\/mediawiki-api-prettyprint-wrapped(?:;|$)/.test( ct ) ) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tdata = JSON.parse( data );\n\t\t\t\t\t\t} catch ( e ) {\n\t\t\t\t\t\t\t// API response is not JSON but e.g. an Xdebug error, show as HTML\n\t\t\t\t\t\t\tdata = { modules: {}, html: data };\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif ( data.modules.length ) {\n\t\t\t\t\t\t\tmw.loader.load( data.modules );\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif ( data.status && data.status !== 200 ) {\n\t\t\t\t\t\t\t$( '<div>' )\n\t\t\t\t\t\t\t\t.addClass( 'api-pretty-header api-pretty-status' )\n\t\t\t\t\t\t\t\t.append( Util.parseMsg( 'api-format-prettyprint-status', data.status, data.statustext ) )\n\t\t\t\t\t\t\t\t.appendTo( $result );\n\t\t\t\t\t\t}\n\t\t\t\t\t\t$result.append( Util.parseHTML( data.html ) );\n\t\t\t\t\t\tloadTime = data.time;\n\t\t\t\t\t} else {\n\t\t\t\t\t\t$( '<pre>' )\n\t\t\t\t\t\t\t.addClass( 'api-pretty-content' )\n\t\t\t\t\t\t\t.text( data )\n\t\t\t\t\t\t\t.appendTo( $result );\n\t\t\t\t\t}\n\t\t\t\t\tif ( paramsAreForced || data.continue ) {\n\t\t\t\t\t\tlet clear;\n\t\t\t\t\t\t$result.append(\n\t\t\t\t\t\t\t$( '<div>' ).append(\n\t\t\t\t\t\t\t\tnew OO.ui.ButtonWidget( {\n\t\t\t\t\t\t\t\t\tlabel: mw.msg( 'apisandbox-continue' )\n\t\t\t\t\t\t\t\t} ).on( 'click', () => {\n\t\t\t\t\t\t\t\t\tApiSandbox.sendRequest( Object.assign( {}, baseRequestParams, data.continue ) );\n\t\t\t\t\t\t\t\t} ).setDisabled( !data.continue ).$element,\n\t\t\t\t\t\t\t\t( clear = new OO.ui.ButtonWidget( {\n\t\t\t\t\t\t\t\t\tlabel: mw.msg( 'apisandbox-continue-clear' )\n\t\t\t\t\t\t\t\t} ).on( 'click', () => {\n\t\t\t\t\t\t\t\t\tApiSandbox.updateUI( baseRequestParams );\n\t\t\t\t\t\t\t\t\tclear.setDisabled( true );\n\t\t\t\t\t\t\t\t\tbooklet.setPage( '|results|' );\n\t\t\t\t\t\t\t\t} ).setDisabled( !paramsAreForced ) ).$element,\n\t\t\t\t\t\t\t\tnew OO.ui.PopupButtonWidget( {\n\t\t\t\t\t\t\t\t\t$overlay: true,\n\t\t\t\t\t\t\t\t\tframed: false,\n\t\t\t\t\t\t\t\t\ticon: 'info',\n\t\t\t\t\t\t\t\t\tpopup: {\n\t\t\t\t\t\t\t\t\t\t$content: $( '<div>' ).append( Util.parseMsg( 'apisandbox-continue-help' ) ),\n\t\t\t\t\t\t\t\t\t\tpadded: true,\n\t\t\t\t\t\t\t\t\t\twidth: 'auto'\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t} ).$element\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\tif ( typeof loadTime === 'number' ) {\n\t\t\t\t\t\t$result.append(\n\t\t\t\t\t\t\t$( '<div>' ).append(\n\t\t\t\t\t\t\t\tnew OO.ui.LabelWidget( {\n\t\t\t\t\t\t\t\t\tlabel: mw.msg( 'apisandbox-request-time', loadTime )\n\t\t\t\t\t\t\t\t} ).$element\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( jqXHR.getResponseHeader( 'MediaWiki-API-Error' ) === 'badtoken' ) {\n\t\t\t\t\t\t// Flush all saved tokens in case one of them is the bad one.\n\t\t\t\t\t\tUtil.markTokensBad();\n\t\t\t\t\t\tconst button = new OO.ui.ButtonWidget( {\n\t\t\t\t\t\t\tlabel: mw.msg( 'apisandbox-results-fixtoken' )\n\t\t\t\t\t\t} );\n\t\t\t\t\t\tbutton.on( 'click', () => {\n\t\t\t\t\t\t\tApiSandbox.fixTokenAndResend();\n\t\t\t\t\t\t\tbutton.setDisabled( true );\n\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t.$element.appendTo( $result );\n\t\t\t\t\t}\n\t\t\t\t}, ( code, data ) => {\n\t\t\t\t\tconst details = 'HTTP error: ' + data.exception;\n\t\t\t\t\t$result.empty()\n\t\t\t\t\t\t.append(\n\t\t\t\t\t\t\tnew OO.ui.LabelWidget( {\n\t\t\t\t\t\t\t\tlabel: mw.msg( 'apisandbox-results-error', details ),\n\t\t\t\t\t\t\t\tclasses: [ 'error' ]\n\t\t\t\t\t\t\t} ).$element\n\t\t\t\t\t\t);\n\t\t\t\t} );\n\t\t} );\n\t},\n\n\t/**\n\t * Handler for the \"Correct token and resubmit\" button\n\t *\n\t * Used on a 'badtoken' error, it re-fetches token parameters for all\n\t * pages and then re-submits the query.\n\t */\n\tfixTokenAndResend: function () {\n\t\tlet ok = true;\n\t\tconst tokenWait = { dummy: true },\n\t\t\tcheckPages = [ ApiSandbox.pages.main ],\n\t\t\tsuccess = function ( k ) {\n\t\t\t\tdelete tokenWait[ k ];\n\t\t\t\tif ( ok && $.isEmptyObject( tokenWait ) ) {\n\t\t\t\t\tApiSandbox.sendRequest();\n\t\t\t\t}\n\t\t\t},\n\t\t\tfailure = function ( k ) {\n\t\t\t\tdelete tokenWait[ k ];\n\t\t\t\tok = false;\n\t\t\t};\n\n\t\twhile ( checkPages.length ) {\n\t\t\tconst page = checkPages.shift();\n\n\t\t\tif ( page.tokenWidget ) {\n\t\t\t\tconst key = page.apiModule + page.tokenWidget.paramInfo.name;\n\t\t\t\ttokenWait[ key ] = page.tokenWidget.fetchToken();\n\t\t\t\ttokenWait[ key ]\n\t\t\t\t\t.done( success.bind( page.tokenWidget, key ) )\n\t\t\t\t\t.fail( failure.bind( page.tokenWidget, key ) );\n\t\t\t}\n\n\t\t\tconst subpages = page.getSubpages();\n\t\t\tsubpages.forEach( ( subpage ) => {\n\t\t\t\tif ( Object.prototype.hasOwnProperty.call( ApiSandbox.pages, subpage.key ) ) {\n\t\t\t\t\tcheckPages.push( ApiSandbox.pages[ subpage.key ] );\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\n\t\tsuccess( 'dummy', '' );\n\t},\n\n\t/**\n\t * Reset validity indicators for all widgets\n\t */\n\tupdateValidityIndicators: function () {\n\t\tconst checkPages = [ ApiSandbox.pages.main ];\n\n\t\twhile ( checkPages.length ) {\n\t\t\tconst page = checkPages.shift();\n\t\t\tpage.apiCheckValid();\n\t\t\tconst subpages = page.getSubpages();\n\t\t\tsubpages.forEach( ( subpage ) => {\n\t\t\t\tif ( Object.prototype.hasOwnProperty.call( ApiSandbox.pages, subpage.key ) ) {\n\t\t\t\t\tcheckPages.push( ApiSandbox.pages[ subpage.key ] );\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\t}\n};\n\nmodule.exports = ApiSandbox;\n","usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.special.apisandbox/ApiSandboxLayout.js","messages":[{"ruleId":"jsdoc/require-returns","severity":1,"message":"Found more than one @return declaration.","line":44,"column":1,"nodeType":"Block","endLine":54,"endColumn":4},{"ruleId":"jsdoc/require-returns-check","severity":1,"message":"Found more than one @return declaration.","line":44,"column":1,"nodeType":"Block","endLine":54,"endColumn":4},{"ruleId":"mediawiki/no-unlabeled-buttonwidget","severity":1,"message":"OOUI button has no label. Even icon-only buttons should set a label with invisibleLabel set to true.","line":403,"column":19,"nodeType":"NewExpression","messageId":"noLabel","endLine":406,"endColumn":7},{"ruleId":"mediawiki/no-unlabeled-buttonwidget","severity":1,"message":"OOUI button has no label. Even icon-only buttons should set a label with invisibleLabel set to true.","line":584,"column":7,"nodeType":"NewExpression","messageId":"noLabel","endLine":587,"endColumn":10}],"suppressedMessages":[{"ruleId":"no-jquery/no-each-util","severity":2,"message":"Prefer Array#forEach to $.each","line":250,"column":2,"nodeType":"CallExpression","endLine":254,"endColumn":5,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-each-util","severity":2,"message":"Prefer Array#forEach to $.each","line":335,"column":5,"nodeType":"CallExpression","endLine":337,"endColumn":8,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-each-util","severity":2,"message":"Prefer Array#forEach to $.each","line":351,"column":3,"nodeType":"CallExpression","endLine":351,"endColumn":30,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-map-util","severity":2,"message":"Prefer Array#map to $.map","line":355,"column":13,"nodeType":"CallExpression","endLine":358,"endColumn":5,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-map-util","severity":2,"message":"Prefer Array#map to $.map","line":662,"column":20,"nodeType":"CallExpression","endLine":662,"endColumn":106,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-each-util","severity":2,"message":"Prefer Array#forEach to $.each","line":686,"column":3,"nodeType":"CallExpression","endLine":689,"endColumn":6,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-each-util","severity":2,"message":"Prefer Array#forEach to $.each","line":704,"column":2,"nodeType":"CallExpression","endLine":716,"endColumn":5,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-each-util","severity":2,"message":"Prefer Array#forEach to $.each","line":727,"column":2,"nodeType":"CallExpression","endLine":737,"endColumn":5,"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":4,"fixableErrorCount":0,"fixableWarningCount":0,"source":"const ParamLabelWidget = require( './ParamLabelWidget.js' ),\n\tOptionalParamWidget = require( './OptionalParamWidget.js' ),\n\tApiSandbox = require( './ApiSandbox.js' ),\n\tUtil = require( './Util.js' );\n\n/**\n * PageLayout for API modules\n *\n * @class\n * @private\n * @extends OO.ui.PageLayout\n * @constructor\n * @param {Object} [config] Configuration options\n */\nfunction ApiSandboxLayout( config ) {\n\tconfig = Object.assign( { prefix: '', expanded: false }, config );\n\tthis.displayText = config.key;\n\tthis.apiModule = config.path;\n\tthis.prefix = config.prefix;\n\tthis.paramInfo = null;\n\tthis.apiIsValid = true;\n\tthis.loadFromQueryParams = null;\n\tthis.widgets = {};\n\tthis.itemsFieldset = null;\n\tthis.deprecatedItemsFieldset = null;\n\tthis.templatedItemsCache = {};\n\tthis.tokenWidget = null;\n\tthis.indentLevel = config.indentLevel ? config.indentLevel : 0;\n\tApiSandboxLayout.super.call( this, config.key, config );\n\tthis.loadParamInfo();\n}\n\nOO.inheritClass( ApiSandboxLayout, OO.ui.PageLayout );\n\nApiSandboxLayout.prototype.setupOutlineItem = function () {\n\tthis.outlineItem.setLevel( this.indentLevel );\n\tthis.outlineItem.setLabel( this.displayText );\n\tthis.outlineItem.setIcon( this.apiIsValid || ApiSandbox.suppressErrors ? null : 'alert' );\n\tthis.outlineItem.setTitle(\n\t\tthis.apiIsValid || ApiSandbox.suppressErrors ? '' : mw.message( 'apisandbox-alert-page' ).plain()\n\t);\n};\n\n/**\n * Create a widget and the FieldLayouts it needs\n *\n * @private\n * @param {Object} ppi API paraminfo data for the parameter\n * @param {string} name API parameter name\n * @return {Object}\n * @return {OO.ui.Widget} return.widget\n * @return {OO.ui.FieldLayout} return.widgetField\n * @return {OO.ui.FieldLayout} return.helpField\n */\nApiSandboxLayout.prototype.makeWidgetFieldLayouts = function ( ppi, name ) {\n\tconst widget = Util.createWidgetForParameter( ppi );\n\tif ( ppi.tokentype ) {\n\t\tthis.tokenWidget = widget;\n\t}\n\tif ( this.paramInfo.templatedparameters.length ) {\n\t\twidget.on( 'change', () => {\n\t\t\tthis.updateTemplatedParameters( null );\n\t\t} );\n\t}\n\n\tconst helpLabel = new ParamLabelWidget();\n\n\tlet $tmp = Util.parseHTML( ppi.description );\n\t$tmp.filter( 'dl' ).makeCollapsible( {\n\t\tcollapsed: true\n\t} ).children( '.mw-collapsible-toggle' ).each( ( i, el ) => {\n\t\tconst $el = $( el );\n\t\t$el.parent().prev( 'p' ).append( $el );\n\t} );\n\thelpLabel.addDescription( $tmp );\n\n\tif ( ppi.info && ppi.info.length ) {\n\t\tfor ( let i = 0; i < ppi.info.length; i++ ) {\n\t\t\thelpLabel.addInfo( Util.parseHTML( ppi.info[ i ].text ) );\n\t\t}\n\t}\n\tlet flag = true;\n\tlet count = Infinity;\n\tlet tmp;\n\tswitch ( ppi.type ) {\n\t\tcase 'namespace':\n\t\t\tflag = false;\n\t\t\tcount = mw.config.get( 'wgFormattedNamespaces' ).length;\n\t\t\tbreak;\n\n\t\tcase 'limit':\n\t\t\ttmp = [\n\t\t\t\tmw.message(\n\t\t\t\t\t'paramvalidator-help-type-number-minmax', 1,\n\t\t\t\t\twidget.paramInfo.min, widget.paramInfo.apiSandboxMax\n\t\t\t\t).parse(),\n\t\t\t\tmw.message( 'apisandbox-param-limit' ).parse()\n\t\t\t];\n\t\t\thelpLabel.addInfo( Util.parseHTML( tmp.join( mw.msg( 'word-separator' ) ) ) );\n\t\t\tbreak;\n\n\t\tcase 'integer':\n\t\t\ttmp = '';\n\t\t\tif ( ppi.min !== undefined ) {\n\t\t\t\ttmp += 'min';\n\t\t\t}\n\t\t\tif ( ppi.max !== undefined ) {\n\t\t\t\ttmp += 'max';\n\t\t\t}\n\t\t\tif ( tmp !== '' ) {\n\t\t\t\thelpLabel.addInfo(\n\t\t\t\t\tUtil.parseMsg(\n\t\t\t\t\t\t'paramvalidator-help-type-number-' + tmp,\n\t\t\t\t\t\tUtil.apiBool( ppi.multi ) ? 2 : 1,\n\t\t\t\t\t\tppi.min, ppi.max\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t}\n\t\t\tbreak;\n\n\t\tdefault:\n\t\t\tif ( Array.isArray( ppi.type ) ) {\n\t\t\t\tflag = false;\n\t\t\t\tcount = ppi.type.length;\n\t\t\t}\n\t\t\tbreak;\n\t}\n\tif ( Util.apiBool( ppi.multi ) ) {\n\t\ttmp = [];\n\t\tif ( flag && !( widget instanceof OO.ui.TagMultiselectWidget ) &&\n\t\t\t!(\n\t\t\t\twidget instanceof OptionalParamWidget &&\n\t\t\t\twidget.widget instanceof OO.ui.TagMultiselectWidget\n\t\t\t)\n\t\t) {\n\t\t\ttmp.push( mw.message( 'api-help-param-multi-separate' ).parse() );\n\t\t}\n\t\tif ( count > ppi.lowlimit ) {\n\t\t\ttmp.push(\n\t\t\t\tmw.message( 'paramvalidator-help-multi-max', ppi.lowlimit, ppi.highlimit ).parse()\n\t\t\t);\n\t\t}\n\t\tif ( tmp.length ) {\n\t\t\thelpLabel.addInfo( Util.parseHTML( tmp.join( mw.msg( 'word-separator' ) ) ) );\n\t\t}\n\t}\n\tif ( 'maxbytes' in ppi ) {\n\t\thelpLabel.addInfo( Util.parseMsg( 'paramvalidator-help-type-string-maxbytes', ppi.maxbytes ) );\n\t}\n\tif ( 'maxchars' in ppi ) {\n\t\thelpLabel.addInfo( Util.parseMsg( 'paramvalidator-help-type-string-maxchars', ppi.maxchars ) );\n\t}\n\tif ( ppi.usedTemplateVars && ppi.usedTemplateVars.length ) {\n\t\t$tmp = $();\n\t\tfor ( let j = 0, l = ppi.usedTemplateVars.length; j < l; j++ ) {\n\t\t\t$tmp = $tmp.add( $( '<var>' ).text( ppi.usedTemplateVars[ j ] ) );\n\t\t\tif ( j === l - 2 ) {\n\t\t\t\t$tmp = $tmp.add( mw.message( 'and' ).parseDom() );\n\t\t\t\t$tmp = $tmp.add( mw.message( 'word-separator' ).parseDom() );\n\t\t\t} else if ( j !== l - 1 ) {\n\t\t\t\t$tmp = $tmp.add( mw.message( 'comma-separator' ).parseDom() );\n\t\t\t}\n\t\t}\n\t\thelpLabel.addInfo(\n\t\t\tUtil.parseMsg(\n\t\t\t\t'apisandbox-templated-parameter-reason',\n\t\t\t\tppi.usedTemplateVars.length,\n\t\t\t\t$tmp\n\t\t\t)\n\t\t);\n\t}\n\n\t// TODO: Consder adding more options for the position of helpInline\n\t// so that this can become part of the widgetField, instead of\n\t// having to use a separate field.\n\tconst helpField = new OO.ui.FieldLayout(\n\t\thelpLabel,\n\t\t{\n\t\t\talign: 'top',\n\t\t\tclasses: [ 'mw-apisandbox-help-field' ]\n\t\t}\n\t);\n\n\tconst layoutConfig = {\n\t\talign: 'left',\n\t\tclasses: [ 'mw-apisandbox-widget-field' ],\n\t\tlabel: name\n\t};\n\n\tlet widgetField;\n\tif ( ppi.tokentype ) {\n\t\tconst button = new OO.ui.ButtonWidget( {\n\t\t\tlabel: mw.msg( 'apisandbox-fetch-token' )\n\t\t} );\n\t\tbutton.on( 'click', () => {\n\t\t\twidget.fetchToken();\n\t\t} );\n\n\t\twidgetField = new OO.ui.ActionFieldLayout( widget, button, layoutConfig );\n\t} else {\n\t\twidgetField = new OO.ui.FieldLayout( widget, layoutConfig );\n\t}\n\n\t// We need our own click handler on the widget label to\n\t// turn off the disablement.\n\twidgetField.$label.on( 'click', () => {\n\t\tif ( typeof widget.setDisabled === 'function' ) {\n\t\t\twidget.setDisabled( false );\n\t\t}\n\t\tif ( typeof widget.focus === 'function' ) {\n\t\t\twidget.focus();\n\t\t}\n\t} );\n\n\t// Don't grey out the label when the field is disabled,\n\t// it makes it too hard to read and our \"disabled\"\n\t// isn't really disabled.\n\twidgetField.onFieldDisable( false );\n\twidgetField.onFieldDisable = function () {};\n\n\twidgetField.apiParamIndex = ppi.index;\n\n\treturn {\n\t\twidget: widget,\n\t\twidgetField: widgetField,\n\t\thelpField: helpField\n\t};\n};\n\n/**\n * Update templated parameters in the page\n *\n * @private\n * @param {Object} [params] Query parameters for initializing the widgets\n */\nApiSandboxLayout.prototype.updateTemplatedParameters = function ( params ) {\n\tconst pi = this.paramInfo,\n\t\tprefix = this.prefix + pi.prefix;\n\n\tif ( !pi || !pi.templatedparameters.length ) {\n\t\treturn;\n\t}\n\n\tif ( !$.isPlainObject( params ) ) {\n\t\tparams = null;\n\t}\n\n\tlet toRemove = {};\n\t// eslint-disable-next-line no-jquery/no-each-util\n\t$.each( this.templatedItemsCache, ( k, el ) => {\n\t\tif ( el.widget.isElementAttached() ) {\n\t\t\ttoRemove[ k ] = el;\n\t\t}\n\t} );\n\n\t// This bit duplicates the PHP logic in ApiBase::extractRequestParams().\n\t// If you update this, see if that needs updating too.\n\tconst toProcess = pi.templatedparameters.map( ( info ) => ( {\n\t\tname: prefix + info.name,\n\t\tinfo: info,\n\t\tvars: Object.assign( {}, info.templatevars ),\n\t\tusedVars: []\n\t} ) );\n\tlet p;\n\tconst doProcess = ( placeholder, target ) => {\n\t\ttarget = prefix + target;\n\n\t\tif ( !this.widgets[ target ] ) {\n\t\t\t// The target wasn't processed yet, try the next one.\n\t\t\t// If all hit this case, the parameter has no expansions.\n\t\t\treturn true;\n\t\t}\n\n\t\tif ( !this.widgets[ target ].getApiValueForTemplates ) {\n\t\t\t// Not a multi-valued widget, so it can't have expansions.\n\t\t\treturn false;\n\t\t}\n\n\t\tconst values = this.widgets[ target ].getApiValueForTemplates();\n\t\tif ( !Array.isArray( values ) || !values.length ) {\n\t\t\t// The target was processed but has no (valid) values.\n\t\t\t// That means it has no expansions.\n\t\t\treturn false;\n\t\t}\n\n\t\t// Expand this target in the name and all other targets,\n\t\t// then requeue if there are more targets left or create the widget\n\t\t// and add it to the form if all are done.\n\t\tdelete p.vars[ placeholder ];\n\t\tconst usedVars = p.usedVars.concat( [ target ] );\n\t\tplaceholder = '{' + placeholder + '}';\n\t\tconst done = $.isEmptyObject( p.vars );\n\t\tlet index, container;\n\t\tif ( done ) {\n\t\t\tcontainer = Util.apiBool( p.info.deprecated ) ? this.deprecatedItemsFieldset : this.itemsFieldset;\n\t\t\tconst items = container.getItems();\n\t\t\tfor ( let i = 0; i < items.length; i++ ) {\n\t\t\t\tif ( items[ i ].apiParamIndex !== undefined && items[ i ].apiParamIndex > p.info.index ) {\n\t\t\t\t\tindex = i;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tvalues.forEach( ( value ) => {\n\t\t\tif ( !/^[^{}]*$/.exec( value ) ) {\n\t\t\t\t// Skip values that make invalid parameter names\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst name = p.name.replace( placeholder, value );\n\t\t\tif ( done ) {\n\t\t\t\tlet tmp;\n\t\t\t\tif ( this.templatedItemsCache[ name ] ) {\n\t\t\t\t\ttmp = this.templatedItemsCache[ name ];\n\t\t\t\t} else {\n\t\t\t\t\ttmp = this.makeWidgetFieldLayouts(\n\t\t\t\t\t\tObject.assign( {}, p.info, { usedTemplateVars: usedVars } ), name\n\t\t\t\t\t);\n\t\t\t\t\tthis.templatedItemsCache[ name ] = tmp;\n\t\t\t\t}\n\t\t\t\tdelete toRemove[ name ];\n\t\t\t\tif ( !tmp.widget.isElementAttached() ) {\n\t\t\t\t\tthis.widgets[ name ] = tmp.widget;\n\t\t\t\t\tcontainer.addItems( [ tmp.widgetField, tmp.helpField ], index );\n\t\t\t\t\tif ( index !== undefined ) {\n\t\t\t\t\t\tindex += 2;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif ( params ) {\n\t\t\t\t\ttmp.widget.setApiValue( Object.prototype.hasOwnProperty.call( params, name ) ? params[ name ] : undefined );\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tconst newVars = {};\n\t\t\t\t// eslint-disable-next-line no-jquery/no-each-util\n\t\t\t\t$.each( p.vars, ( k, v ) => {\n\t\t\t\t\tnewVars[ k ] = v.replace( placeholder, value );\n\t\t\t\t} );\n\t\t\t\ttoProcess.push( {\n\t\t\t\t\tname: name,\n\t\t\t\t\tinfo: p.info,\n\t\t\t\t\tvars: newVars,\n\t\t\t\t\tusedVars: usedVars\n\t\t\t\t} );\n\t\t\t}\n\t\t} );\n\t\treturn false;\n\t};\n\twhile ( toProcess.length ) {\n\t\tp = toProcess.shift();\n\t\t// eslint-disable-next-line no-jquery/no-each-util\n\t\t$.each( p.vars, doProcess );\n\t}\n\n\t// eslint-disable-next-line no-jquery/no-map-util\n\ttoRemove = $.map( toRemove, ( el, name ) => {\n\t\tdelete this.widgets[ name ];\n\t\treturn [ el.widgetField, el.helpField ];\n\t} );\n\tif ( toRemove.length ) {\n\t\tthis.itemsFieldset.removeItems( toRemove );\n\t\tthis.deprecatedItemsFieldset.removeItems( toRemove );\n\t}\n};\n\n/**\n * Fetch module information for this page's module, then create UI\n */\nApiSandboxLayout.prototype.loadParamInfo = function () {\n\tlet dynamicFieldset, dynamicParamNameWidget;\n\tconst removeDynamicParamWidget = ( name, item ) => {\n\t\t\tdynamicFieldset.removeItems( [ item ] );\n\t\t\tdelete this.widgets[ name ];\n\t\t},\n\t\taddDynamicParamWidget = () => {\n\t\t\t// Check name is filled in\n\t\t\tconst name = dynamicParamNameWidget.getValue().trim();\n\t\t\tif ( name === '' ) {\n\t\t\t\tdynamicParamNameWidget.focus();\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( this.widgets[ name ] !== undefined ) {\n\t\t\t\tApiSandbox.windowManager.openWindow( 'errorAlert', {\n\t\t\t\t\ttitle: Util.parseMsg( 'apisandbox-dynamic-error-exists', name ),\n\t\t\t\t\tactions: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\taction: 'accept',\n\t\t\t\t\t\t\tlabel: OO.ui.msg( 'ooui-dialog-process-dismiss' ),\n\t\t\t\t\t\t\tflags: 'primary'\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t} );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst widget = Util.createWidgetForParameter( {\n\t\t\t\tname: name,\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: ''\n\t\t\t}, {\n\t\t\t\tnooptional: true\n\t\t\t} );\n\t\t\tconst button = new OO.ui.ButtonWidget( {\n\t\t\t\ticon: 'trash',\n\t\t\t\tflags: 'destructive'\n\t\t\t} );\n\t\t\tconst actionFieldLayout = new OO.ui.ActionFieldLayout(\n\t\t\t\twidget,\n\t\t\t\tbutton,\n\t\t\t\t{\n\t\t\t\t\tlabel: name,\n\t\t\t\t\talign: 'left'\n\t\t\t\t}\n\t\t\t);\n\t\t\tbutton.on( 'click', () => {\n\t\t\t\tremoveDynamicParamWidget( name, actionFieldLayout );\n\t\t\t} );\n\t\t\tthis.widgets[ name ] = widget;\n\t\t\tdynamicFieldset.addItems( [ actionFieldLayout ], dynamicFieldset.getItemCount() - 1 );\n\t\t\twidget.focus();\n\n\t\t\tdynamicParamNameWidget.setValue( '' );\n\t\t};\n\n\tthis.$element.empty()\n\t\t.append(\n\t\t\tdocument.createTextNode(\n\t\t\t\tmw.msg( 'apisandbox-loading', this.displayText )\n\t\t\t),\n\t\t\tnew OO.ui.ProgressBarWidget( { progress: false } ).$element\n\t\t);\n\n\tUtil.fetchModuleInfo( this.apiModule )\n\t\t.done( ( pi ) => {\n\t\t\tconst items = [],\n\t\t\t\tdeprecatedItems = [],\n\t\t\t\tbuttons = [],\n\t\t\t\tfilterFmModules = ( v ) => !v.endsWith( 'fm' ) ||\n\t\t\t\t\t!Object.prototype.hasOwnProperty.call( ApiSandbox.availableFormats, v.slice( 0, -2 ) );\n\n\t\t\t// This is something of a hack. We always want the 'format' and\n\t\t\t// 'action' parameters from the main module to be specified,\n\t\t\t// and for 'format' we also want to simplify the dropdown since\n\t\t\t// we always send the 'fm' variant.\n\t\t\tif ( this.apiModule === 'main' ) {\n\t\t\t\tpi.parameters.forEach( ( parameter ) => {\n\t\t\t\t\tif ( parameter.name === 'action' ) {\n\t\t\t\t\t\tparameter.required = true;\n\t\t\t\t\t\tdelete parameter.default;\n\t\t\t\t\t}\n\t\t\t\t\tif ( parameter.name === 'format' ) {\n\t\t\t\t\t\tconst types = parameter.type;\n\t\t\t\t\t\ttypes.forEach( ( type ) => {\n\t\t\t\t\t\t\tApiSandbox.availableFormats[ type ] = true;\n\t\t\t\t\t\t} );\n\t\t\t\t\t\tparameter.type = types.filter( filterFmModules );\n\t\t\t\t\t\tparameter.default = 'json';\n\t\t\t\t\t\tparameter.required = true;\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\t// Hide the 'wrappedhtml' parameter on format modules\n\t\t\t// and make formatversion default to the latest version for humans\n\t\t\t// (even though machines get a different default for b/c)\n\t\t\tif ( pi.group === 'format' ) {\n\t\t\t\tpi.parameters = pi.parameters.filter( ( p ) => p.name !== 'wrappedhtml' ).map( ( p ) => {\n\t\t\t\t\tif ( p.name === 'formatversion' ) {\n\t\t\t\t\t\t// Use the highest numeric value\n\t\t\t\t\t\tp.default = p.type.reduce( ( prev, current ) => !isNaN( current ) ? Math.max( prev, current ) : prev );\n\t\t\t\t\t\tp.required = true;\n\t\t\t\t\t}\n\t\t\t\t\treturn p;\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\tthis.paramInfo = pi;\n\n\t\t\tlet $desc = Util.parseHTML( pi.description );\n\t\t\tif ( pi.deprecated !== undefined ) {\n\t\t\t\t$desc = $( '<span>' ).addClass( 'apihelp-deprecated' ).text( mw.msg( 'api-help-param-deprecated' ) )\n\t\t\t\t\t.add( document.createTextNode( mw.msg( 'word-separator' ) ) ).add( $desc );\n\t\t\t}\n\t\t\tif ( pi.internal !== undefined ) {\n\t\t\t\t$desc = $( '<span>' ).addClass( 'apihelp-internal' ).text( mw.msg( 'api-help-param-internal' ) )\n\t\t\t\t\t.add( document.createTextNode( mw.msg( 'word-separator' ) ) ).add( $desc );\n\t\t\t}\n\t\t\titems.push( new OO.ui.FieldLayout(\n\t\t\t\tnew OO.ui.Widget( {} ).toggle( false ), {\n\t\t\t\t\talign: 'top',\n\t\t\t\t\tlabel: $desc\n\t\t\t\t}\n\t\t\t) );\n\n\t\t\tif ( pi.helpurls.length ) {\n\t\t\t\tbuttons.push( new OO.ui.PopupButtonWidget( {\n\t\t\t\t\t$overlay: true,\n\t\t\t\t\tlabel: mw.msg( 'apisandbox-helpurls' ),\n\t\t\t\t\ticon: 'help',\n\t\t\t\t\tpopup: {\n\t\t\t\t\t\twidth: 'auto',\n\t\t\t\t\t\tpadded: true,\n\t\t\t\t\t\tclasses: [ 'mw-apisandbox-popup-help' ],\n\t\t\t\t\t\t$content: $( '<ul>' ).append( pi.helpurls.map( ( link ) => $( '<li>' ).append( $( '<a>' )\n\t\t\t\t\t\t\t.attr( { href: link, target: '_blank' } )\n\t\t\t\t\t\t\t.text( link )\n\t\t\t\t\t\t) ) )\n\t\t\t\t\t}\n\t\t\t\t} ) );\n\t\t\t}\n\n\t\t\tif ( pi.examples.length ) {\n\t\t\t\tbuttons.push( new OO.ui.PopupButtonWidget( {\n\t\t\t\t\t$overlay: true,\n\t\t\t\t\tlabel: mw.msg( 'apisandbox-examples' ),\n\t\t\t\t\ticon: 'code',\n\t\t\t\t\tpopup: {\n\t\t\t\t\t\twidth: 'auto',\n\t\t\t\t\t\tpadded: true,\n\t\t\t\t\t\tclasses: [ 'mw-apisandbox-popup-help' ],\n\t\t\t\t\t\t$content: $( '<ul>' ).append( pi.examples.map( ( example ) => {\n\t\t\t\t\t\t\tconst $a = $( '<a>' )\n\t\t\t\t\t\t\t\t.attr( 'href', '#' + example.query )\n\t\t\t\t\t\t\t\t.html( example.description );\n\t\t\t\t\t\t\t$a.find( 'a' ).contents().unwrap(); // Can't nest links\n\t\t\t\t\t\t\treturn $( '<li>' ).append( $a );\n\t\t\t\t\t\t} ) )\n\t\t\t\t\t}\n\t\t\t\t} ) );\n\t\t\t}\n\n\t\t\tif ( buttons.length ) {\n\t\t\t\titems.push( new OO.ui.FieldLayout(\n\t\t\t\t\tnew OO.ui.ButtonGroupWidget( {\n\t\t\t\t\t\titems: buttons\n\t\t\t\t\t} ), { align: 'top' }\n\t\t\t\t) );\n\t\t\t}\n\n\t\t\tif ( pi.parameters.length ) {\n\t\t\t\tconst prefix = this.prefix + pi.prefix;\n\t\t\t\tpi.parameters.forEach( ( parameter ) => {\n\t\t\t\t\tconst tmpLayout = this.makeWidgetFieldLayouts( parameter, prefix + parameter.name );\n\t\t\t\t\tthis.widgets[ prefix + parameter.name ] = tmpLayout.widget;\n\t\t\t\t\tif ( Util.apiBool( parameter.deprecated ) ) {\n\t\t\t\t\t\tdeprecatedItems.push( tmpLayout.widgetField, tmpLayout.helpField );\n\t\t\t\t\t} else {\n\t\t\t\t\t\titems.push( tmpLayout.widgetField, tmpLayout.helpField );\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\tif ( !pi.parameters.length && !Util.apiBool( pi.dynamicparameters ) ) {\n\t\t\t\titems.push( new OO.ui.FieldLayout(\n\t\t\t\t\tnew OO.ui.Widget( {} ).toggle( false ), {\n\t\t\t\t\t\talign: 'top',\n\t\t\t\t\t\tlabel: Util.parseMsg( 'apisandbox-no-parameters' )\n\t\t\t\t\t}\n\t\t\t\t) );\n\t\t\t}\n\n\t\t\tthis.$element.empty();\n\n\t\t\tthis.itemsFieldset = new OO.ui.FieldsetLayout( {\n\t\t\t\tlabel: this.displayText\n\t\t\t} );\n\t\t\tthis.itemsFieldset.addItems( items );\n\t\t\tthis.itemsFieldset.$element.appendTo( this.$element );\n\n\t\t\tif ( Util.apiBool( pi.dynamicparameters ) ) {\n\t\t\t\tdynamicFieldset = new OO.ui.FieldsetLayout();\n\t\t\t\tdynamicParamNameWidget = new OO.ui.TextInputWidget( {\n\t\t\t\t\tplaceholder: mw.msg( 'apisandbox-dynamic-parameters-add-placeholder' )\n\t\t\t\t} ).on( 'enter', addDynamicParamWidget );\n\t\t\t\tdynamicFieldset.addItems( [\n\t\t\t\t\tnew OO.ui.FieldLayout(\n\t\t\t\t\t\tnew OO.ui.Widget( {} ).toggle( false ), {\n\t\t\t\t\t\t\talign: 'top',\n\t\t\t\t\t\t\tlabel: Util.parseHTML( pi.dynamicparameters )\n\t\t\t\t\t\t}\n\t\t\t\t\t),\n\t\t\t\t\tnew OO.ui.ActionFieldLayout(\n\t\t\t\t\t\tdynamicParamNameWidget,\n\t\t\t\t\t\tnew OO.ui.ButtonWidget( {\n\t\t\t\t\t\t\ticon: 'add',\n\t\t\t\t\t\t\tflags: 'progressive'\n\t\t\t\t\t\t} ).on( 'click', addDynamicParamWidget ),\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: mw.msg( 'apisandbox-dynamic-parameters-add-label' ),\n\t\t\t\t\t\t\talign: 'left'\n\t\t\t\t\t\t}\n\t\t\t\t\t)\n\t\t\t\t] );\n\t\t\t\t$( '<fieldset>' )\n\t\t\t\t\t.append(\n\t\t\t\t\t\t$( '<legend>' ).text( mw.msg( 'apisandbox-dynamic-parameters' ) ),\n\t\t\t\t\t\tdynamicFieldset.$element\n\t\t\t\t\t)\n\t\t\t\t\t.appendTo( this.$element );\n\t\t\t}\n\n\t\t\tthis.deprecatedItemsFieldset = new OO.ui.FieldsetLayout().addItems( deprecatedItems ).toggle( false );\n\t\t\tconst $tmp = $( '<fieldset>' )\n\t\t\t\t.toggle( !this.deprecatedItemsFieldset.isEmpty() )\n\t\t\t\t.append(\n\t\t\t\t\t$( '<legend>' ).append(\n\t\t\t\t\t\tnew OO.ui.ToggleButtonWidget( {\n\t\t\t\t\t\t\tlabel: mw.msg( 'apisandbox-deprecated-parameters' )\n\t\t\t\t\t\t} ).on( 'change', () => {\n\t\t\t\t\t\t\tthis.deprecatedItemsFieldset.toggle();\n\t\t\t\t\t\t} ).$element\n\t\t\t\t\t),\n\t\t\t\t\tthis.deprecatedItemsFieldset.$element\n\t\t\t\t)\n\t\t\t\t.appendTo( this.$element );\n\t\t\tthis.deprecatedItemsFieldset.on( 'add', () => {\n\t\t\t\t$tmp.toggle( !this.deprecatedItemsFieldset.isEmpty() );\n\t\t\t} );\n\t\t\tthis.deprecatedItemsFieldset.on( 'remove', () => {\n\t\t\t\t$tmp.toggle( !this.deprecatedItemsFieldset.isEmpty() );\n\t\t\t} );\n\t\t\t// Load stored params, if any, then update the booklet if we\n\t\t\t// have subpages (or else just update our valid-indicator).\n\t\t\tconst tmp = this.loadFromQueryParams;\n\t\t\tthis.loadFromQueryParams = null;\n\t\t\tif ( $.isPlainObject( tmp ) ) {\n\t\t\t\tthis.loadQueryParams( tmp );\n\t\t\t} else {\n\t\t\t\tthis.updateTemplatedParameters();\n\t\t\t}\n\t\t\tif ( this.getSubpages().length > 0 ) {\n\t\t\t\tApiSandbox.updateUI( tmp );\n\t\t\t} else {\n\t\t\t\tthis.apiCheckValid();\n\t\t\t}\n\t\t} ).fail( ( code, detail ) => {\n\t\t\tthis.$element.empty()\n\t\t\t\t.append(\n\t\t\t\t\tnew OO.ui.LabelWidget( {\n\t\t\t\t\t\tlabel: mw.msg( 'apisandbox-load-error', this.apiModule, detail ),\n\t\t\t\t\t\tclasses: [ 'error' ]\n\t\t\t\t\t} ).$element,\n\t\t\t\t\tnew OO.ui.ButtonWidget( {\n\t\t\t\t\t\tlabel: mw.msg( 'apisandbox-retry' )\n\t\t\t\t\t} ).on( 'click', () => {\n\t\t\t\t\t\tthis.loadParamInfo();\n\t\t\t\t\t} ).$element\n\t\t\t\t);\n\t\t} );\n};\n\n/**\n * Check that all widgets on the page are in a valid state.\n *\n * @return {jQuery.Promise[]} One promise for each widget, resolved with `false` if invalid\n */\nApiSandboxLayout.prototype.apiCheckValid = function () {\n\tif ( this.paramInfo === null ) {\n\t\treturn [];\n\t} else {\n\t\t// eslint-disable-next-line no-jquery/no-map-util\n\t\tconst promises = $.map( this.widgets, ( widget ) => widget.apiCheckValid( ApiSandbox.suppressErrors ) );\n\t\t$.when( ...promises ).then( ( ...results ) => {\n\t\t\tthis.apiIsValid = !results.includes( false );\n\t\t\tif ( this.getOutlineItem() ) {\n\t\t\t\tthis.getOutlineItem().setIcon( this.apiIsValid || ApiSandbox.suppressErrors ? null : 'alert' );\n\t\t\t\tthis.getOutlineItem().setTitle(\n\t\t\t\t\tthis.apiIsValid || ApiSandbox.suppressErrors ? '' : mw.message( 'apisandbox-alert-page' ).plain()\n\t\t\t\t);\n\t\t\t}\n\t\t} );\n\t\treturn promises;\n\t}\n};\n\n/**\n * Load form fields from query parameters\n *\n * @param {Object} params\n */\nApiSandboxLayout.prototype.loadQueryParams = function ( params ) {\n\tif ( this.paramInfo === null ) {\n\t\tthis.loadFromQueryParams = params;\n\t} else {\n\t\t// eslint-disable-next-line no-jquery/no-each-util\n\t\t$.each( this.widgets, ( name, widget ) => {\n\t\t\tconst v = Object.prototype.hasOwnProperty.call( params, name ) ? params[ name ] : undefined;\n\t\t\twidget.setApiValue( v );\n\t\t} );\n\t\tthis.updateTemplatedParameters( params );\n\t}\n};\n\n/**\n * Load query params from form fields\n *\n * @param {Object} params Write query parameters into this object\n * @param {Object} displayParams Write query parameters for display into this object\n * @param {Object} ajaxOptions Write options for the API request into this object, in the format\n * expected by jQuery#ajax.\n */\nApiSandboxLayout.prototype.getQueryParams = function ( params, displayParams, ajaxOptions ) {\n\t// eslint-disable-next-line no-jquery/no-each-util\n\t$.each( this.widgets, ( name, widget ) => {\n\t\tlet value = widget.getApiValue();\n\t\tif ( value !== undefined ) {\n\t\t\tparams[ name ] = value;\n\t\t\tif ( typeof widget.getApiValueForDisplay === 'function' ) {\n\t\t\t\tvalue = widget.getApiValueForDisplay();\n\t\t\t}\n\t\t\tdisplayParams[ name ] = value;\n\t\t\tif ( typeof widget.requiresFormData === 'function' && widget.requiresFormData() ) {\n\t\t\t\tajaxOptions.contentType = 'multipart/form-data';\n\t\t\t}\n\t\t}\n\t} );\n};\n\n/**\n * Fetch a list of subpage names loaded by this page\n *\n * @return {Array}\n */\nApiSandboxLayout.prototype.getSubpages = function () {\n\tconst ret = [];\n\t// eslint-disable-next-line no-jquery/no-each-util\n\t$.each( this.widgets, ( name, widget ) => {\n\t\tif ( typeof widget.getSubmodules === 'function' ) {\n\t\t\twidget.getSubmodules().forEach( ( submodule ) => {\n\t\t\t\tret.push( {\n\t\t\t\t\tkey: name + '=' + submodule.value,\n\t\t\t\t\tpath: submodule.path,\n\t\t\t\t\tprefix: widget.paramInfo.submoduleparamprefix || ''\n\t\t\t\t} );\n\t\t\t} );\n\t\t}\n\t} );\n\treturn ret;\n};\n\nmodule.exports = ApiSandboxLayout;\n","usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.special.apisandbox/BooleanToggleSwitchParamWidget.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.special.apisandbox/DateTimeParamWidget.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.special.apisandbox/LimitParamWidget.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.special.apisandbox/OptionalParamWidget.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.special.apisandbox/ParamLabelWidget.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.special.apisandbox/PasswordParamWidget.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.special.apisandbox/TextParamMixin.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.special.apisandbox/UploadSelectFileParamWidget.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.special.apisandbox/Util.js","messages":[],"suppressedMessages":[{"ruleId":"no-jquery/no-map-util","severity":2,"message":"Prefer Array#map to $.map","line":380,"column":13,"nodeType":"CallExpression","endLine":385,"endColumn":8,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"mediawiki/msg-doc","severity":1,"message":"All possible message keys should be documented. See https://w.wiki/4r9a for details.","line":592,"column":16,"nodeType":"CallExpression","endLine":592,"endColumn":48,"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.special.apisandbox/UtilMixin.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.special.apisandbox/init.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.special.block.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.special.block/SpecialBlock.vue","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"vue/component-tags-order","replacedBy":["block-order"]},{"ruleId":"vue/no-invalid-model-keys","replacedBy":["valid-model-definition"]},{"ruleId":"vue/v-on-function-call","replacedBy":["v-on-handler-style"]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.special.block/components/AdditionalDetailsField.vue","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"vue/component-tags-order","replacedBy":["block-order"]},{"ruleId":"vue/no-invalid-model-keys","replacedBy":["valid-model-definition"]},{"ruleId":"vue/v-on-function-call","replacedBy":["v-on-handler-style"]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.special.block/components/BlockDetailsField.vue","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"vue/component-tags-order","replacedBy":["block-order"]},{"ruleId":"vue/no-invalid-model-keys","replacedBy":["valid-model-definition"]},{"ruleId":"vue/v-on-function-call","replacedBy":["v-on-handler-style"]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.special.block/components/BlockLog.vue","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"vue/component-tags-order","replacedBy":["block-order"]},{"ruleId":"vue/no-invalid-model-keys","replacedBy":["valid-model-definition"]},{"ruleId":"vue/v-on-function-call","replacedBy":["v-on-handler-style"]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.special.block/components/BlockTypeField.vue","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"vue/component-tags-order","replacedBy":["block-order"]},{"ruleId":"vue/no-invalid-model-keys","replacedBy":["valid-model-definition"]},{"ruleId":"vue/v-on-function-call","replacedBy":["v-on-handler-style"]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.special.block/components/ConfirmationDialog.vue","messages":[],"suppressedMessages":[{"ruleId":"vue/no-unused-properties","severity":2,"message":"'open' of property found, but never used.","line":32,"column":3,"nodeType":"Identifier","messageId":"unused","endLine":32,"endColumn":7,"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"vue/component-tags-order","replacedBy":["block-order"]},{"ruleId":"vue/no-invalid-model-keys","replacedBy":["valid-model-definition"]},{"ruleId":"vue/v-on-function-call","replacedBy":["v-on-handler-style"]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.special.block/components/ExpiryField.vue","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"vue/component-tags-order","replacedBy":["block-order"]},{"ruleId":"vue/no-invalid-model-keys","replacedBy":["valid-model-definition"]},{"ruleId":"vue/v-on-function-call","replacedBy":["v-on-handler-style"]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.special.block/components/NamespacesField.vue","messages":[],"suppressedMessages":[{"ruleId":"arrow-body-style","severity":2,"message":"Unexpected block statement surrounding arrow body; move the returned value immediately after the `=>`.","line":62,"column":60,"nodeType":"ArrowFunctionExpression","messageId":"unexpectedSingleBlock","endLine":64,"endColumn":6,"fix":{"range":[1866,1943],"text":"item.label.toLowerCase().includes( value.toLowerCase() )"},"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"vue/component-tags-order","replacedBy":["block-order"]},{"ruleId":"vue/no-invalid-model-keys","replacedBy":["valid-model-definition"]},{"ruleId":"vue/v-on-function-call","replacedBy":["v-on-handler-style"]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.special.block/components/PagesField.vue","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"vue/component-tags-order","replacedBy":["block-order"]},{"ruleId":"vue/no-invalid-model-keys","replacedBy":["valid-model-definition"]},{"ruleId":"vue/v-on-function-call","replacedBy":["v-on-handler-style"]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.special.block/components/ReasonField.vue","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"vue/component-tags-order","replacedBy":["block-order"]},{"ruleId":"vue/no-invalid-model-keys","replacedBy":["valid-model-definition"]},{"ruleId":"vue/v-on-function-call","replacedBy":["v-on-handler-style"]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.special.block/components/UserLookup.vue","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"vue/component-tags-order","replacedBy":["block-order"]},{"ruleId":"vue/no-invalid-model-keys","replacedBy":["valid-model-definition"]},{"ruleId":"vue/v-on-function-call","replacedBy":["v-on-handler-style"]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.special.block/components/ValidatingTextInput.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.special.block/init.js","messages":[{"ruleId":"jsdoc/valid-types","severity":1,"message":"Syntax error in namepath: ~'SpecialBlock.block'","line":26,"column":1,"nodeType":"Block","endLine":26,"endColumn":1},{"ruleId":"jsdoc/valid-types","severity":1,"message":"Syntax error in namepath: ~'SpecialBlock.form'","line":36,"column":1,"nodeType":"Block","endLine":36,"endColumn":1}],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":2,"fixableErrorCount":0,"fixableWarningCount":0,"source":"'use strict';\n\nconst form = document.querySelector( '.mw-htmlform' );\nif ( form ) {\n\tform.id = 'mw-block-form';\n\tconst Vue = require( 'vue' );\n\tconst App = require( './SpecialBlock.vue' );\n\tconst { createPinia } = require( 'pinia' );\n\n\t// Load any extension-provided messages added by the PHP GetAllBlockActions hook.\n\t( new mw.Api() ).loadMessagesIfMissing(\n\t\tObject.keys( mw.config.get( 'partialBlockActionOptions' ) || {} )\n\t).then( () => {\n\t\tVue.createMwApp( App )\n\t\t\t.use( createPinia() )\n\t\t\t.mount( form );\n\t\t// We keep the wrapping form but never want it to submit.\n\t\tform.addEventListener( 'submit', ( e ) => e.preventDefault() );\n\t} );\n}\n\n/**\n * Fired after a successful (re-)block on Special:Block. Only applicable on wikis with\n * {@link https://www.mediawiki.org/wiki/Manual:$wgEnableMultiBlocks multiblocks} enabled.\n *\n * @event ~'SpecialBlock.block'\n * @memberof Hooks\n * @param {Object} data Response from the block API.\n * @stable\n */\n\n/**\n * Fired when the form on Special:Block is opened or closed. Only applicable on wikis with\n * {@link https://www.mediawiki.org/wiki/Manual:$wgEnableMultiBlocks multiblocks} enabled.\n *\n * @event ~'SpecialBlock.form'\n * @memberof Hooks\n * @param {boolean} open Whether the form is open or closed.\n * @param {string} target Username, IP, or IP range.\n * @param {number|null} id The block ID, when editing an existing block.\n * @stable\n */\n","usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.special.block/stores/block.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.special.block/util.js","messages":[],"suppressedMessages":[{"ruleId":"no-bitwise","severity":2,"message":"Unexpected use of '<<'.","line":104,"column":17,"nodeType":"BinaryExpression","messageId":"unexpected","endLine":104,"endColumn":64,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-bitwise","severity":2,"message":"Unexpected use of '>>'.","line":104,"column":17,"nodeType":"BinaryExpression","messageId":"unexpected","endLine":104,"endColumn":55,"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.special.changecredentails.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.special.changeemail.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.special.changeslist.legend.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.special.changeslist.watchlistexpiry/watchlistexpiry.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.special.contributions.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.special.createaccount/.eslintrc.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.special.createaccount/HtmlformChecker.js","messages":[],"suppressedMessages":[{"ruleId":"no-jquery/no-slide","severity":2,"message":"Prefer CSS transitions to .slideUp","line":109,"column":3,"nodeType":"CallExpression","endLine":113,"endColumn":6,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-slide","severity":2,"message":"Prefer CSS transitions to .slideDown","line":156,"column":4,"nodeType":"CallExpression","endLine":156,"endColumn":25,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-slide","severity":2,"message":"Prefer CSS transitions to .slideUp","line":163,"column":4,"nodeType":"CallExpression","endLine":163,"endColumn":36,"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.special.createaccount/signup.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.special.editrecovery/SpecialEditRecovery.vue","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"vue/component-tags-order","replacedBy":["block-order"]},{"ruleId":"vue/no-invalid-model-keys","replacedBy":["valid-model-definition"]},{"ruleId":"vue/v-on-function-call","replacedBy":["v-on-handler-style"]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.special.editrecovery/init.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.special.mergeHistory/mergeHistory.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.special.preferences.ooui/confirmClose.js","messages":[],"suppressedMessages":[{"ruleId":"no-jquery/no-sizzle","severity":2,"message":"Selector extensions are not allowed","line":11,"column":19,"nodeType":"CallExpression","endLine":11,"endColumn":53,"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.special.preferences.ooui/convertmessagebox.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.special.preferences.ooui/editfont.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.special.preferences.ooui/init.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.special.preferences.ooui/nav-mobile.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.special.preferences.ooui/nav-tabs.js","messages":[],"suppressedMessages":[{"ruleId":"no-self-assign","severity":2,"message":"'location.href' is assigned to itself.","line":20,"column":19,"nodeType":"MemberExpression","messageId":"selfAssignment","endLine":20,"endColumn":32,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-class-state","severity":2,"message":"Where possible, maintain application state in JS to avoid slower DOM queries","line":172,"column":12,"nodeType":"CallExpression","endLine":172,"endColumn":58,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-class-state","severity":2,"message":"Where possible, maintain application state in JS to avoid slower DOM queries","line":177,"column":13,"nodeType":"CallExpression","endLine":177,"endColumn":62,"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.special.preferences.ooui/nav.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.special.preferences.ooui/signature.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.special.preferences.ooui/skinPrefs.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.special.preferences.ooui/timezone.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.special.restsandbox/restsandbox.js","messages":[],"suppressedMessages":[{"ruleId":"camelcase","severity":2,"message":"Identifier 'dom_id' is not in camel case.","line":10,"column":3,"nodeType":"Identifier","messageId":"notCamelCase","endLine":10,"endColumn":9,"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.special.search.commonsInterwikiWidget.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.special.search/search.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.special.specialpages/init.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.special.unwatchedPages/unwatchedPages.js","messages":[],"suppressedMessages":[{"ruleId":"no-jquery/no-class-state","severity":2,"message":"Where possible, maintain application state in JS to avoid slower DOM queries","line":21,"column":10,"nodeType":"CallExpression","endLine":21,"endColumn":52,"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.special.upload/upload.js","messages":[],"suppressedMessages":[{"ruleId":"no-underscore-dangle","severity":2,"message":"Unexpected dangling '_' in '_binary_data'.","line":446,"column":6,"nodeType":"MemberExpression","messageId":"unexpectedUnderscore","endLine":446,"endColumn":23,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier '_binary_data' is not in camel case.","line":446,"column":11,"nodeType":"Identifier","messageId":"notCamelCase","endLine":446,"endColumn":23,"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.special.userrights.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.special.watchlist/editwatchlist.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.special.watchlist/visitedstatus.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.special.watchlist/watchlist.js","messages":[],"suppressedMessages":[{"ruleId":"no-jquery/no-class-state","severity":2,"message":"Where possible, maintain application state in JS to avoid slower DOM queries","line":114,"column":10,"nodeType":"CallExpression","endLine":114,"endColumn":52,"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.storage/.eslintrc.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.storage/SafeStorage.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.storage/index.js","messages":[{"ruleId":"mediawiki/no-storage","severity":1,"message":"Avoid direct access to localStorage. Use mw.storage instead.","line":50,"column":18,"nodeType":"Identifier","messageId":"noStorage","endLine":50,"endColumn":30},{"ruleId":"mediawiki/no-storage","severity":1,"message":"Avoid direct access to sessionStorage. Use mw.storage.session instead.","line":55,"column":18,"nodeType":"Identifier","messageId":"noStorage","endLine":55,"endColumn":32}],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":2,"fixableErrorCount":0,"fixableWarningCount":0,"source":"/**\n * A safe interface to HTML5 `localStorage` and `sessionStorage`.\n *\n * This normalises differences across browsers and silences any and all\n * exceptions that may occur.\n *\n * **Note**: Storage keys are not automatically prefixed in relation to\n * MediaWiki and/or the current wiki. Always **prefix your keys** with \"mw\" to\n * avoid conflicts with gadgets, JavaScript libraries, browser extensions,\n * internal CDN or webserver cookies, and third-party applications that may\n * be embedded on the page.\n *\n * **Warning**: This API has limited storage space and does not use an expiry\n * by default. This means unused **keys are stored forever**, unless you\n * opt-in to the `expiry` parameter or otherwise make sure that your code\n * can rediscover and delete keys you created in the past.\n *\n * If you don't use the `expiry` parameter, avoid keys with variable\n * components as this leads to untracked keys that your code has no way\n * to know about and delete when the data is no longer needed. Instead,\n * store dynamic values in an object under a single constant key that you\n * manage or replace over time.\n * See also T121646.\n *\n * @example mw.storage.set( key, value, expiry );\n * mw.storage.set( key, value ); // stored indefinitely\n * mw.storage.get( key );\n *\n * @example var local = require( 'mediawiki.storage' ).local;\n * local.set( key, value, expiry );\n * local.get( key );\n *\n * @example mw.storage.session.set( key, value );\n * mw.storage.session.get( key );\n *\n * @example var session = require( 'mediawiki.storage' ).session;\n * session.set( key, value );\n * session.get( key );\n *\n * @module mediawiki.storage\n */\n'use strict';\n\n// Catch exceptions to avoid fatal in Chrome's \"Block data storage\" mode\n// which throws when accessing the localStorage property itself, as opposed\n// to the standard behaviour of throwing on getItem/setItem. (T148998)\nconst\n\tlocalStorage = ( function () {\n\t\ttry {\n\t\t\treturn window.localStorage;\n\t\t} catch ( e ) {}\n\t}() ),\n\tsessionStorage = ( function () {\n\t\ttry {\n\t\t\treturn window.sessionStorage;\n\t\t} catch ( e ) {}\n\t}() );\n\nconst SafeStorage = require( './SafeStorage.js' );\n\n/**\n * Alias for {@link module:mediawiki.storage.local}.\n *\n * @type {SafeStorage}\n * @memberof mw\n * @property {SafeStorage} session Alias for {@link module:mediawiki.storage.session}.\n */\nmw.storage = new SafeStorage( localStorage );\nmw.storage.session = new SafeStorage( sessionStorage );\n\nmodule.exports = {\n\t/**\n\t * A safe interface to HTML5 `localStorage`.\n\t *\n\t * @type {SafeStorage}\n\t */\n\tlocal: mw.storage,\n\n\t/**\n\t * A safe interface to HTML5 `sessionStorage`.\n\t *\n\t * **Note**: Data persisted via `sessionStorage` will persist for the lifetime\n\t * of the browser *tab*, not the browser *window*.\n\t * For longer-lasting persistence across tabs, refer to mw.storage or mw.cookie instead.\n\t *\n\t * @type {SafeStorage}\n\t */\n\tsession: mw.storage.session\n};\n","usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.tempUserBanner/tempUserBanner.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.tempUserCreated/mediawiki.tempUserCreated.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.template.js","messages":[{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'TemplateRenderer' is undefined.","line":26,"column":1,"nodeType":"Block","endLine":26,"endColumn":1},{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'TemplateRenderFunction' is undefined.","line":40,"column":1,"nodeType":"Block","endLine":40,"endColumn":1},{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'TemplateCompileFunction' is undefined.","line":45,"column":1,"nodeType":"Block","endLine":45,"endColumn":1},{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'TemplateCompiler' is undefined.","line":61,"column":1,"nodeType":"Block","endLine":61,"endColumn":1},{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'TemplateCompiler' is undefined.","line":88,"column":1,"nodeType":"Block","endLine":88,"endColumn":1},{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'TemplateRenderer' is undefined.","line":107,"column":1,"nodeType":"Block","endLine":107,"endColumn":1},{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'TemplateRenderer' is undefined.","line":125,"column":1,"nodeType":"Block","endLine":125,"endColumn":1},{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'TemplateRenderer' is undefined.","line":147,"column":1,"nodeType":"Block","endLine":147,"endColumn":1}],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":8,"fixableErrorCount":0,"fixableWarningCount":0,"source":"/**\n * An extensible library for rendering templates in different template languages.\n * By default only the `html` template library is provided.\n * The Mustache library is also provided in mediawiki core via the mediawiki.template.mustache library.\n *\n * @example\n * // returns $( '<div>hello world</div>' );\n * const $node = mw.template.compile( '<div>hello world</div>', 'html' ).render();\n *\n * // also returns $( '<div>hello world</div>' );\n * mw.loader.using( 'mediawiki.template.mustache' ).then( () => {\n * const $node = mw.template.compile( '<div>{{ >Foo }}</div>', 'mustache' ).render( {\n * text: 'Hello world'\n * }, {\n * Foo: mw.template.compile( '{{text}}', 'mustache' )\n * } );\n * } );\n * @namespace mw.template\n */\n\n/**\n * Compiles a template for rendering.\n *\n * @typedef {Function} mw.template~TemplateCompileFunction\n * @param {string} src source of the template\n * @return {TemplateRenderer} for rendering\n */\n\n/**\n * Renders the template to create a jQuery object.\n *\n * @typedef {Function} mw.template~TemplateRenderFunction\n * @param {Object} [data] for the template\n * @param {Object} [partials] additional partial templates\n * @return {jQuery}\n */\n\n/**\n * @typedef {Object} mw.template~TemplateRenderer\n * @property {TemplateRenderFunction} render\n */\n\n/**\n * @typedef {Object} mw.template~TemplateCompiler\n * @property {TemplateCompileFunction} compile\n */\n( function () {\n\tconst compiledTemplates = {},\n\t\tcompilers = {};\n\n\tmw.template = {\n\t\t/**\n\t\t * Register a new compiler.\n\t\t *\n\t\t * A compiler is any object that implements a {@link mw.template.compile} method. The compile() method must\n\t\t * return a Template interface with a method render() that returns HTML.\n\t\t *\n\t\t * The compiler name must correspond with the name suffix of templates that use this compiler.\n\t\t *\n\t\t * @param {string} name Compiler name\n\t\t * @param {TemplateCompiler} compiler\n\t\t */\n\t\tregisterCompiler: function ( name, compiler ) {\n\t\t\tif ( !compiler.compile ) {\n\t\t\t\tthrow new Error( 'Compiler must implement a compile method' );\n\t\t\t}\n\t\t\tcompilers[ name ] = compiler;\n\t\t},\n\n\t\t/**\n\t\t * Get the name of the associated compiler based on a template name.\n\t\t *\n\t\t * @param {string} templateName Name of a template (including suffix)\n\t\t * @return {string} Name of a compiler\n\t\t */\n\t\tgetCompilerName: function ( templateName ) {\n\t\t\tconst nameParts = templateName.split( '.' );\n\t\t\tif ( nameParts.length < 2 ) {\n\t\t\t\tthrow new Error( 'Template name must have a suffix' );\n\t\t\t}\n\t\t\treturn nameParts[ nameParts.length - 1 ];\n\t\t},\n\n\t\t/**\n\t\t * Get a compiler via its name.\n\t\t *\n\t\t * @param {string} name Name of a compiler\n\t\t * @return {TemplateCompiler} The compiler\n\t\t * @throws {Error} when unknown compiler provided\n\t\t */\n\t\tgetCompiler: function ( name ) {\n\t\t\tconst compiler = compilers[ name ];\n\t\t\tif ( !compiler ) {\n\t\t\t\tthrow new Error( 'Unknown compiler ' + name );\n\t\t\t}\n\t\t\treturn compiler;\n\t\t},\n\n\t\t/**\n\t\t * Register a template associated with a module.\n\t\t *\n\t\t * Precompiles the newly added template based on the suffix in its name.\n\t\t *\n\t\t * @param {string} moduleName Name of the ResourceLoader module the template is associated with\n\t\t * @param {string} templateName Name of the template (including suffix)\n\t\t * @param {string} templateBody Contents of the template (e.g. html markup)\n\t\t * @return {TemplateRenderer} Compiled template\n\t\t */\n\t\tadd: function ( moduleName, templateName, templateBody ) {\n\t\t\t// Precompile and add to cache\n\t\t\tconst compiled = this.compile( templateBody, this.getCompilerName( templateName ) );\n\t\t\tif ( !compiledTemplates[ moduleName ] ) {\n\t\t\t\tcompiledTemplates[ moduleName ] = {};\n\t\t\t}\n\t\t\tcompiledTemplates[ moduleName ][ templateName ] = compiled;\n\n\t\t\treturn compiled;\n\t\t},\n\n\t\t/**\n\t\t * Get a compiled template by module and template name.\n\t\t *\n\t\t * @param {string} moduleName Name of the module to retrieve the template from\n\t\t * @param {string} templateName Name of template to be retrieved\n\t\t * @return {TemplateRenderer} Compiled template\n\t\t */\n\t\tget: function ( moduleName, templateName ) {\n\t\t\t// Try cache first\n\t\t\tif ( compiledTemplates[ moduleName ] && compiledTemplates[ moduleName ][ templateName ] ) {\n\t\t\t\treturn compiledTemplates[ moduleName ][ templateName ];\n\t\t\t}\n\n\t\t\tconst moduleTemplates = mw.templates.get( moduleName );\n\t\t\tif ( !moduleTemplates || moduleTemplates[ templateName ] === undefined ) {\n\t\t\t\tthrow new Error( 'Template ' + templateName + ' not found in module ' + moduleName );\n\t\t\t}\n\n\t\t\t// Compiled and add to cache\n\t\t\treturn this.add( moduleName, templateName, moduleTemplates[ templateName ] );\n\t\t},\n\n\t\t/**\n\t\t * Compile a string of template markup with an engine of choice.\n\t\t *\n\t\t * @param {string} templateBody Template body\n\t\t * @param {string} compilerName The name of a registered compiler.\n\t\t * @return {TemplateRenderer} Compiled template\n\t\t * @throws {Error} when unknown compiler name provided.\n\t\t */\n\t\tcompile: function ( templateBody, compilerName ) {\n\t\t\treturn this.getCompiler( compilerName ).compile( templateBody );\n\t\t}\n\t};\n\n\t// Register basic html compiler\n\tmw.template.registerCompiler( 'html', {\n\t\tcompile: function ( src ) {\n\t\t\treturn {\n\t\t\t\trender: function () {\n\t\t\t\t\treturn $( $.parseHTML( src.trim() ) );\n\t\t\t\t}\n\t\t\t};\n\t\t}\n\t} );\n\n}() );\n","usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.template.mustache.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.toc/toc.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.user.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.userSuggest.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.util/.eslintrc.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.util/jquery.accessKeyLabel.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.util/util.js","messages":[{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'Hooks.util.addPortlet' is undefined.","line":589,"column":1,"nodeType":"Block","endLine":589,"endColumn":1},{"ruleId":"jsdoc/valid-types","severity":1,"message":"Syntax error in namepath: ~'util.addPortlet'","line":628,"column":1,"nodeType":"Block","endLine":628,"endColumn":1},{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'Hooks.util.addPortletLink' is undefined.","line":702,"column":1,"nodeType":"Block","endLine":702,"endColumn":1},{"ruleId":"jsdoc/valid-types","severity":1,"message":"Syntax error in namepath: ~'util.addPortletLink'","line":797,"column":1,"nodeType":"Block","endLine":797,"endColumn":1},{"ruleId":"jsdoc/require-returns","severity":1,"message":"Missing JSDoc @return declaration.","line":1078,"column":2,"nodeType":"Block","endLine":1087,"endColumn":5}],"suppressedMessages":[{"ruleId":"mediawiki/class-doc","severity":1,"message":"All possible CSS classes should be documented. See https://w.wiki/PS2 for details.","line":598,"column":3,"nodeType":"CallExpression","endLine":601,"endColumn":4,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/variable-pattern","severity":2,"message":"jQuery collection names must match the variablePattern","line":773,"column":4,"nodeType":"AssignmentExpression","endLine":773,"endColumn":39,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-useless-escape","severity":2,"message":"Unnecessary escape character: \\[.","line":1130,"column":41,"nodeType":"Literal","messageId":"unnecessaryEscape","endLine":1130,"endColumn":42,"suggestions":[{"messageId":"removeEscape","fix":{"range":[36437,36438],"text":""},"desc":"Remove the `\\`. This maintains the current functionality."},{"messageId":"escapeBackslash","fix":{"range":[36437,36437],"text":"\\"},"desc":"Replace the `\\` with `\\\\` to include the actual backslash character."}],"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":5,"fixableErrorCount":0,"fixableWarningCount":0,"source":"'use strict';\n\nlet config = require( './config.json' );\nconst portletLinkOptions = require( './portletLinkOptions.json' );\nconst infinityValues = require( './infinityValues.json' );\n\nrequire( './jquery.accessKeyLabel.js' );\n\n/**\n * Encode the string like PHP's rawurlencode.\n *\n * @ignore\n * @param {string} str String to be encoded.\n * @return {string} Encoded string\n */\nfunction rawurlencode( str ) {\n\treturn encodeURIComponent( String( str ) )\n\t\t.replace( /!/g, '%21' )\n\t\t.replace( /'/g, '%27' )\n\t\t.replace( /\\(/g, '%28' )\n\t\t.replace( /\\)/g, '%29' )\n\t\t.replace( /\\*/g, '%2A' )\n\t\t.replace( /~/g, '%7E' );\n}\n\n/**\n * Private helper function used by util.escapeId*()\n *\n * @ignore\n * @param {string} str String to be encoded\n * @param {string} mode Encoding mode, see documentation at\n * MainConfigSchema::FragmentMode.\n * @return {string} Encoded string\n */\nfunction escapeIdInternal( str, mode ) {\n\tstr = String( str );\n\n\tswitch ( mode ) {\n\t\tcase 'html5':\n\t\t\treturn str.replace( / /g, '_' );\n\t\tcase 'legacy':\n\t\t\treturn rawurlencode( str.replace( / /g, '_' ) )\n\t\t\t\t.replace( /%3A/g, ':' )\n\t\t\t\t.replace( /%/g, '.' );\n\t\tdefault:\n\t\t\tthrow new Error( 'Unrecognized ID escaping mode ' + mode );\n\t}\n}\n\n/**\n * Library providing useful common skin-agnostic utility functions. Please see\n * [mediawiki.util]{@link module:mediawiki.util}.\n *\n * Alias for the [mediawiki.util]{@link module:mediawiki.util} module.\n *\n * @namespace mw.util\n */\n\n/**\n * Utility library provided by the `mediawiki.util` ResourceLoader module. Accessible inside ResourceLoader modules\n * or for gadgets as part of the [mw global object]{@link mw}.\n *\n * @example\n * // Inside MediaWiki extensions\n * const util = require( 'mediawiki.util' );\n * // In gadgets\n * const mwUtil = mw.util;\n * @exports mediawiki.util\n */\nconst util = {\n\n\t/**\n\t * Encode the string like PHP's rawurlencode.\n\t *\n\t * @method\n\t * @param {string} str String to be encoded.\n\t * @return {string} Encoded string\n\t */\n\trawurlencode: rawurlencode,\n\n\t/**\n\t * Encode a string as CSS id, for use as HTML id attribute value.\n\t *\n\t * Analog to `Sanitizer::escapeIdForAttribute()` in PHP.\n\t *\n\t * @since 1.30\n\t * @param {string} str String to encode\n\t * @return {string} Encoded string\n\t */\n\tescapeIdForAttribute( str ) {\n\t\treturn escapeIdInternal( str, config.FragmentMode[ 0 ] );\n\t},\n\n\t/**\n\t * Encode a string as URL fragment, for use as HTML anchor link.\n\t *\n\t * Analog to `Sanitizer::escapeIdForLink()` in PHP.\n\t *\n\t * @since 1.30\n\t * @param {string} str String to encode\n\t * @return {string} Encoded string\n\t */\n\tescapeIdForLink( str ) {\n\t\treturn escapeIdInternal( str, config.FragmentMode[ 0 ] );\n\t},\n\n\t/**\n\t * Get the target element from a link hash.\n\t *\n\t * This is the same element as you would get from\n\t * document.querySelectorAll(':target'), but can be used on\n\t * an arbitrary hash fragment, or after pushState/replaceState\n\t * has been used.\n\t *\n\t * Link fragments can be unencoded, fully encoded or partially\n\t * encoded, as defined in the spec.\n\t *\n\t * We can't just use decodeURI as that assumes the fragment\n\t * is fully encoded, and throws an error on a string like '%A',\n\t * so we use the percent-decode.\n\t *\n\t * @param {string} [hash] Hash fragment, without the leading '#'.\n\t * Taken from location.hash if omitted.\n\t * @return {HTMLElement|null} Element, if found\n\t */\n\tgetTargetFromFragment( hash ) {\n\t\thash = hash || location.hash.slice( 1 );\n\t\tif ( !hash ) {\n\t\t\t// Firefox emits a console warning if you pass an empty string\n\t\t\t// to getElementById (T272844).\n\t\t\treturn null;\n\t\t}\n\t\t// Per https://html.spec.whatwg.org/multipage/browsing-the-web.html#target-element\n\t\t// we try the raw fragment first, then the percent-decoded fragment.\n\t\tconst element = document.getElementById( hash );\n\t\tif ( element ) {\n\t\t\treturn element;\n\t\t}\n\t\tconst decodedHash = this.percentDecodeFragment( hash );\n\t\tif ( !decodedHash ) {\n\t\t\t// decodedHash can return null, calling getElementById would cast it to a string\n\t\t\treturn null;\n\t\t}\n\t\treturn document.getElementById( decodedHash );\n\t},\n\n\t/**\n\t * Percent-decode a string, as found in a URL hash fragment.\n\t *\n\t * Implements the percent-decode method as defined in\n\t * https://url.spec.whatwg.org/#percent-decode.\n\t *\n\t * URLSearchParams implements https://url.spec.whatwg.org/#concept-urlencoded-parser\n\t * which performs a '+' to ' ' substitution before running percent-decode.\n\t *\n\t * To get the desired behaviour we percent-encode any '+' in the fragment\n\t * to effectively expose the percent-decode implementation.\n\t *\n\t * @param {string} text Text to decode\n\t * @return {string|null} Decoded text, null if decoding failed\n\t */\n\tpercentDecodeFragment( text ) {\n\t\tconst params = new URLSearchParams(\n\t\t\t'q=' +\n\t\t\ttext\n\t\t\t\t// Query string param decoding replaces '+' with ' ' before doing the\n\t\t\t\t// percent_decode, so encode '+' to prevent this.\n\t\t\t\t.replace( /\\+/g, '%2B' )\n\t\t\t\t// Query strings are split on '&' and then '=' so encode these too.\n\t\t\t\t.replace( /&/g, '%26' )\n\t\t\t\t.replace( /=/g, '%3D' )\n\t\t);\n\t\treturn params.get( 'q' );\n\t},\n\n\t/**\n\t * Return a function, that, as long as it continues to be invoked, will not\n\t * be triggered. The function will be called after it stops being called for\n\t * N milliseconds. If `immediate` is passed, trigger the function on the\n\t * leading edge, instead of the trailing.\n\t *\n\t * Ported from Underscore.js 1.5.2, Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud\n\t * and Investigative Reporters & Editors, distributed under the MIT license, from\n\t * <https://github.com/jashkenas/underscore/blob/1.5.2/underscore.js#L689>.\n\t *\n\t * @since 1.34\n\t * @param {Function} func Function to debounce\n\t * @param {number} [wait=0] Wait period in milliseconds\n\t * @param {boolean} [immediate] Trigger on leading edge\n\t * @return {Function} Debounced function\n\t */\n\tdebounce( func, wait, immediate ) {\n\t\t// Old signature (wait, func).\n\t\tif ( typeof func === 'number' ) {\n\t\t\tconst tmpWait = wait;\n\t\t\twait = func;\n\t\t\tfunc = tmpWait;\n\t\t}\n\t\tlet timeout;\n\t\treturn function () {\n\t\t\tconst context = this,\n\t\t\t\targs = arguments,\n\t\t\t\tlater = function () {\n\t\t\t\t\ttimeout = null;\n\t\t\t\t\tif ( !immediate ) {\n\t\t\t\t\t\tfunc.apply( context, args );\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\tif ( immediate && !timeout ) {\n\t\t\t\tfunc.apply( context, args );\n\t\t\t}\n\t\t\tif ( !timeout || wait ) {\n\t\t\t\tclearTimeout( timeout );\n\t\t\t\ttimeout = setTimeout( later, wait );\n\t\t\t}\n\t\t};\n\t},\n\n\t/**\n\t * Return a function, that, when invoked, will only be triggered at most once\n\t * during a given window of time. If called again during that window, it will\n\t * wait until the window ends and then trigger itself again.\n\t *\n\t * As it's not knowable to the caller whether the function will actually run\n\t * when the wrapper is called, return values from the function are entirely\n\t * discarded.\n\t *\n\t * Ported from OOUI.\n\t *\n\t * @param {Function} func Function to throttle\n\t * @param {number} wait Throttle window length, in milliseconds\n\t * @return {Function} Throttled function\n\t */\n\tthrottle( func, wait ) {\n\t\tlet context, args, timeout,\n\t\t\tprevious = Date.now() - wait;\n\t\tconst run = function () {\n\t\t\ttimeout = null;\n\t\t\tprevious = Date.now();\n\t\t\tfunc.apply( context, args );\n\t\t};\n\t\treturn function () {\n\t\t\t// Check how long it's been since the last time the function was\n\t\t\t// called, and whether it's more or less than the requested throttle\n\t\t\t// period. If it's less, run the function immediately. If it's more,\n\t\t\t// set a timeout for the remaining time -- but don't replace an\n\t\t\t// existing timeout, since that'd indefinitely prolong the wait.\n\t\t\tconst remaining = Math.max( wait - ( Date.now() - previous ), 0 );\n\t\t\tcontext = this;\n\t\t\targs = arguments;\n\t\t\tif ( !timeout ) {\n\t\t\t\t// If time is up, do setTimeout( run, 0 ) so the function\n\t\t\t\t// always runs asynchronously, just like Promise#then .\n\t\t\t\ttimeout = setTimeout( run, remaining );\n\t\t\t}\n\t\t};\n\t},\n\n\t/**\n\t * Encode page titles in a way that matches `wfUrlencode` in PHP.\n\t *\n\t * This is important both for readability and consistency in the user experience,\n\t * as well as for caching. If URLs are not formatted in the canonical way, they\n\t * may be subject to drastically shorter cache durations and/or miss automatic\n\t * purging after edits, thus leading to stale content being served from a\n\t * non-canonical URL.\n\t *\n\t * @method\n\t * @param {string} str String to be encoded.\n\t * @return {string} Encoded string\n\t */\n\twikiUrlencode: mw.internalWikiUrlencode,\n\n\t/**\n\t * Get the URL to a given local wiki page name.\n\t *\n\t * @param {string|null} [pageName=wgPageName] Page name\n\t * @param {Object} [params] A mapping of query parameter names to values,\n\t * e.g. `{ action: 'edit' }`\n\t * @return {string} URL, relative to `wgServer`.\n\t */\n\tgetUrl( pageName, params ) {\n\t\tlet url, query, fragment,\n\t\t\ttitle = typeof pageName === 'string' ? pageName : mw.config.get( 'wgPageName' );\n\n\t\t// Find any fragment\n\t\tconst fragmentIdx = title.indexOf( '#' );\n\t\tif ( fragmentIdx !== -1 ) {\n\t\t\tfragment = title.slice( fragmentIdx + 1 );\n\t\t\t// Exclude the fragment from the page name\n\t\t\ttitle = title.slice( 0, fragmentIdx );\n\t\t}\n\n\t\t// Produce query string\n\t\tif ( params ) {\n\t\t\tquery = $.param( params );\n\t\t}\n\n\t\tif ( !title && fragment ) {\n\t\t\t// If only a fragment was given, make a fragment-only link (T288415)\n\t\t\turl = '';\n\t\t} else if ( query ) {\n\t\t\turl = title ?\n\t\t\t\tutil.wikiScript() + '?title=' + util.wikiUrlencode( title ) + '&' + query :\n\t\t\t\tutil.wikiScript() + '?' + query;\n\t\t} else {\n\t\t\t// Specify a function as the replacement,\n\t\t\t// so that \"$\" characters in title are not interpreted.\n\t\t\turl = mw.config.get( 'wgArticlePath' )\n\t\t\t\t.replace( '$1', () => util.wikiUrlencode( title ) );\n\t\t}\n\n\t\t// Append the encoded fragment\n\t\tif ( fragment ) {\n\t\t\turl += '#' + util.escapeIdForLink( fragment );\n\t\t}\n\n\t\treturn url;\n\t},\n\n\t/**\n\t * Get URL to a MediaWiki entry point.\n\t *\n\t * Similar to `wfScript()` in PHP.\n\t *\n\t * @since 1.18\n\t * @param {string} [str=\"index\"] Name of entry point (e.g. 'index' or 'api')\n\t * @return {string} URL to the script file (e.g. `/w/api.php`)\n\t */\n\twikiScript( str ) {\n\t\tif ( !str || str === 'index' ) {\n\t\t\treturn mw.config.get( 'wgScript' );\n\t\t} else if ( str === 'load' ) {\n\t\t\treturn config.LoadScript;\n\t\t} else {\n\t\t\treturn mw.config.get( 'wgScriptPath' ) + '/' + str + '.php';\n\t\t}\n\t},\n\n\t/**\n\t * Append a new style block to the head and return the CSSStyleSheet object.\n\t *\n\t * To access the `<style>` element, reference `sheet.ownerNode`, or call\n\t * the {@link mw.loader.addStyleTag} method directly.\n\t *\n\t * This function returns the CSSStyleSheet object for convenience with features\n\t * that are managed at that level, such as toggling of styles:\n\t * ```\n\t * var sheet = util.addCSS( '.foobar { display: none; }' );\n\t * $( '#myButton' ).click( function () {\n\t * // Toggle the sheet on and off\n\t * sheet.disabled = !sheet.disabled;\n\t * } );\n\t * ```\n\t *\n\t * See also [MDN: CSSStyleSheet](https://developer.mozilla.org/en-US/docs/Web/API/CSSStyleSheet).\n\t *\n\t * @param {string} text CSS to be appended\n\t * @return {CSSStyleSheet} The sheet object\n\t */\n\taddCSS( text ) {\n\t\tconst s = mw.loader.addStyleTag( text );\n\t\treturn s.sheet;\n\t},\n\n\t/**\n\t * Get the value for a given URL query parameter.\n\t *\n\t * @example\n\t * mw.util.getParamValue( 'foo', '/?foo=x' ); // \"x\"\n\t * mw.util.getParamValue( 'foo', '/?foo=' ); // \"\"\n\t * mw.util.getParamValue( 'foo', '/' ); // null\n\t *\n\t * @param {string} param The parameter name.\n\t * @param {string} [url=location.href] URL to search through, defaulting to the current browsing location.\n\t * @return {string|null} Parameter value, or null if parameter was not found.\n\t */\n\tgetParamValue( param, url ) {\n\t\t// Get last match, stop at hash\n\n\t\tconst re = new RegExp( '^[^#]*[&?]' + util.escapeRegExp( param ) + '=([^&#]*)' ),\n\t\t\tm = re.exec( url !== undefined ? url : location.href );\n\n\t\tif ( m ) {\n\t\t\t// Beware that decodeURIComponent is not required to understand '+'\n\t\t\t// by spec, as encodeURIComponent does not produce it.\n\t\t\ttry {\n\t\t\t\treturn decodeURIComponent( m[ 1 ].replace( /\\+/g, '%20' ) );\n\t\t\t} catch ( e ) {\n\t\t\t\t// catch URIError if parameter is invalid UTF-8\n\t\t\t\t// due to malformed or double-decoded values (T106244),\n\t\t\t\t// e.g. \"Autom%F3vil\" instead of \"Autom%C3%B3vil\".\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t},\n\n\t/**\n\t * Get the value for an array query parameter, combined according to similar rules as PHP uses.\n\t * Currently this does not handle associative or multi-dimensional arrays, but that may be\n\t * improved in the future.\n\t *\n\t * @example\n\t * mw.util.getArrayParam( 'foo', new URLSearchParams( '?foo[0]=a&foo[1]=b' ) ); // [ 'a', 'b' ]\n\t * mw.util.getArrayParam( 'foo', new URLSearchParams( '?foo[]=a&foo[]=b' ) ); // [ 'a', 'b' ]\n\t * mw.util.getArrayParam( 'foo', new URLSearchParams( '?foo=a' ) ); // null\n\t *\n\t * @param {string} param The parameter name.\n\t * @param {URLSearchParams} [params] Parsed URL parameters to search through, defaulting to the current browsing location.\n\t * @return {string[]|null} Parameter value, or null if parameter was not found.\n\t */\n\tgetArrayParam( param, params ) {\n\n\t\tconst paramRe = new RegExp( '^' + util.escapeRegExp( param ) + '\\\\[(\\\\d*)\\\\]$' );\n\n\t\tif ( !params ) {\n\t\t\tparams = new URLSearchParams( location.search );\n\t\t}\n\n\t\tconst arr = [];\n\t\tparams.forEach( ( v, k ) => {\n\t\t\tconst paramMatch = k.match( paramRe );\n\t\t\tif ( paramMatch ) {\n\t\t\t\tlet i = paramMatch[ 1 ];\n\t\t\t\tif ( i === '' ) {\n\t\t\t\t\t// If no explicit index, append at the end\n\t\t\t\t\ti = arr.length;\n\t\t\t\t}\n\t\t\t\tarr[ i ] = v;\n\t\t\t}\n\t\t} );\n\n\t\treturn arr.length ? arr : null;\n\t},\n\n\t/**\n\t * The content wrapper of the skin (`.mw-body`, for example).\n\t *\n\t * Populated on document ready. To use this property,\n\t * wait for `$.ready` and be sure to have a module dependency on\n\t * `mediawiki.util` which will ensure\n\t * your document ready handler fires after initialization.\n\t *\n\t * Because of the lazy-initialised nature of this property,\n\t * you're discouraged from using it.\n\t *\n\t * If you need just the wikipage content (not any of the\n\t * extra elements output by the skin), use `$( '#mw-content-text' )`\n\t * instead. Or listen to {@link event:'wikipage.content' wikipage.content}\n\t * which will allow your code to re-run when the page changes (e.g. live preview\n\t * or re-render after ajax save).\n\t *\n\t * @type {jQuery}\n\t */\n\t$content: null,\n\n\t/**\n\t * Hide a portlet.\n\t *\n\t * @param {string} portletId ID of the target portlet (e.g. 'p-cactions' or 'p-personal')\n\t */\n\thidePortlet( portletId ) {\n\t\tconst portlet = document.getElementById( portletId );\n\t\tif ( portlet ) {\n\t\t\tportlet.classList.add( 'emptyPortlet' );\n\t\t}\n\t},\n\n\t/**\n\t * Whether a portlet is visible.\n\t *\n\t * @param {string} portletId ID of the target portlet (e.g. 'p-cactions' or 'p-personal')\n\t * @return {boolean}\n\t */\n\tisPortletVisible( portletId ) {\n\t\tconst portlet = document.getElementById( portletId );\n\t\treturn portlet && !portlet.classList.contains( 'emptyPortlet' );\n\t},\n\n\t/**\n\t * Reveal a portlet if it is hidden.\n\t *\n\t * @param {string} portletId ID of the target portlet (e.g. 'p-cactions' or 'p-personal')\n\t */\n\tshowPortlet( portletId ) {\n\t\tconst portlet = document.getElementById( portletId );\n\t\tif ( portlet ) {\n\t\t\tportlet.classList.remove( 'emptyPortlet' );\n\t\t}\n\t},\n\n\t/**\n\t * Clears the entire subtitle if present in the page. Used for refreshing subtitle\n\t * after edit with response from parse API.\n\t */\n\tclearSubtitle() {\n\t\tconst subtitle = document.getElementById( 'mw-content-subtitle' );\n\t\tif ( subtitle ) {\n\t\t\tsubtitle.innerHTML = '';\n\t\t}\n\t},\n\n\t/**\n\t * Create a message box element. Callers are responsible for ensuring suitable Codex styles\n\t * have been added to the page e.g. mediawiki.codex.messagebox.styles.\n\t *\n\t * @since 1.43\n\t * @param {string|Node} textOrElement text or node.\n\t * @param {string} [type] defaults to notice.\n\t * @param {boolean} [inline] whether the notice should be inline.\n\t * @return {Element}\n\t */\n\tmessageBox( textOrElement, type = 'notice', inline = false ) {\n\t\tconst msgBoxElement = document.createElement( 'div' );\n\t\tmsgBoxElement.classList.add( 'cdx-message' );\n\n\t\tif ( [ 'error', 'warning', 'success', 'notice' ].includes( type ) ) {\n\t\t\t// The following CSS classes are used here:\n\t\t\t// * cdx-message--notice\n\t\t\t// * cdx-message--warning\n\t\t\t// * cdx-message--error\n\t\t\t// * cdx-message--success\n\t\t\tmsgBoxElement.classList.add( `cdx-message--${ type }` );\n\t\t}\n\t\tmsgBoxElement.classList.add( inline ? 'cdx-message--inline' : 'cdx-message--block' );\n\n\t\tif ( type === 'error' ) {\n\t\t\tmsgBoxElement.setAttribute( 'role', 'alert' );\n\t\t} else {\n\t\t\tmsgBoxElement.setAttribute( 'aria-live', 'polite' );\n\t\t}\n\n\t\tconst iconElement = document.createElement( 'span' );\n\t\ticonElement.classList.add( 'cdx-message__icon' );\n\t\tconst contentElement = document.createElement( 'div' );\n\t\tcontentElement.classList.add( 'cdx-message__content' );\n\t\tif ( typeof textOrElement === 'string' ) {\n\t\t\tcontentElement.textContent = textOrElement;\n\t\t} else {\n\t\t\tcontentElement.appendChild( textOrElement );\n\t\t}\n\t\tmsgBoxElement.appendChild( iconElement );\n\t\tmsgBoxElement.appendChild( contentElement );\n\t\treturn msgBoxElement;\n\t},\n\n\t/**\n\t * Add content to the subtitle of the skin.\n\t *\n\t * @param {HTMLElement|string} nodeOrHTMLString\n\t */\n\taddSubtitle( nodeOrHTMLString ) {\n\t\tconst subtitle = document.getElementById( 'mw-content-subtitle' );\n\t\tif ( subtitle ) {\n\t\t\tif ( typeof nodeOrHTMLString === 'string' ) {\n\t\t\t\tsubtitle.innerHTML += nodeOrHTMLString;\n\t\t\t} else {\n\t\t\t\tsubtitle.appendChild( nodeOrHTMLString );\n\t\t\t}\n\t\t} else {\n\t\t\tthrow new Error( 'This skin does not support additions to the subtitle.' );\n\t\t}\n\t},\n\n\t/**\n\t * Creates a detached portlet Element in the skin with no elements.\n\t *\n\t * @example\n\t * // Create a portlet with 2 menu items that is styled as a dropdown in certain skins.\n\t * mw.util.addPortlet( 'p-myportlet', 'My label', '#p-cactions' );\n\t * mw.util.addPortletLink( 'p-myportlet', '#', 'Link 1' );\n\t * mw.util.addPortletLink( 'p-myportlet', '#', 'Link 2' );\n\t *\n\t * @param {string} id ID of the new portlet.\n\t * @param {string} [label] Label of the new portlet.\n\t * @param {string} [selectorHint] Selector of the element the new portlet would like to\n\t * be inserted near. Typically the portlet will be inserted after this selector, but in some\n\t * skins, the skin may relocate the element to another available space.\n\t *\n\t * When provided, skins can use the parameter to infer information about how the user intended\n\t * the menu to be rendered. For example, in vector and vector-2022 targeting `#p-cactions` will\n\t * result in the creation of a dropdown menu.\n\t *\n\t * If this argument is not passed, then the caller is responsible for appending the element\n\t * to the DOM before using addPortletLink.\n\t *\n\t * To add a portlet in an exact position do not rely on this parameter, instead assign the returned\n\t * element to a variable, and use `yourTarget.appendChild( portlet );`\n\t * @fires Hooks~'util.addPortlet'\n\t * @return {HTMLElement|null} will be null if it was not possible to create an portlet with\n\t * the required information e.g. the selector given in `selectorHint` parameter could not be resolved\n\t * to an existing element in the page.\n\t */\n\taddPortlet( id, label, selectorHint ) {\n\t\tconst portlet = document.createElement( 'div' );\n\t\t// These classes should be kept in sync with includes/skins/components/SkinComponentMenu.php.\n\t\t// eslint-disable-next-line mediawiki/class-doc\n\t\tportlet.classList.add( 'mw-portlet', 'mw-portlet-' + id, 'emptyPortlet',\n\t\t\t// Additional class is added to allow skins to track portlets added via this mechanism.\n\t\t\t'mw-portlet-js'\n\t\t);\n\t\tportlet.id = id;\n\t\tif ( label ) {\n\t\t\tconst labelNode = document.createElement( 'label' );\n\t\t\tlabelNode.textContent = label;\n\t\t\tportlet.appendChild( labelNode );\n\t\t}\n\t\tconst listWrapper = document.createElement( 'div' );\n\t\tconst list = document.createElement( 'ul' );\n\t\tlistWrapper.appendChild( list );\n\t\tportlet.appendChild( listWrapper );\n\t\tif ( selectorHint ) {\n\t\t\tlet referenceNode;\n\t\t\ttry {\n\t\t\t\treferenceNode = document.querySelector( selectorHint );\n\t\t\t} catch ( e ) {\n\t\t\t\t// CSS selector not supported by browser.\n\t\t\t}\n\t\t\tif ( referenceNode ) {\n\t\t\t\treferenceNode.after( portlet );\n\t\t\t} else {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t}\n\t\t/**\n\t\t * Fires when a portlet is successfully created.\n\t\t *\n\t\t * @event ~'util.addPortlet'\n\t\t * @memberof Hooks\n\t\t * @param {HTMLElement} portlet the portlet that was created.\n\t\t * @param {string|null} selectorHint the css selector used to append to the DOM.\n\t\t *\n\t\t * @example\n\t\t * mw.hook( 'util.addPortlet' ).add( ( p ) => {\n\t\t * p.style.border = 'solid 1px black';\n\t\t * } );\n\t\t */\n\t\tmw.hook( 'util.addPortlet' ).fire( portlet, selectorHint );\n\t\treturn portlet;\n\t},\n\t/**\n\t * Add a link to a portlet menu on the page.\n\t *\n\t * The portlets that are supported include:\n\t *\n\t * - p-cactions (Content actions)\n\t * - p-personal (Personal tools)\n\t * - p-navigation (Navigation)\n\t * - p-tb (Toolbox)\n\t * - p-associated-pages (For namespaces and special page tabs on supported skins)\n\t * - p-dock-bottom (A sticky menu fixed to bottom of viewport on supported skins)\n\t * - p-namespaces (For namespaces on legacy skins)\n\t *\n\t * Additional menus can be discovered through the following code:\n\t * ```$('.mw-portlet').toArray().map((el) => el.id);```\n\t *\n\t * Menu availability varies by skin, wiki, and current page.\n\t *\n\t * The first three parameters are required, the others are optional and\n\t * may be null. Though providing an id and tooltip is recommended.\n\t *\n\t * By default, the new link will be added to the end of the menu. To\n\t * add the link before an existing item, pass the DOM node or a CSS selector\n\t * for that item, e.g. `'#foobar'` or `document.getElementById( 'foobar' )`.\n\t * ```\n\t * mw.util.addPortletLink(\n\t * 'p-tb', 'https://www.mediawiki.org/',\n\t * 'mediawiki.org', 't-mworg', 'Go to mediawiki.org', 'm', '#t-print'\n\t * );\n\t *\n\t * var node = mw.util.addPortletLink(\n\t * 'p-tb',\n\t * mw.util.getUrl( 'Special:Example' ),\n\t * 'Example'\n\t * );\n\t * $( node ).on( 'click', function ( e ) {\n\t * console.log( 'Example' );\n\t * e.preventDefault();\n\t * } );\n\t * ```\n\t *\n\t * Remember that to call this inside a user script, you may have to ensure the\n\t * `mediawiki.util` is loaded first:\n\t * ```\n\t * $.when( mw.loader.using( [ 'mediawiki.util' ] ), $.ready ).then( function () {\n\t * mw.util.addPortletLink( 'p-tb', 'https://www.mediawiki.org/', 'mediawiki.org' );\n\t * } );\n\t * ```\n\t *\n\t * @param {string} portletId ID of the target portlet (e.g. 'p-cactions' or 'p-personal')\n\t * @param {string} href Link URL\n\t * @param {string} text Link text\n\t * @param {string} [id] ID of the list item, should be unique and preferably have\n\t * the appropriate prefix ('ca-', 'pt-', 'n-' or 't-')\n\t * @param {string} [tooltip] Text to show when hovering over the link, without accesskey suffix\n\t * @param {string} [accesskey] Access key to activate this link. One character only,\n\t * avoid conflicts with other links. Use `$( '[accesskey=x]' )` in the console to\n\t * see if 'x' is already used.\n\t * @param {HTMLElement|jQuery|string} [nextnode] Element that the new item should be added before.\n\t * Must be another item in the same list, it will be ignored otherwise.\n\t * Can be specified as DOM reference, as jQuery object, or as CSS selector string.\n\t * @fires Hooks~'util.addPortletLink'\n\t * @return {HTMLElement|null} The added list item, or null if no element was added.\n\t */\n\taddPortletLink( portletId, href, text, id, tooltip, accesskey, nextnode ) {\n\t\tif ( !portletId ) {\n\t\t\t// Avoid confusing id=\"undefined\" lookup\n\t\t\treturn null;\n\t\t}\n\n\t\tconst portlet = document.getElementById( portletId );\n\t\tif ( !portlet ) {\n\t\t\t// Invalid portlet ID\n\t\t\treturn null;\n\t\t}\n\n\t\t// Setup the anchor tag and set any the properties\n\t\tconst link = document.createElement( 'a' );\n\t\tlink.href = href;\n\n\t\tlet linkChild = document.createTextNode( text );\n\t\tlet i = portletLinkOptions[ 'text-wrapper' ].length;\n\t\t// Wrap link using text-wrapper option if provided\n\t\t// Iterate backward since the wrappers are declared from outer to inner,\n\t\t// and we build it up from the inside out.\n\t\twhile ( i-- ) {\n\t\t\tconst wrapper = portletLinkOptions[ 'text-wrapper' ][ i ];\n\t\t\tconst wrapperElement = document.createElement( wrapper.tag );\n\t\t\tif ( wrapper.attributes ) {\n\t\t\t\t$( wrapperElement ).attr( wrapper.attributes );\n\t\t\t}\n\t\t\twrapperElement.appendChild( linkChild );\n\t\t\tlinkChild = wrapperElement;\n\t\t}\n\t\tlink.appendChild( linkChild );\n\n\t\tif ( tooltip ) {\n\t\t\tlink.title = tooltip;\n\t\t}\n\t\tif ( accesskey ) {\n\t\t\tlink.accessKey = accesskey;\n\t\t}\n\n\t\t// Unhide portlet if it was hidden before\n\t\tutil.showPortlet( portletId );\n\n\t\tconst item = $( '<li>' ).append( link )[ 0 ];\n\t\t// mw-list-item-js distinguishes portlet links added via javascript and the server\n\t\titem.className = 'mw-list-item mw-list-item-js';\n\t\tif ( id ) {\n\t\t\titem.id = id;\n\t\t}\n\n\t\t// Select the first (most likely only) unordered list inside the portlet\n\t\tlet ul = portlet.tagName.toLowerCase() === 'ul' ? portlet : portlet.querySelector( 'ul' );\n\t\tif ( !ul ) {\n\t\t\t// If it didn't have an unordered list yet, create one\n\t\t\tul = document.createElement( 'ul' );\n\t\t\tconst portletDiv = portlet.querySelector( 'div' );\n\t\t\tif ( portletDiv ) {\n\t\t\t\t// Support: Legacy skins have a div (such as div.body or div.pBody).\n\t\t\t\t// Append the <ul> to that.\n\t\t\t\tportletDiv.appendChild( ul );\n\t\t\t} else {\n\t\t\t\t// Append it to the portlet directly\n\t\t\t\tportlet.appendChild( ul );\n\t\t\t}\n\t\t}\n\n\t\tlet next;\n\t\tif ( nextnode && ( typeof nextnode === 'string' || nextnode.nodeType || nextnode.jquery ) ) {\n\t\t\t// eslint-disable-next-line no-jquery/variable-pattern\n\t\t\tnextnode = $( ul ).find( nextnode );\n\t\t\tif ( nextnode.length === 1 && nextnode[ 0 ].parentNode === ul ) {\n\t\t\t\t// Insertion point: Before nextnode\n\t\t\t\tnextnode.before( item );\n\t\t\t\tnext = true;\n\t\t\t}\n\t\t\t// Else: Invalid nextnode value (no match, more than one match, or not a direct child)\n\t\t\t// Else: Invalid nextnode type\n\t\t}\n\n\t\tif ( !next ) {\n\t\t\t// Insertion point: End of list (default)\n\t\t\tul.appendChild( item );\n\t\t}\n\n\t\t// Update tooltip for the access key after inserting into DOM\n\t\t// to get a localized access key label (T69946).\n\t\tif ( accesskey ) {\n\t\t\t$( link ).updateTooltipAccessKeys();\n\t\t}\n\n\t\t/**\n\t\t * Fires when a portlet link is successfully created.\n\t\t *\n\t\t * @event ~'util.addPortletLink'\n\t\t * @memberof Hooks\n\t\t * @param {HTMLElement} item the portlet link that was created.\n\t\t * @param {Object} information about the item include id.\n\t\t *\n\t\t * @example\n\t\t * mw.hook( 'util.addPortletLink' ).add( ( link ) => {\n\t\t * const span = $( '<span class=\"icon\">' );\n\t\t * link.appendChild( span );\n\t\t * } );\n\t\t */\n\t\tmw.hook( 'util.addPortletLink' ).fire( item, {\n\t\t\tid: id\n\t\t} );\n\t\treturn item;\n\t},\n\n\t/**\n\t * Validate a string as representing a valid e-mail address.\n\t *\n\t * This validation is based on the HTML5 specification.\n\t *\n\t * @example\n\t * mw.util.validateEmail( \"me@example.org\" ) === true;\n\t *\n\t * @param {string} email E-mail address\n\t * @return {boolean|null} True if valid, false if invalid, null if `email` was empty.\n\t */\n\tvalidateEmail( email ) {\n\t\tif ( email === '' ) {\n\t\t\treturn null;\n\t\t}\n\n\t\t// HTML5 defines a string as valid e-mail address if it matches\n\t\t// the ABNF:\n\t\t// 1 * ( atext / \".\" ) \"@\" ldh-str 1*( \".\" ldh-str )\n\t\t// With:\n\t\t// - atext : defined in RFC 5322 section 3.2.3\n\t\t// - ldh-str : defined in RFC 1034 section 3.5\n\t\t//\n\t\t// (see STD 68 / RFC 5234 https://tools.ietf.org/html/std68)\n\t\t// First, define the RFC 5322 'atext' which is pretty easy:\n\t\t// atext = ALPHA / DIGIT / ; Printable US-ASCII\n\t\t// \"!\" / \"#\" / ; characters not including\n\t\t// \"$\" / \"%\" / ; specials. Used for atoms.\n\t\t// \"&\" / \"'\" /\n\t\t// \"*\" / \"+\" /\n\t\t// \"-\" / \"/\" /\n\t\t// \"=\" / \"?\" /\n\t\t// \"^\" / \"_\" /\n\t\t// \"`\" / \"{\" /\n\t\t// \"|\" / \"}\" /\n\t\t// \"~\"\n\t\tconst rfc5322Atext = 'a-z0-9!#$%&\\'*+\\\\-/=?^_`{|}~';\n\n\t\t// Next define the RFC 1034 'ldh-str'\n\t\t// <domain> ::= <subdomain> | \" \"\n\t\t// <subdomain> ::= <label> | <subdomain> \".\" <label>\n\t\t// <label> ::= <letter> [ [ <ldh-str> ] <let-dig> ]\n\t\t// <ldh-str> ::= <let-dig-hyp> | <let-dig-hyp> <ldh-str>\n\t\t// <let-dig-hyp> ::= <let-dig> | \"-\"\n\t\t// <let-dig> ::= <letter> | <digit>\n\t\tconst rfc1034LdhStr = 'a-z0-9\\\\-';\n\n\t\tconst html5EmailRegexp = new RegExp(\n\t\t\t// start of string\n\t\t\t'^' +\n\t\t\t// User part which is liberal :p\n\t\t\t'[' + rfc5322Atext + '\\\\.]+' +\n\t\t\t// 'at'\n\t\t\t'@' +\n\t\t\t// Domain first part\n\t\t\t'[' + rfc1034LdhStr + ']+' +\n\t\t\t// Optional second part and following are separated by a dot\n\t\t\t'(?:\\\\.[' + rfc1034LdhStr + ']+)*' +\n\t\t\t// End of string\n\t\t\t'$',\n\t\t\t// RegExp is case insensitive\n\t\t\t'i'\n\t\t);\n\t\treturn ( email.match( html5EmailRegexp ) !== null );\n\t},\n\n\t/**\n\t * Whether a string is a valid IPv4 address or not.\n\t *\n\t * Based on \\Wikimedia\\IPUtils::isIPv4 in PHP.\n\t *\n\t * @example\n\t * // Valid\n\t * mw.util.isIPv4Address( '80.100.20.101' );\n\t * mw.util.isIPv4Address( '192.168.1.101' );\n\t *\n\t * // Invalid\n\t * mw.util.isIPv4Address( '192.0.2.0/24' );\n\t * mw.util.isIPv4Address( 'hello' );\n\t *\n\t * @param {string} address\n\t * @param {boolean} [allowBlock=false]\n\t * @return {boolean}\n\t */\n\tisIPv4Address( address, allowBlock ) {\n\n\t\tif ( typeof address !== 'string' ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst RE_IP_BYTE = '(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|0?[0-9]?[0-9])';\n\t\tconst RE_IP_ADD = '(?:' + RE_IP_BYTE + '\\\\.){3}' + RE_IP_BYTE;\n\t\tconst block = allowBlock ? '(?:\\\\/(?:3[0-2]|[12]?\\\\d))?' : '';\n\n\t\treturn ( new RegExp( '^' + RE_IP_ADD + block + '$' ).test( address ) );\n\t},\n\n\t/**\n\t * Whether a string is a valid IPv6 address or not.\n\t *\n\t * Based on \\Wikimedia\\IPUtils::isIPv6 in PHP.\n\t *\n\t * @example\n\t * // Valid\n\t * mw.util.isIPv6Address( '2001:db8:a:0:0:0:0:0' );\n\t * mw.util.isIPv6Address( '2001:db8:a::' );\n\t *\n\t * // Invalid\n\t * mw.util.isIPv6Address( '2001:db8:a::/32' );\n\t * mw.util.isIPv6Address( 'hello' );\n\t *\n\t * @param {string} address\n\t * @param {boolean} [allowBlock=false]\n\t * @return {boolean}\n\t */\n\tisIPv6Address( address, allowBlock ) {\n\t\tif ( typeof address !== 'string' ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst block = allowBlock ? '(?:\\\\/(?:12[0-8]|1[01][0-9]|[1-9]?\\\\d))?' : '';\n\t\tlet RE_IPV6_ADD =\n\t\t\t'(?:' + // starts with \"::\" (including \"::\")\n\t\t\t\t':(?::|(?::' +\n\t\t\t\t\t'[0-9A-Fa-f]{1,4}' +\n\t\t\t\t'){1,7})' +\n\t\t\t\t'|' + // ends with \"::\" (except \"::\")\n\t\t\t\t'[0-9A-Fa-f]{1,4}' +\n\t\t\t\t'(?::' +\n\t\t\t\t\t'[0-9A-Fa-f]{1,4}' +\n\t\t\t\t'){0,6}::' +\n\t\t\t\t'|' + // contains no \"::\"\n\t\t\t\t'[0-9A-Fa-f]{1,4}' +\n\t\t\t\t'(?::' +\n\t\t\t\t\t'[0-9A-Fa-f]{1,4}' +\n\t\t\t\t'){7}' +\n\t\t\t')';\n\n\t\tif ( new RegExp( '^' + RE_IPV6_ADD + block + '$' ).test( address ) ) {\n\t\t\treturn true;\n\t\t}\n\n\t\t// contains one \"::\" in the middle (single '::' check below)\n\t\tRE_IPV6_ADD =\n\t\t\t'[0-9A-Fa-f]{1,4}' +\n\t\t\t'(?:::?' +\n\t\t\t\t'[0-9A-Fa-f]{1,4}' +\n\t\t\t'){1,6}';\n\n\t\treturn (\n\n\t\t\tnew RegExp( '^' + RE_IPV6_ADD + block + '$' ).test( address ) &&\n\t\t\t/::/.test( address ) &&\n\t\t\t!/::.*::/.test( address )\n\t\t);\n\t},\n\n\t/**\n\t * Check whether a string is a valid IP address.\n\t *\n\t * @since 1.25\n\t * @param {string} address String to check\n\t * @param {boolean} [allowBlock=false] If a block of IPs should be allowed\n\t * @return {boolean}\n\t */\n\tisIPAddress( address, allowBlock ) {\n\t\treturn util.isIPv4Address( address, allowBlock ) ||\n\t\t\tutil.isIPv6Address( address, allowBlock );\n\t},\n\n\t/**\n\t * @typedef {Object} ResizeableThumbnailUrl\n\t * @property {string} name File name (same format as Title.getMainText()).\n\t * @property {number} [width] Thumbnail width, in pixels. Null when the file is not\n\t * a thumbnail.\n\t * @property {function(number):string} [resizeUrl] A function that takes a width\n\t * parameter and returns a thumbnail URL (URL-encoded) with that width. The width\n\t * parameter must be smaller than the width of the original image (or equal to it; that\n\t * only works if MediaHandler::mustRender returns true for the file). Null when the\n\t * file in the original URL is not a thumbnail.\n\t * On wikis with $wgGenerateThumbnailOnParse set to true, this will fall back to using\n\t * Special:Redirect which is less efficient. Otherwise, it is a direct thumbnail URL.\n\t */\n\n\t/**\n\t * Parse the URL of an image uploaded to MediaWiki, or a thumbnail for such an image,\n\t * and return the image name, thumbnail size and a template that can be used to resize\n\t * the image.\n\t *\n\t * @param {string} url URL to parse (URL-encoded)\n\t * @return {ResizeableThumbnailUrl|null} null if the URL is not a valid MediaWiki\n\t * image/thumbnail URL.\n\t */\n\tparseImageUrl( url ) {\n\t\tlet name, decodedName, width, urlTemplate;\n\n\t\t// thumb.php-generated thumbnails\n\t\t// thumb.php?f=<name>&w[idth]=<width>[px]\n\t\tif ( /thumb\\.php/.test( url ) ) {\n\t\t\tdecodedName = mw.util.getParamValue( 'f', url );\n\t\t\tname = encodeURIComponent( decodedName );\n\t\t\twidth = mw.util.getParamValue( 'width', url ) || mw.util.getParamValue( 'w', url );\n\t\t\turlTemplate = url.replace( /([&?])w(?:idth)?=[^&]+/g, '' ) + '&width={width}';\n\t\t} else {\n\t\t\tconst regexes = [\n\t\t\t\t// Thumbnails\n\t\t\t\t// /<hash prefix>/<name>/[<options>-]<width>-<name*>[.<ext>]\n\t\t\t\t// where <name*> could be the filename, 'thumbnail.<ext>' (for long filenames)\n\t\t\t\t// or the base-36 SHA1 of the filename.\n\n\t\t\t\t/\\/[\\da-f]\\/[\\da-f]{2}\\/([^\\s/]+)\\/(?:[^\\s/]+-)?(\\d+)px-(?:\\1|thumbnail|[a-z\\d]{31})(\\.[^\\s/]+)?$/,\n\n\t\t\t\t// Full size images\n\t\t\t\t// /<hash prefix>/<name>\n\t\t\t\t/\\/[\\da-f]\\/[\\da-f]{2}\\/([^\\s/]+)$/,\n\n\t\t\t\t// Thumbnails in non-hashed upload directories\n\t\t\t\t// /<name>/[<options>-]<width>-<name*>[.<ext>]\n\n\t\t\t\t/\\/([^\\s/]+)\\/(?:[^\\s/]+-)?(\\d+)px-(?:\\1|thumbnail|[a-z\\d]{31})[^\\s/]*$/,\n\n\t\t\t\t// Full-size images in non-hashed upload directories\n\t\t\t\t// /<name>\n\t\t\t\t/\\/([^\\s/]+)$/\n\t\t\t];\n\t\t\tfor ( let i = 0; i < regexes.length; i++ ) {\n\t\t\t\tconst match = url.match( regexes[ i ] );\n\t\t\t\tif ( match ) {\n\t\t\t\t\tname = match[ 1 ];\n\t\t\t\t\tdecodedName = decodeURIComponent( name );\n\t\t\t\t\twidth = match[ 2 ] || null;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif ( name ) {\n\t\t\tif ( width !== null ) {\n\t\t\t\twidth = parseInt( width, 10 ) || null;\n\t\t\t}\n\t\t\tif ( config.GenerateThumbnailOnParse ) {\n\t\t\t\t// The wiki cannot generate thumbnails on demand. Use a special page - this means\n\t\t\t\t// an extra redirect and PHP request, but it will generate the thumbnail if it does\n\t\t\t\t// not exist.\n\t\t\t\turlTemplate = mw.util.getUrl( 'Special:Redirect/file/' + decodedName, { width: '{width}' } )\n\t\t\t\t\t// getUrl urlencodes the template variable, fix that\n\t\t\t\t\t.replace( '%7Bwidth%7D', '{width}' );\n\t\t\t} else if ( width && !urlTemplate ) {\n\t\t\t\t// Javascript does not expose regexp capturing group indexes, and the width\n\t\t\t\t// part could in theory also occur in the filename so hide that first.\n\t\t\t\tconst strippedUrl = url.replace( name, '{name}' )\n\t\t\t\t\t.replace( name, '{name}' )\n\t\t\t\t\t.replace( width + 'px-', '{width}px-' );\n\t\t\t\turlTemplate = strippedUrl.replace( /\\{name\\}/g, name );\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tname: decodedName.replace( /_/g, ' ' ),\n\t\t\t\twidth,\n\t\t\t\tresizeUrl: urlTemplate ? ( w ) => urlTemplate.replace( '{width}', w ) : null\n\t\t\t};\n\t\t}\n\t\treturn null;\n\t},\n\n\t/**\n\t * Adjust the thumbnail size to fit the width steps defined in config via\n\t * config.ThumbnailSteps, according to whether config.ThumbnailStepsRatio\n\t * is set.\n\t *\n\t * This logic is duplicated server-side in File::adjustThumbWidthForSteps.\n\t *\n\t * @param {number} thumbWidth target width in pixels\n\t * @param {number} originalWidth original file width\n\t */\n\tadjustThumbWidthForSteps(\n\t\tthumbWidth,\n\t\toriginalWidth\n\t) {\n\t\tconst steps = config.ThumbnailSteps;\n\t\tconst ratio = config.ThumbnailStepsRatio;\n\t\tif ( !steps || !ratio ) {\n\t\t\treturn thumbWidth;\n\t\t}\n\n\t\t// Note: non-integral thumbnailStepsRatio values are treated\n\t\t// as equivalent to 1 here. This is a transitional setting\n\t\t// for content generation and should be ok to ignore client-side.\n\n\t\tfor ( const widthStep of steps ) {\n\t\t\tif ( widthStep > originalWidth ) {\n\t\t\t\t// Round up to original width if there is no step between\n\t\t\t\t// desired thumb width & original file width\n\t\t\t\treturn originalWidth;\n\t\t\t}\n\t\t\tif ( widthStep >= thumbWidth ) {\n\t\t\t\treturn widthStep;\n\t\t\t}\n\t\t}\n\n\t\t// If no step matched, default to target thumb width\n\t\treturn thumbWidth;\n\t},\n\n\t/**\n\t * Escape string for safe inclusion in regular expression.\n\t *\n\t * The following characters are escaped:\n\t *\n\t * \\ { } ( ) | . ? * + - ^ $ [ ]\n\t *\n\t * @since 1.26; moved to mw.util in 1.34\n\t * @param {string} str String to escape\n\t * @return {string} Escaped string\n\t */\n\tescapeRegExp( str ) {\n\t\t// eslint-disable-next-line no-useless-escape\n\t\treturn str.replace( /([\\\\{}()|.?*+\\-^$\\[\\]])/g, '\\\\$1' );\n\t},\n\n\t/**\n\t * Convert an IP into a verbose, uppercase, normalized form.\n\t *\n\t * Both IPv4 and IPv6 addresses are trimmed. Additionally,\n\t * IPv6 addresses in octet notation are expanded to 8 words;\n\t * IPv4 addresses have leading zeros, in each octet, removed.\n\t *\n\t * This functionality has been adapted from \\Wikimedia\\IPUtils::sanitizeIP()\n\t *\n\t * @param {string} ip IP address in quad or octet form (CIDR or not).\n\t * @return {string|null}\n\t */\n\tsanitizeIP( ip ) {\n\t\tif ( typeof ip !== 'string' ) {\n\t\t\treturn null;\n\t\t}\n\t\tip = ip.trim();\n\t\tif ( ip === '' ) {\n\t\t\treturn null;\n\t\t}\n\t\tif ( !this.isIPAddress( ip, true ) ) {\n\t\t\treturn ip;\n\t\t}\n\t\tif ( this.isIPv4Address( ip, true ) ) {\n\t\t\treturn ip.replace( /(^|\\.)0+(\\d)/g, '$1$2' );\n\t\t}\n\t\tip = ip.toUpperCase();\n\t\tconst abbrevPos = ip.indexOf( '::' );\n\t\tif ( abbrevPos !== -1 ) {\n\t\t\tconst CIDRStart = ip.indexOf( '/' );\n\t\t\tconst addressEnd = ( CIDRStart !== -1 ) ? CIDRStart - 1 : ip.length - 1;\n\t\t\tlet repeatStr, extra, pad;\n\t\t\tif ( abbrevPos === 0 ) {\n\t\t\t\trepeatStr = '0:';\n\t\t\t\textra = ip === '::' ? '0' : '';\n\t\t\t\tpad = 9;\n\t\t\t} else if ( abbrevPos === addressEnd - 1 ) {\n\t\t\t\trepeatStr = ':0';\n\t\t\t\textra = '';\n\t\t\t\tpad = 9;\n\t\t\t} else {\n\t\t\t\trepeatStr = ':0';\n\t\t\t\textra = ':';\n\t\t\t\tpad = 8;\n\t\t\t}\n\t\t\tconst count = pad - ( ip.split( ':' ).length - 1 );\n\t\t\tip = ip.replace( '::', repeatStr.repeat( count ) + extra );\n\t\t}\n\t\treturn ip.replace( /(^|:)0+(([0-9A-Fa-f]{1,4}))/g, '$1$2' );\n\t},\n\n\t/**\n\t * Prettify an IP for display to end users.\n\t *\n\t * This will make it more compact and lower-case.\n\t *\n\t * This functionality has been adapted from \\Wikimedia\\IPUtils::prettifyIP()\n\t *\n\t * @param {string} ip IP address in quad or octet form (CIDR or not).\n\t * @return {string|null}\n\t */\n\tprettifyIP( ip ) {\n\t\tip = this.sanitizeIP( ip );\n\t\tif ( ip === null ) {\n\t\t\treturn null;\n\t\t}\n\t\tif ( this.isIPv6Address( ip, true ) ) {\n\t\t\tlet cidr, replaceZeros;\n\t\t\tif ( ip.includes( '/' ) ) {\n\t\t\t\tconst ipCidrSplit = ip.split( '/', 2 );\n\t\t\t\tip = ipCidrSplit[ 0 ];\n\t\t\t\tcidr = ipCidrSplit[ 1 ];\n\t\t\t} else {\n\t\t\t\tcidr = '';\n\t\t\t}\n\t\t\tconst matches = ip.match( /(?:^|:)0(?::0)+(?:$|:)/g );\n\t\t\tif ( matches ) {\n\t\t\t\treplaceZeros = matches[ 0 ];\n\t\t\t\tfor ( let i = 1; i < matches.length; i++ ) {\n\t\t\t\t\tif ( matches[ i ].length > replaceZeros.length ) {\n\t\t\t\t\t\treplaceZeros = matches[ i ];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tip = ip.replace( replaceZeros, '::' );\n\n\t\t\tif ( cidr !== '' ) {\n\t\t\t\tip = ip.concat( '/', cidr );\n\t\t\t}\n\t\t\tip = ip.toLowerCase();\n\t\t}\n\t\treturn ip;\n\t},\n\n\t/**\n\t * Checks if the given username matches $wgAutoCreateTempUser.\n\t *\n\t * This functionality has been adapted from MediaWiki\\User\\TempUser\\Pattern::isMatch()\n\t *\n\t * @param {string|null} username\n\t * @return {boolean}\n\t */\n\tisTemporaryUser( username ) {\n\t\t// Just return early if temporary accounts are not known about.\n\t\tif ( !config.AutoCreateTempUser.enabled && !config.AutoCreateTempUser.known ) {\n\t\t\treturn false;\n\t\t}\n\t\tif ( username === null ) {\n\t\t\treturn false;\n\t\t}\n\t\t/** @type {string|string[]} */\n\t\tlet matchPatterns = config.AutoCreateTempUser.matchPattern;\n\t\tif ( typeof matchPatterns === 'string' ) {\n\t\t\tmatchPatterns = [ matchPatterns ];\n\t\t} else if ( matchPatterns === null ) {\n\t\t\tmatchPatterns = [ config.AutoCreateTempUser.genPattern ];\n\t\t}\n\t\tfor ( let i = 0; i < matchPatterns.length; i++ ) {\n\t\t\tconst autoCreateUserMatchPattern = matchPatterns[ i ];\n\t\t\t// Check each match pattern, and if any matches then return a match.\n\t\t\tconst position = autoCreateUserMatchPattern.indexOf( '$1' );\n\n\t\t\t// '$1' was not found in autoCreateUserMatchPattern\n\t\t\tif ( position === -1 ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tconst prefix = autoCreateUserMatchPattern.slice( 0, position );\n\t\t\tconst suffix = autoCreateUserMatchPattern.slice( position + '$1'.length );\n\n\t\t\tlet match = true;\n\t\t\tif ( prefix !== '' ) {\n\t\t\t\tmatch = username.startsWith( prefix );\n\t\t\t}\n\t\t\tif ( match && suffix !== '' ) {\n\t\t\t\tmatch = ( username.endsWith( suffix ) ) &&\n\t\t\t\t\t( username.length >= prefix.length + suffix.length );\n\t\t\t}\n\t\t\tif ( match ) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\t// No match patterns matched the username, so the given username is not a temporary user.\n\t\treturn false;\n\t},\n\n\t/**\n\t * Determine if an input string represents a value of infinity.\n\t * This is used when testing for infinity in the context of expiries,\n\t * such as watchlisting, page protection, and block expiries.\n\t *\n\t * @param {string|null} str\n\t * @return {boolean}\n\t * @stable\n\t */\n\tisInfinity( str ) {\n\t\treturn infinityValues.includes( str );\n\t}\n};\n\n/**\n * Initialisation of mw.util.$content\n *\n * @ignore\n */\nfunction init() {\n\t// The preferred standard is class \"mw-body\".\n\t// You may also use class \"mw-body mw-body-primary\" if you use\n\t// mw-body in multiple locations. Or class \"mw-body-primary\" if\n\t// you use mw-body deeper in the DOM.\n\tconst content = document.querySelector( '.mw-body-primary' ) ||\n\t\tdocument.querySelector( '.mw-body' ) ||\n\t\t// If the skin has no such class, fall back to the parser output\n\t\tdocument.querySelector( '#mw-content-text' ) ||\n\t\t// Should never happen..., except if the skin is still in development.\n\t\tdocument.body;\n\n\tutil.$content = $( content );\n}\n\n// Backwards-compatible alias for mediawiki.RegExp module.\n// @deprecated since 1.34\nmw.RegExp = {};\nmw.log.deprecate( mw.RegExp, 'escape', util.escapeRegExp, 'Use mw.util.escapeRegExp() instead.', 'mw.RegExp.escape' );\n\nif ( window.QUnit ) {\n\t// Not allowed outside unit tests\n\tutil.setOptionsForTest = function ( opts ) {\n\t\tconfig = !opts ? require( './config.json' ) : Object.assign( {}, config, opts );\n\t};\n\tutil.init = init;\n} else {\n\t$( init );\n}\n\nmw.util = util;\nmodule.exports = util;\n","usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.visibleTimeout/.eslintrc.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.visibleTimeout/visibleTimeout.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.watchstar.widgets/.eslintrc.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.watchstar.widgets/WatchlistExpiryWidget.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.widgets.datetime/CalendarWidget.js","messages":[{"ruleId":"mediawiki/no-unlabeled-buttonwidget","severity":1,"message":"OOUI button has no label. Even icon-only buttons should set a label with invisibleLabel set to true.","line":114,"column":5,"nodeType":"NewExpression","messageId":"noLabel","endLine":119,"endColumn":8},{"ruleId":"mediawiki/no-unlabeled-buttonwidget","severity":1,"message":"OOUI button has no label. Even icon-only buttons should set a label with invisibleLabel set to true.","line":120,"column":5,"nodeType":"NewExpression","messageId":"noLabel","endLine":125,"endColumn":8}],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":2,"fixableErrorCount":0,"fixableWarningCount":0,"source":"( function () {\n\n\t/**\n\t * @classdesc CalendarWidget displays a calendar that can be used to select a date. It\n\t * uses {@link mw.widgets.datetime.DateTimeFormatter DateTimeFormatter} to get the details of\n\t * the calendar.\n\t *\n\t * This widget is mainly intended to be used as a popup from a\n\t * {@link mw.widgets.datetime.DateTimeInputWidget DateTimeInputWidget}, but may also be used\n\t * standalone.\n\t *\n\t * @class\n\t * @extends OO.ui.Widget\n\t * @mixes OO.ui.mixin.TabIndexedElement\n\t *\n\t * @constructor\n\t * @description Create an instance of `mw.widgets.CalendarWidget`.\n\t * @param {Object} [config] Configuration options\n\t * @param {Object|mw.widgets.datetime.DateTimeFormatter} [config.formatter={}] Configuration options for\n\t * {@link mw.widgets.datetime.ProlepticGregorianDateTimeFormatter}, or an\n\t * {@link mw.widgets.datetime.DateTimeFormatter} instance to use.\n\t * @param {OO.ui.Widget|null} [config.widget=null] Widget associated with the calendar.\n\t * Specifying this configures the calendar to be used as a popup from the\n\t * specified widget (e.g. absolute positioning, automatic hiding when clicked\n\t * outside).\n\t * @param {Date|null} [config.min=null] Minimum allowed date\n\t * @param {Date|null} [config.max=null] Maximum allowed date\n\t * @param {Date} [config.focusedDate] Initially focused date.\n\t * @param {Date|Date[]|null} [config.selected=null] Selected date(s).\n\t */\n\tmw.widgets.datetime.CalendarWidget = function MwWidgetsDatetimeCalendarWidget( config ) {\n\t\t// Configuration initialization\n\t\tconfig = Object.assign( {\n\t\t\tmin: null,\n\t\t\tmax: null,\n\t\t\tfocusedDate: new Date(),\n\t\t\tselected: null,\n\t\t\tformatter: {}\n\t\t}, config );\n\n\t\t// Parent constructor\n\t\tmw.widgets.datetime.CalendarWidget.super.call( this, config );\n\n\t\t// Mixin constructors\n\t\tOO.ui.mixin.TabIndexedElement.call( this, Object.assign( {}, config, { $tabIndexed: this.$element } ) );\n\n\t\t// Properties\n\t\tif ( config.min instanceof Date && config.min.getTime() >= -62167219200000 ) {\n\t\t\tthis.min = config.min;\n\t\t} else {\n\t\t\tthis.min = new Date( -62167219200000 ); // 0000-01-01T00:00:00.000Z\n\t\t}\n\t\tif ( config.max instanceof Date && config.max.getTime() <= 253402300799999 ) {\n\t\t\tthis.max = config.max;\n\t\t} else {\n\t\t\tthis.max = new Date( 253402300799999 ); // 9999-12-31T12:59:59.999Z\n\t\t}\n\n\t\tif ( config.focusedDate instanceof Date ) {\n\t\t\tthis.focusedDate = config.focusedDate;\n\t\t} else {\n\t\t\tthis.focusedDate = new Date();\n\t\t}\n\n\t\tthis.selected = [];\n\n\t\tif ( config.formatter instanceof mw.widgets.datetime.DateTimeFormatter ) {\n\t\t\tthis.formatter = config.formatter;\n\t\t} else if ( $.isPlainObject( config.formatter ) ) {\n\t\t\tthis.formatter = new mw.widgets.datetime.ProlepticGregorianDateTimeFormatter( config.formatter );\n\t\t} else {\n\t\t\tthrow new Error( '\"formatter\" must be an mw.widgets.datetime.DateTimeFormatter or a plain object' );\n\t\t}\n\n\t\tthis.calendarData = null;\n\n\t\tthis.widget = config.widget;\n\t\tthis.$widget = config.widget ? config.widget.$element : null;\n\t\tthis.onDocumentMouseDownHandler = this.onDocumentMouseDown.bind( this );\n\n\t\tthis.$head = $( '<div>' );\n\t\tthis.$header = $( '<span>' );\n\t\tthis.$table = $( '<table>' );\n\t\tthis.cols = [];\n\t\tthis.colNullable = [];\n\t\tthis.headings = [];\n\t\tthis.$tableBody = $( '<tbody>' );\n\t\tthis.rows = [];\n\t\tthis.buttons = {};\n\t\tthis.minWidth = 1;\n\t\tthis.daysPerWeek = 0;\n\n\t\t// Events\n\t\tthis.$element.on( {\n\t\t\tkeydown: this.onKeyDown.bind( this )\n\t\t} );\n\t\tthis.formatter.connect( this, {\n\t\t\tlocal: 'onLocalChange'\n\t\t} );\n\t\tif ( this.$widget ) {\n\t\t\tthis.checkFocusHandler = this.checkFocus.bind( this );\n\t\t\tthis.$element.on( {\n\t\t\t\tfocusout: this.onFocusOut.bind( this )\n\t\t\t} );\n\t\t\tthis.$widget.on( {\n\t\t\t\tfocusout: this.onFocusOut.bind( this )\n\t\t\t} );\n\t\t}\n\n\t\t// Initialization\n\t\tthis.$head\n\t\t\t.addClass( 'mw-widgets-datetime-calendarWidget-heading' )\n\t\t\t.append(\n\t\t\t\tnew OO.ui.ButtonWidget( {\n\t\t\t\t\ticon: 'previous',\n\t\t\t\t\tframed: false,\n\t\t\t\t\tclasses: [ 'mw-widgets-datetime-calendarWidget-previous' ],\n\t\t\t\t\ttabIndex: -1\n\t\t\t\t} ).connect( this, { click: 'onPrevClick' } ).$element,\n\t\t\t\tnew OO.ui.ButtonWidget( {\n\t\t\t\t\ticon: 'next',\n\t\t\t\t\tframed: false,\n\t\t\t\t\tclasses: [ 'mw-widgets-datetime-calendarWidget-next' ],\n\t\t\t\t\ttabIndex: -1\n\t\t\t\t} ).connect( this, { click: 'onNextClick' } ).$element,\n\t\t\t\tthis.$header\n\t\t\t);\n\t\tconst $colgroup = $( '<colgroup>' );\n\t\tconst $headTR = $( '<tr>' );\n\t\tthis.$table\n\t\t\t.addClass( 'mw-widgets-datetime-calendarWidget-grid' )\n\t\t\t.append( $colgroup )\n\t\t\t.append( $( '<thead>' ).append( $headTR ) )\n\t\t\t.append( this.$tableBody );\n\n\t\tconst headings = this.formatter.getCalendarHeadings();\n\t\tfor ( let i = 0; i < headings.length; i++ ) {\n\t\t\tthis.cols[ i ] = $( '<col>' );\n\t\t\tthis.headings[ i ] = $( '<th>' );\n\t\t\tthis.colNullable[ i ] = headings[ i ] === null;\n\t\t\tif ( headings[ i ] !== null ) {\n\t\t\t\tthis.headings[ i ].text( headings[ i ] );\n\t\t\t\tthis.minWidth = Math.max( this.minWidth, headings[ i ].length );\n\t\t\t\tthis.daysPerWeek++;\n\t\t\t}\n\t\t\t$colgroup.append( this.cols[ i ] );\n\t\t\t$headTR.append( this.headings[ i ] );\n\t\t}\n\n\t\tthis.setSelected( config.selected );\n\t\tthis.$element\n\t\t\t.addClass( 'mw-widgets-datetime-calendarWidget' )\n\t\t\t.append( this.$head, this.$table );\n\n\t\tif ( this.widget ) {\n\t\t\tthis.$element.addClass( 'mw-widgets-datetime-calendarWidget-dependent' );\n\n\t\t\t// Initially hidden - using #toggle may cause errors if subclasses override toggle with methods\n\t\t\t// that reference properties not initialized at that time of parent class construction\n\t\t\t// TODO: Find a better way to handle post-constructor setup\n\t\t\tthis.visible = false;\n\t\t\tthis.$element.addClass( 'oo-ui-element-hidden' );\n\t\t} else {\n\t\t\tthis.updateUI();\n\t\t}\n\t};\n\n\t/* Setup */\n\n\tOO.inheritClass( mw.widgets.datetime.CalendarWidget, OO.ui.Widget );\n\tOO.mixinClass( mw.widgets.datetime.CalendarWidget, OO.ui.mixin.TabIndexedElement );\n\n\t/* Events */\n\n\t/**\n\t * A `change` event is emitted when the selected dates change.\n\t *\n\t * @event mw.widgets.datetime.CalendarWidget.change\n\t * @param {Date|Date[]|null} dates The new date(s) or null\n\t */\n\n\t/**\n\t * A `focusChanged` event is emitted when the focused date changes.\n\t *\n\t * @event mw.widgets.datetime.CalendarWidget.focusChanged\n\t * @param {Date} date The newly focused date\n\t */\n\n\t/**\n\t * A `page` event is emitted when the current \"month\" changes.\n\t *\n\t * @event mw.widgets.datetime.CalendarWidget.page\n\t * @param {Date} date The new date\n\t */\n\n\t/* Methods */\n\n\t/**\n\t * Return the current selected dates.\n\t *\n\t * @return {Date[]}\n\t */\n\tmw.widgets.datetime.CalendarWidget.prototype.getSelected = function () {\n\t\treturn this.selected;\n\t};\n\n\t/**\n\t * Set the selected dates.\n\t *\n\t * @param {Date|Date[]|null} dates\n\t * @fires mw.widgets.datetime.CalendarWidget.change\n\t * @chainable\n\t * @return {mw.widgets.datetime.CalendarWidget}\n\t */\n\tmw.widgets.datetime.CalendarWidget.prototype.setSelected = function ( dates ) {\n\t\tlet i, changed = false;\n\n\t\tif ( dates instanceof Date ) {\n\t\t\tdates = [ dates ];\n\t\t} else if ( Array.isArray( dates ) ) {\n\t\t\tdates = dates.filter( ( dt ) => dt instanceof Date );\n\t\t\tdates.sort();\n\t\t} else {\n\t\t\tdates = [];\n\t\t}\n\n\t\tif ( this.selected.length !== dates.length ) {\n\t\t\tchanged = true;\n\t\t} else {\n\t\t\tfor ( i = 0; i < dates.length; i++ ) {\n\t\t\t\tif ( dates[ i ].getTime() !== this.selected[ i ].getTime() ) {\n\t\t\t\t\tchanged = true;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif ( changed ) {\n\t\t\tthis.selected = dates;\n\t\t\tthis.emit( 'change', dates );\n\t\t\tthis.updateUI();\n\t\t}\n\n\t\treturn this;\n\t};\n\n\t/**\n\t * Return the currently-focused date.\n\t *\n\t * @return {Date}\n\t */\n\tmw.widgets.datetime.CalendarWidget.prototype.getFocusedDate = function () {\n\t\treturn this.focusedDate;\n\t};\n\n\t/**\n\t * Set the currently-focused date.\n\t *\n\t * @param {Date} date\n\t * @fires mw.widgets.datetime.CalendarWidget.focusChanged\n\t * @fires mw.widgets.datetime.CalendarWidget.page\n\t * @chainable\n\t * @return {mw.widgets.datetime.CalendarWidget}\n\t */\n\tmw.widgets.datetime.CalendarWidget.prototype.setFocusedDate = function ( date ) {\n\t\tlet changePage = false,\n\t\t\tupdateUI = false;\n\n\t\tif ( this.focusedDate.getTime() === date.getTime() ) {\n\t\t\treturn this;\n\t\t}\n\n\t\tif ( !this.formatter.sameCalendarGrid( this.focusedDate, date ) ) {\n\t\t\tchangePage = true;\n\t\t\tupdateUI = true;\n\t\t} else if (\n\t\t\t!this.formatter.timePartIsEqual( this.focusedDate, date ) ||\n\t\t\t!this.formatter.datePartIsEqual( this.focusedDate, date )\n\t\t) {\n\t\t\tupdateUI = true;\n\t\t}\n\n\t\tthis.focusedDate = date;\n\t\tthis.emit( 'focusChanged', this.focusedDate );\n\t\tif ( changePage ) {\n\t\t\tthis.emit( 'page', date );\n\t\t}\n\t\tif ( updateUI ) {\n\t\t\tthis.updateUI();\n\t\t}\n\n\t\treturn this;\n\t};\n\n\t/**\n\t * Adjust a date.\n\t *\n\t * @protected\n\t * @param {Date} date Date to adjust\n\t * @param {string} component Component: 'month', 'week', or 'day'\n\t * @param {number} delta Integer, usually -1 or 1\n\t * @param {boolean} [enforceRange=true] Whether to enforce this.min and this.max\n\t * @return {Date}\n\t */\n\tmw.widgets.datetime.CalendarWidget.prototype.adjustDate = function ( date, component, delta ) {\n\t\tlet newDate;\n\n\t\tconst data = this.calendarData;\n\n\t\tif ( !data ) {\n\t\t\treturn date;\n\t\t}\n\n\t\tswitch ( component ) {\n\t\t\tcase 'month':\n\t\t\t\tnewDate = this.formatter.adjustComponent( date, data.monthComponent, delta, 'overflow' );\n\t\t\t\tbreak;\n\n\t\t\tcase 'week':\n\t\t\t\tif ( data.weekComponent === undefined ) {\n\t\t\t\t\tnewDate = this.formatter.adjustComponent(\n\t\t\t\t\t\tdate, data.dayComponent, delta * this.daysPerWeek, 'overflow' );\n\t\t\t\t} else {\n\t\t\t\t\tnewDate = this.formatter.adjustComponent( date, data.weekComponent, delta, 'overflow' );\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase 'day':\n\t\t\t\tnewDate = this.formatter.adjustComponent( date, data.dayComponent, delta, 'overflow' );\n\t\t\t\tbreak;\n\n\t\t\tdefault:\n\t\t\t\tthrow new Error( 'Unknown component' );\n\t\t}\n\n\t\twhile ( newDate < this.min ) {\n\t\t\tnewDate = this.formatter.adjustComponent( newDate, data.dayComponent, 1, 'overflow' );\n\t\t}\n\t\twhile ( newDate > this.max ) {\n\t\t\tnewDate = this.formatter.adjustComponent( newDate, data.dayComponent, -1, 'overflow' );\n\t\t}\n\n\t\treturn newDate;\n\t};\n\n\t/**\n\t * Update the user interface.\n\t *\n\t * @protected\n\t */\n\tmw.widgets.datetime.CalendarWidget.prototype.updateUI = function () {\n\t\tlet row, day, k, $cell,\n\t\t\twidth = this.minWidth;\n\n\t\tconst\n\t\t\tnullCols = [],\n\t\t\tfocusedDate = this.getFocusedDate(),\n\t\t\tselected = this.getSelected(),\n\t\t\tdatePartIsEqual = this.formatter.datePartIsEqual.bind( this.formatter ),\n\t\t\tisSelected = function ( dt ) {\n\t\t\t\treturn datePartIsEqual( this, dt );\n\t\t\t};\n\n\t\tthis.calendarData = this.formatter.getCalendarData( focusedDate );\n\n\t\tthis.$header.text( this.calendarData.header );\n\n\t\tfor ( let c = 0; c < this.colNullable.length; c++ ) {\n\t\t\tnullCols[ c ] = this.colNullable[ c ];\n\t\t\tif ( nullCols[ c ] ) {\n\t\t\t\tfor ( let r = 0; r < this.calendarData.rows.length; r++ ) {\n\t\t\t\t\tif ( this.calendarData.rows[ r ][ c ] ) {\n\t\t\t\t\t\tnullCols[ c ] = false;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tthis.$tableBody.children().detach();\n\t\tfor ( let r = 0; r < this.calendarData.rows.length; r++ ) {\n\t\t\tif ( !this.rows[ r ] ) {\n\t\t\t\tthis.rows[ r ] = $( '<tr>' );\n\t\t\t} else {\n\t\t\t\tthis.rows[ r ].children().detach();\n\t\t\t}\n\t\t\tthis.$tableBody.append( this.rows[ r ] );\n\t\t\trow = this.calendarData.rows[ r ];\n\t\t\tfor ( let c = 0; c < row.length; c++ ) {\n\t\t\t\tday = row[ c ];\n\t\t\t\tif ( day === null ) {\n\t\t\t\t\tk = 'empty-' + r + '-' + c;\n\t\t\t\t\tif ( !this.buttons[ k ] ) {\n\t\t\t\t\t\tthis.buttons[ k ] = $( '<td>' );\n\t\t\t\t\t}\n\t\t\t\t\t$cell = this.buttons[ k ];\n\t\t\t\t\t$cell.toggleClass( 'oo-ui-element-hidden', nullCols[ c ] );\n\t\t\t\t} else {\n\t\t\t\t\tk = ( day.extra ? day.extra : '' ) + day.display;\n\t\t\t\t\twidth = Math.max( width, day.display.length );\n\t\t\t\t\tif ( !this.buttons[ k ] ) {\n\t\t\t\t\t\tthis.buttons[ k ] = new OO.ui.ButtonWidget( {\n\t\t\t\t\t\t\t$element: $( '<td>' ),\n\t\t\t\t\t\t\tclasses: [\n\t\t\t\t\t\t\t\t'mw-widgets-datetime-calendarWidget-cell',\n\t\t\t\t\t\t\t\tday.extra ? 'mw-widgets-datetime-calendarWidget-extra' : ''\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\tframed: true,\n\t\t\t\t\t\t\tlabel: day.display,\n\t\t\t\t\t\t\ttabIndex: -1\n\t\t\t\t\t\t} );\n\t\t\t\t\t\tthis.buttons[ k ].connect( this, { click: [ 'onDayClick', this.buttons[ k ] ] } );\n\t\t\t\t\t}\n\t\t\t\t\tthis.buttons[ k ]\n\t\t\t\t\t\t.setData( day.date )\n\t\t\t\t\t\t.setDisabled( day.date < this.min || day.date > this.max );\n\t\t\t\t\t$cell = this.buttons[ k ].$element;\n\t\t\t\t\t$cell\n\t\t\t\t\t\t.toggleClass( 'mw-widgets-datetime-calendarWidget-focused',\n\t\t\t\t\t\t\tthis.formatter.datePartIsEqual( focusedDate, day.date ) )\n\t\t\t\t\t\t.toggleClass( 'mw-widgets-datetime-calendarWidget-selected',\n\t\t\t\t\t\t\tselected.some( isSelected, day.date ) );\n\t\t\t\t}\n\t\t\t\tthis.rows[ r ].append( $cell );\n\t\t\t}\n\t\t}\n\n\t\tfor ( let c = 0; c < this.cols.length; c++ ) {\n\t\t\tif ( nullCols[ c ] ) {\n\t\t\t\tthis.cols[ c ].width( 0 );\n\t\t\t} else {\n\t\t\t\tthis.cols[ c ].width( width + 'em' );\n\t\t\t}\n\t\t\tthis.cols[ c ].toggleClass( 'oo-ui-element-hidden', nullCols[ c ] );\n\t\t\tthis.headings[ c ].toggleClass( 'oo-ui-element-hidden', nullCols[ c ] );\n\t\t}\n\t};\n\n\t/**\n\t * Handles formatter 'local' flag changing.\n\t *\n\t * @protected\n\t */\n\tmw.widgets.datetime.CalendarWidget.prototype.onLocalChange = function () {\n\t\tif ( this.formatter.localChangesDatePart( this.getFocusedDate() ) ) {\n\t\t\tthis.emit( 'page', this.getFocusedDate() );\n\t\t}\n\n\t\tthis.updateUI();\n\t};\n\n\t/**\n\t * Handles previous button click.\n\t *\n\t * @protected\n\t */\n\tmw.widgets.datetime.CalendarWidget.prototype.onPrevClick = function () {\n\t\tthis.setFocusedDate( this.adjustDate( this.getFocusedDate(), 'month', -1 ) );\n\t\tif ( !this.$widget || OO.ui.contains( this.$element[ 0 ], document.activeElement, true ) ) {\n\t\t\tthis.$element.trigger( 'focus' );\n\t\t}\n\t};\n\n\t/**\n\t * Handles next button click.\n\t *\n\t * @protected\n\t */\n\tmw.widgets.datetime.CalendarWidget.prototype.onNextClick = function () {\n\t\tthis.setFocusedDate( this.adjustDate( this.getFocusedDate(), 'month', 1 ) );\n\t\tif ( !this.$widget || OO.ui.contains( this.$element[ 0 ], document.activeElement, true ) ) {\n\t\t\tthis.$element.trigger( 'focus' );\n\t\t}\n\t};\n\n\t/**\n\t * Handles day button click.\n\t *\n\t * @protected\n\t * @param {OO.ui.ButtonWidget} button\n\t */\n\tmw.widgets.datetime.CalendarWidget.prototype.onDayClick = function ( button ) {\n\t\tconst data = button.getData();\n\t\tthis.setFocusedDate( data );\n\t\tthis.setSelected( [ data ] );\n\t\tif ( !this.$widget || OO.ui.contains( this.$element[ 0 ], document.activeElement, true ) ) {\n\t\t\tthis.$element.trigger( 'focus' );\n\t\t}\n\t};\n\n\t/**\n\t * Handles document mouse down events.\n\t *\n\t * @protected\n\t * @param {jQuery.Event} e Mouse down event\n\t */\n\tmw.widgets.datetime.CalendarWidget.prototype.onDocumentMouseDown = function ( e ) {\n\t\tif ( this.$widget &&\n\t\t\t!OO.ui.contains( this.$element[ 0 ], e.target, true ) &&\n\t\t\t!OO.ui.contains( this.$widget[ 0 ], e.target, true )\n\t\t) {\n\t\t\tthis.toggle( false );\n\t\t}\n\t};\n\n\t/**\n\t * Handles key presses.\n\t *\n\t * @protected\n\t * @param {jQuery.Event} e Key down event\n\t * @return {boolean|undefined} False to cancel the default event\n\t */\n\tmw.widgets.datetime.CalendarWidget.prototype.onKeyDown = function ( e ) {\n\t\tconst focusedDate = this.getFocusedDate();\n\n\t\tif ( !this.isDisabled() ) {\n\t\t\tswitch ( e.which ) {\n\t\t\t\tcase OO.ui.Keys.ENTER:\n\t\t\t\tcase OO.ui.Keys.SPACE:\n\t\t\t\t\tthis.setSelected( [ focusedDate ] );\n\t\t\t\t\treturn false;\n\n\t\t\t\tcase OO.ui.Keys.LEFT:\n\t\t\t\t\tthis.setFocusedDate( this.adjustDate( focusedDate, 'day', -1 ) );\n\t\t\t\t\treturn false;\n\n\t\t\t\tcase OO.ui.Keys.RIGHT:\n\t\t\t\t\tthis.setFocusedDate( this.adjustDate( focusedDate, 'day', 1 ) );\n\t\t\t\t\treturn false;\n\n\t\t\t\tcase OO.ui.Keys.UP:\n\t\t\t\t\tthis.setFocusedDate( this.adjustDate( focusedDate, 'week', -1 ) );\n\t\t\t\t\treturn false;\n\n\t\t\t\tcase OO.ui.Keys.DOWN:\n\t\t\t\t\tthis.setFocusedDate( this.adjustDate( focusedDate, 'week', 1 ) );\n\t\t\t\t\treturn false;\n\n\t\t\t\tcase OO.ui.Keys.PAGEUP:\n\t\t\t\t\tthis.setFocusedDate( this.adjustDate( focusedDate, 'month', -1 ) );\n\t\t\t\t\treturn false;\n\n\t\t\t\tcase OO.ui.Keys.PAGEDOWN:\n\t\t\t\t\tthis.setFocusedDate( this.adjustDate( focusedDate, 'month', 1 ) );\n\t\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t};\n\n\t/**\n\t * Handles focusout events in dependent mode.\n\t *\n\t * @private\n\t */\n\tmw.widgets.datetime.CalendarWidget.prototype.onFocusOut = function () {\n\t\tsetTimeout( this.checkFocusHandler );\n\t};\n\n\t/**\n\t * When we or our widget lost focus, check if the calendar should be hidden.\n\t *\n\t * @private\n\t */\n\tmw.widgets.datetime.CalendarWidget.prototype.checkFocus = function () {\n\t\tconst containers = [ this.$element[ 0 ], this.$widget[ 0 ] ],\n\t\t\tactiveElement = document.activeElement;\n\n\t\tif ( !activeElement || !OO.ui.contains( containers, activeElement, true ) ) {\n\t\t\tthis.toggle( false );\n\t\t}\n\t};\n\n\t/**\n\t * @inheritdoc\n\t */\n\tmw.widgets.datetime.CalendarWidget.prototype.toggle = function ( visible ) {\n\t\tvisible = ( visible === undefined ? !this.visible : !!visible );\n\t\tconst change = visible !== this.isVisible();\n\n\t\t// Parent method\n\t\tmw.widgets.datetime.CalendarWidget.super.prototype.toggle.call( this, visible );\n\n\t\tif ( change ) {\n\t\t\tif ( visible ) {\n\t\t\t\t// Auto-hide\n\t\t\t\tif ( this.$widget ) {\n\t\t\t\t\tthis.getElementDocument().addEventListener(\n\t\t\t\t\t\t'mousedown', this.onDocumentMouseDownHandler, true\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tthis.updateUI();\n\t\t\t} else {\n\t\t\t\tthis.getElementDocument().removeEventListener(\n\t\t\t\t\t'mousedown', this.onDocumentMouseDownHandler, true\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\treturn this;\n\t};\n\n}() );\n","usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.widgets.datetime/DateTimeFormatter.js","messages":[{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'FieldSpecificationObject' is undefined.","line":268,"column":1,"nodeType":"Block","endLine":268,"endColumn":1},{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'CalendarGridData' is undefined.","line":632,"column":1,"nodeType":"Block","endLine":632,"endColumn":1}],"suppressedMessages":[{"ruleId":"no-jquery/no-map-util","severity":2,"message":"Prefer Array#map to $.map","line":348,"column":14,"nodeType":"CallExpression","endLine":348,"endColumn":53,"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":2,"fixableErrorCount":0,"fixableWarningCount":0,"source":"( function () {\n\n\t/**\n\t * @class\n\t * @classdesc Provides various methods needed for formatting dates and times.\n\t * @abstract\n\t * @mixes OO.EventEmitter\n\t *\n\t * @constructor\n\t * @description Create an instance of `mw.widgets.datetime.DateTimeFormatter`.\n\t * @param {Object} [config] Configuration options\n\t * @param {string} [config.format='@default'] May be a key from the\n\t * {@link mw.widgets.datetime.DateTimeFormatter.formats}, or a format\n\t * specification as defined by {@link mw.widgets.datetime.DateTimeFormatter#parseFieldSpec}\n\t * and {@link mw.widgets.datetime.DateTimeFormatter#getFieldForTag}.\n\t * @param {boolean} [config.local=false] Whether dates are local time or UTC\n\t * @param {string[]} [config.fullZones] Time zone indicators. Array of 2 strings, for\n\t * UTC and local time.\n\t * @param {string[]} [config.shortZones] Abbreviated time zone indicators. Array of 2\n\t * strings, for UTC and local time.\n\t * @param {Date} [config.defaultDate] Default date, for filling unspecified components.\n\t * Defaults to the current date and time (with 0 milliseconds).\n\t */\n\tmw.widgets.datetime.DateTimeFormatter = function MwWidgetsDatetimeDateTimeFormatter( config ) {\n\t\tthis.constructor.static.setupDefaults();\n\n\t\tconfig = Object.assign( {\n\t\t\tformat: '@default',\n\t\t\tlocal: false,\n\t\t\tfullZones: this.constructor.static.fullZones,\n\t\t\tshortZones: this.constructor.static.shortZones\n\t\t}, config );\n\n\t\t// Mixin constructors\n\t\tOO.EventEmitter.call( this );\n\n\t\t// Properties\n\t\tif ( this.constructor.static.formats[ config.format ] ) {\n\t\t\tthis.format = this.constructor.static.formats[ config.format ];\n\t\t} else {\n\t\t\tthis.format = config.format;\n\t\t}\n\t\tthis.local = !!config.local;\n\t\tthis.fullZones = config.fullZones;\n\t\tthis.shortZones = config.shortZones;\n\t\tif ( config.defaultDate instanceof Date ) {\n\t\t\tthis.defaultDate = config.defaultDate;\n\t\t} else {\n\t\t\tthis.defaultDate = new Date();\n\t\t\tif ( this.local ) {\n\t\t\t\tthis.defaultDate.setMilliseconds( 0 );\n\t\t\t} else {\n\t\t\t\tthis.defaultDate.setUTCMilliseconds( 0 );\n\t\t\t}\n\t\t}\n\t};\n\n\t/* Setup */\n\n\tOO.initClass( mw.widgets.datetime.DateTimeFormatter );\n\tOO.mixinClass( mw.widgets.datetime.DateTimeFormatter, OO.EventEmitter );\n\n\t/* Static */\n\n\t/**\n\t * Default format specifications. See the {@link #format format} parameter.\n\t *\n\t * @static\n\t * @inheritable\n\t * @type {Object}\n\t * @name mw.widgets.datetime.DateTimeFormatter.formats\n\t */\n\tmw.widgets.datetime.DateTimeFormatter.static.formats = {};\n\n\t/**\n\t * Default time zone indicators.\n\t *\n\t * @static\n\t * @inheritable\n\t * @type {string[]}\n\t * @name mw.widgets.datetime.DateTimeFormatter.fullZones\n\t */\n\tmw.widgets.datetime.DateTimeFormatter.static.fullZones = null;\n\n\t/**\n\t * Default abbreviated time zone indicators.\n\t *\n\t * @static\n\t * @inheritable\n\t * @type {string[]}\n\t * @name mw.widgets.datetime.DateTimeFormatter.shortZones\n\t */\n\tmw.widgets.datetime.DateTimeFormatter.static.shortZones = null;\n\n\tmw.widgets.datetime.DateTimeFormatter.static.setupDefaults = function () {\n\t\tif ( !this.fullZones ) {\n\t\t\tthis.fullZones = [\n\t\t\t\tmw.msg( 'timezone-utc' ),\n\t\t\t\tmw.msg( 'timezone-local' )\n\t\t\t];\n\t\t}\n\t\tif ( !this.shortZones ) {\n\t\t\tthis.shortZones = [\n\t\t\t\t'Z',\n\t\t\t\tthis.fullZones[ 1 ].slice( 0, 1 ).toUpperCase()\n\t\t\t];\n\t\t\tif ( this.shortZones[ 1 ] === 'Z' ) {\n\t\t\t\tthis.shortZones[ 1 ] = 'L';\n\t\t\t}\n\t\t}\n\t};\n\n\t/* Events */\n\n\t/**\n\t * A `local` event is emitted when the 'local' flag is changed.\n\t *\n\t * @event mw.widgets.datetime.DateTimeFormatter.local\n\t * @param {boolean} local Whether dates are local time\n\t */\n\n\t/* Methods */\n\n\t/**\n\t * Whether dates are in local time or UTC.\n\t *\n\t * @return {boolean} True if local time\n\t */\n\tmw.widgets.datetime.DateTimeFormatter.prototype.getLocal = function () {\n\t\treturn this.local;\n\t};\n\n\t/**\n\t * Toggle whether dates are in local time or UTC.\n\t *\n\t * @param {boolean} [flag] Set the flag instead of toggling it\n\t * @fires mw.widgets.datetime.DateTimeFormatter.local\n\t * @chainable\n\t * @return {mw.widgets.datetime.DateTimeFormatter}\n\t */\n\tmw.widgets.datetime.DateTimeFormatter.prototype.toggleLocal = function ( flag ) {\n\t\tif ( flag === undefined ) {\n\t\t\tflag = !this.local;\n\t\t} else {\n\t\t\tflag = !!flag;\n\t\t}\n\t\tif ( this.local !== flag ) {\n\t\t\tthis.local = flag;\n\t\t\tthis.emit( 'local', this.local );\n\t\t}\n\t\treturn this;\n\t};\n\n\t/**\n\t * Get the default date.\n\t *\n\t * @return {Date}\n\t */\n\tmw.widgets.datetime.DateTimeFormatter.prototype.getDefaultDate = function () {\n\t\treturn new Date( this.defaultDate.getTime() );\n\t};\n\n\t/**\n\t * Fetch the field specification array for this object.\n\t *\n\t * See {@link #parseFieldSpec parseFieldSpec} for details on the return value structure.\n\t *\n\t * @return {Array}\n\t */\n\tmw.widgets.datetime.DateTimeFormatter.prototype.getFieldSpec = function () {\n\t\treturn this.parseFieldSpec( this.format );\n\t};\n\n\t/**\n\t * Parse a format string into a field specification.\n\t *\n\t * The input is a string containing tags formatted as ${tag|param|param...}\n\t * (for editable fields) and $!{tag|param|param...} (for non-editable fields).\n\t * Most tags are defined by {@link #getFieldForTag getFieldForTag}, but a few\n\t * are defined here:\n\t * - ${intercalary|X|text}: Text that is only displayed when the 'intercalary'\n\t * component is X.\n\t * - ${not-intercalary|X|text}: Text that is displayed unless the 'intercalary'\n\t * component is X.\n\t *\n\t * Elements of the returned array are strings or objects. Strings are meant to\n\t * be displayed as-is. Objects are as returned by {@link #getFieldForTag getFieldForTag}.\n\t *\n\t * @protected\n\t * @param {string} format\n\t * @return {Array}\n\t */\n\tmw.widgets.datetime.DateTimeFormatter.prototype.parseFieldSpec = function ( format ) {\n\t\tlet m, last, tag, params, spec;\n\n\t\tconst\n\t\t\tret = [],\n\t\t\tre = /(.*?)(\\$(!?)\\{([^}]+)\\})/g;\n\n\t\tlast = 0;\n\t\twhile ( ( m = re.exec( format ) ) !== null ) {\n\t\t\tlast = re.lastIndex;\n\n\t\t\tif ( m[ 1 ] !== '' ) {\n\t\t\t\tret.push( m[ 1 ] );\n\t\t\t}\n\n\t\t\tparams = m[ 4 ].split( '|' );\n\t\t\ttag = params.shift();\n\t\t\tspec = this.getFieldForTag( tag, params );\n\t\t\tif ( spec ) {\n\t\t\t\tif ( m[ 3 ] === '!' ) {\n\t\t\t\t\tspec.editable = false;\n\t\t\t\t}\n\t\t\t\tret.push( spec );\n\t\t\t} else {\n\t\t\t\tret.push( m[ 2 ] );\n\t\t\t}\n\t\t}\n\t\tif ( last < format.length ) {\n\t\t\tret.push( format.slice( last ) );\n\t\t}\n\n\t\treturn ret;\n\t};\n\n\t/**\n\t * @typedef {Object} mw.widgets.datetime.DateTimeFormatter~FieldSpecificationObject\n\t * @property {string|null} component Date component corresponding to this field, if any.\n\t * @property {boolean} editable Whether this field is editable.\n\t * @property {string} type What kind of field this is:\n\t * - 'static': The field is a static string; component will be null.\n\t * - 'number': The field is generally numeric.\n\t * - 'string': The field is generally textual.\n\t * - 'boolean': The field is a boolean.\n\t * - 'toggleLocal': The field represents {@link #getLocal this.getLocal()}.\n\t * Editing should directly call {@link #toggleLocal this.toggleLocal()}.\n\t * @property {boolean} calendarComponent Whether this field is part of a calendar, e.g.\n\t * part of the date instead of the time.\n\t * @property {number} size Maximum number of characters in the field (when\n\t * the 'intercalary' component is falsey). If 0, the field should be hidden entirely.\n\t * @property {Object.<string,number>} intercalarySize Map from\n\t * 'intercalary' component values to overridden sizes.\n\t * @property {string} value For type='static', the string to display.\n\t * @property {function(Mixed): string} formatValue A function to format a\n\t * component value as a display string.\n\t * @property {function(string): Mixed} parseValue A function to parse a\n\t * display string into a component value. If parsing fails, returns undefined.\n\t */\n\n\t/**\n\t * Turn a tag into a field specification object.\n\t *\n\t * Fields implemented here are:\n\t * - ${intercalary|X|text}: Text that is only displayed when the 'intercalary'\n\t * component is X.\n\t * - ${not-intercalary|X|text}: Text that is displayed unless the 'intercalary'\n\t * component is X.\n\t * - ${zone|#}: Timezone offset, \"+0000\" format.\n\t * - ${zone|:}: Timezone offset, \"+00:00\" format.\n\t * - ${zone|short}: Timezone from 'shortZones' configuration setting.\n\t * - ${zone|full}: Timezone from 'fullZones' configuration setting.\n\t *\n\t * @protected\n\t * @abstract\n\t * @param {string} tag\n\t * @param {string[]} params\n\t * @return {FieldSpecificationObject} Field specification object, or null if the tag+params are unrecognized.\n\t */\n\tmw.widgets.datetime.DateTimeFormatter.prototype.getFieldForTag = function ( tag, params ) {\n\t\tlet c, spec = null;\n\n\t\tswitch ( tag ) {\n\t\t\tcase 'intercalary':\n\t\t\tcase 'not-intercalary':\n\t\t\t\tif ( params.length < 2 || !params[ 0 ] ) {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t\tspec = {\n\t\t\t\t\tcomponent: null,\n\t\t\t\t\tcalendarComponent: false,\n\t\t\t\t\teditable: false,\n\t\t\t\t\ttype: 'static',\n\t\t\t\t\tvalue: params.slice( 1 ).join( '|' ),\n\t\t\t\t\tsize: 0,\n\t\t\t\t\tintercalarySize: {}\n\t\t\t\t};\n\t\t\t\tif ( tag === 'intercalary' ) {\n\t\t\t\t\tspec.intercalarySize[ params[ 0 ] ] = spec.value.length;\n\t\t\t\t} else {\n\t\t\t\t\tspec.size = spec.value.length;\n\t\t\t\t\tspec.intercalarySize[ params[ 0 ] ] = 0;\n\t\t\t\t}\n\t\t\t\treturn spec;\n\n\t\t\tcase 'zone':\n\t\t\t\tswitch ( params[ 0 ] ) {\n\t\t\t\t\tcase '#':\n\t\t\t\t\tcase ':':\n\t\t\t\t\t\tc = params[ 0 ] === '#' ? '' : ':';\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\tcomponent: 'zone',\n\t\t\t\t\t\t\tcalendarComponent: false,\n\t\t\t\t\t\t\teditable: true,\n\t\t\t\t\t\t\ttype: 'toggleLocal',\n\t\t\t\t\t\t\tsize: 5 + c.length,\n\t\t\t\t\t\t\tformatValue: function ( v ) {\n\t\t\t\t\t\t\t\tlet o, r;\n\t\t\t\t\t\t\t\tif ( v ) {\n\t\t\t\t\t\t\t\t\to = new Date().getTimezoneOffset();\n\t\t\t\t\t\t\t\t\tr = String( Math.abs( o ) % 60 );\n\t\t\t\t\t\t\t\t\twhile ( r.length < 2 ) {\n\t\t\t\t\t\t\t\t\t\tr = '0' + r;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tr = String( Math.floor( Math.abs( o ) / 60 ) ) + c + r;\n\t\t\t\t\t\t\t\t\twhile ( r.length < 4 + c.length ) {\n\t\t\t\t\t\t\t\t\t\tr = '0' + r;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\treturn ( o <= 0 ? '+' : '−' ) + r;\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\treturn '+00' + c + '00';\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tparseValue: function ( v ) {\n\t\t\t\t\t\t\t\tlet m;\n\t\t\t\t\t\t\t\tv = String( v ).trim();\n\t\t\t\t\t\t\t\tif ( ( m = /^([+-−])([0-9]{1,2}):?([0-9]{2})$/.test( v ) ) ) {\n\t\t\t\t\t\t\t\t\treturn ( m[ 2 ] * 60 + m[ 3 ] ) * ( m[ 1 ] === '+' ? -1 : 1 );\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\treturn undefined;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t};\n\n\t\t\t\t\tcase 'short':\n\t\t\t\t\tcase 'full':\n\t\t\t\t\t\tspec = {\n\t\t\t\t\t\t\tcomponent: 'zone',\n\t\t\t\t\t\t\tcalendarComponent: false,\n\t\t\t\t\t\t\teditable: true,\n\t\t\t\t\t\t\ttype: 'toggleLocal',\n\t\t\t\t\t\t\tvalues: params[ 0 ] === 'short' ? this.shortZones : this.fullZones,\n\t\t\t\t\t\t\tformatValue: this.formatSpecValue,\n\t\t\t\t\t\t\tparseValue: this.parseSpecValue\n\t\t\t\t\t\t};\n\t\t\t\t\t\tspec.size = Math.max.apply(\n\t\t\t\t\t\t\t// eslint-disable-next-line no-jquery/no-map-util\n\t\t\t\t\t\t\tnull, $.map( spec.values, ( v ) => v.length )\n\t\t\t\t\t\t);\n\t\t\t\t\t\treturn spec;\n\t\t\t\t}\n\t\t\t\treturn null;\n\n\t\t\tdefault:\n\t\t\t\treturn null;\n\t\t}\n\t};\n\n\t/**\n\t * Format a value for a field specification.\n\t *\n\t * 'this' must be the field specification object. The intention is that you\n\t * could just assign this function as the 'formatValue' for each field spec.\n\t *\n\t * Besides the publicly-documented fields, uses the following:\n\t * - values: Enumerated values for the field\n\t * - zeropad: Whether to pad the number with zeros.\n\t *\n\t * @protected\n\t * @param {any} v\n\t * @return {string}\n\t */\n\tmw.widgets.datetime.DateTimeFormatter.prototype.formatSpecValue = function ( v ) {\n\t\tif ( v === undefined || v === null ) {\n\t\t\treturn '';\n\t\t}\n\n\t\tif ( typeof v === 'boolean' || this.type === 'toggleLocal' ) {\n\t\t\tv = v ? 1 : 0;\n\t\t}\n\n\t\tif ( this.values ) {\n\t\t\treturn this.values[ v ];\n\t\t}\n\n\t\tv = String( v );\n\t\tif ( this.zeropad ) {\n\t\t\twhile ( v.length < this.size ) {\n\t\t\t\tv = '0' + v;\n\t\t\t}\n\t\t}\n\t\treturn v;\n\t};\n\n\t/**\n\t * Parse a value for a field specification.\n\t *\n\t * 'this' must be the field specification object. The intention is that you\n\t * could just assign this function as the 'parseValue' for each field spec.\n\t *\n\t * Besides the publicly-documented fields, uses the following:\n\t * - values: Enumerated values for the field\n\t *\n\t * @protected\n\t * @param {string} v\n\t * @return {number|string|null}\n\t */\n\tmw.widgets.datetime.DateTimeFormatter.prototype.parseSpecValue = function ( v ) {\n\t\tlet k;\n\n\t\tif ( v === '' ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tif ( !this.values ) {\n\t\t\tv = +v;\n\t\t\tif ( this.type === 'boolean' || this.type === 'toggleLocal' ) {\n\t\t\t\treturn isNaN( v ) ? undefined : !!v;\n\t\t\t} else {\n\t\t\t\treturn isNaN( v ) ? undefined : v;\n\t\t\t}\n\t\t}\n\n\t\tif ( v.normalize ) {\n\t\t\tv = v.normalize();\n\t\t}\n\n\t\tconst re = new RegExp( '^\\\\s*' + mw.util.escapeRegExp( v ), 'i' );\n\t\tfor ( k in this.values ) {\n\t\t\tk = +k;\n\t\t\tif ( !isNaN( k ) && re.test( this.values[ k ] ) ) {\n\t\t\t\tif ( this.type === 'boolean' || this.type === 'toggleLocal' ) {\n\t\t\t\t\treturn !!k;\n\t\t\t\t} else {\n\t\t\t\t\treturn k;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn undefined;\n\t};\n\n\t/**\n\t * Get components from a Date object.\n\t *\n\t * Most specific components are defined by the subclass. \"Global\" components\n\t * are:\n\t * - intercalary: {string} Non-falsey values are used to indicate intercalary days.\n\t * - zone: {number} Timezone offset in minutes.\n\t *\n\t * @abstract\n\t * @param {Date|null} date\n\t * @return {Object} Components\n\t */\n\tmw.widgets.datetime.DateTimeFormatter.prototype.getComponentsFromDate = function ( date ) {\n\t\t// Should be overridden by subclass\n\t\treturn {\n\t\t\tzone: this.local ? date.getTimezoneOffset() : 0\n\t\t};\n\t};\n\n\t/**\n\t * Get a Date object from components.\n\t *\n\t * @param {Object} components Date components\n\t * @return {Date}\n\t */\n\tmw.widgets.datetime.DateTimeFormatter.prototype.getDateFromComponents = function ( /* components */ ) {\n\t\t// Should be overridden by subclass\n\t\treturn new Date();\n\t};\n\n\t/**\n\t * Adjust a date.\n\t *\n\t * @param {Date|null} date To be adjusted\n\t * @param {string} component To adjust\n\t * @param {number} delta Adjustment amount\n\t * @param {string} mode Adjustment mode:\n\t * - 'overflow': \"Jan 32\" => \"Feb 1\", \"Jan 33\" => \"Feb 2\", \"Feb 0\" => \"Jan 31\", etc.\n\t * - 'wrap': \"Jan 32\" => \"Jan 1\", \"Jan 33\" => \"Jan 2\", \"Jan 0\" => \"Jan 31\", etc.\n\t * - 'clip': \"Jan 32\" => \"Jan 31\", \"Feb 32\" => \"Feb 28\" (or 29), \"Feb 0\" => \"Feb 1\", etc.\n\t * @return {Date} Adjusted date\n\t */\n\tmw.widgets.datetime.DateTimeFormatter.prototype.adjustComponent = function ( date /* , component, delta, mode */ ) {\n\t\t// Should be overridden by subclass\n\t\treturn date;\n\t};\n\n\t/**\n\t * Get the column headings (weekday abbreviations) for a calendar grid.\n\t *\n\t * Null-valued columns are hidden if getCalendarData() returns no \"day\" object\n\t * for all days in that column.\n\t *\n\t * @abstract\n\t * @return {Array} string or null\n\t */\n\tmw.widgets.datetime.DateTimeFormatter.prototype.getCalendarHeadings = function () {\n\t\t// Should be overridden by subclass\n\t\treturn [];\n\t};\n\n\t/**\n\t * Test whether two dates are in the same calendar grid.\n\t *\n\t * @abstract\n\t * @param {Date} date1\n\t * @param {Date} date2\n\t * @return {boolean}\n\t */\n\tmw.widgets.datetime.DateTimeFormatter.prototype.sameCalendarGrid = function ( date1, date2 ) {\n\t\t// Should be overridden by subclass\n\t\treturn date1.getTime() === date2.getTime();\n\t};\n\n\t/**\n\t * Test whether the date parts of two Dates are equal.\n\t *\n\t * @param {Date} date1\n\t * @param {Date} date2\n\t * @return {boolean}\n\t */\n\tmw.widgets.datetime.DateTimeFormatter.prototype.datePartIsEqual = function ( date1, date2 ) {\n\t\tif ( this.local ) {\n\t\t\treturn (\n\t\t\t\tdate1.getFullYear() === date2.getFullYear() &&\n\t\t\t\tdate1.getMonth() === date2.getMonth() &&\n\t\t\t\tdate1.getDate() === date2.getDate()\n\t\t\t);\n\t\t} else {\n\t\t\treturn (\n\t\t\t\tdate1.getUTCFullYear() === date2.getUTCFullYear() &&\n\t\t\t\tdate1.getUTCMonth() === date2.getUTCMonth() &&\n\t\t\t\tdate1.getUTCDate() === date2.getUTCDate()\n\t\t\t);\n\t\t}\n\t};\n\n\t/**\n\t * Test whether the time parts of two Dates are equal.\n\t *\n\t * @param {Date} date1\n\t * @param {Date} date2\n\t * @return {boolean}\n\t */\n\tmw.widgets.datetime.DateTimeFormatter.prototype.timePartIsEqual = function ( date1, date2 ) {\n\t\tif ( this.local ) {\n\t\t\treturn (\n\t\t\t\tdate1.getHours() === date2.getHours() &&\n\t\t\t\tdate1.getMinutes() === date2.getMinutes() &&\n\t\t\t\tdate1.getSeconds() === date2.getSeconds() &&\n\t\t\t\tdate1.getMilliseconds() === date2.getMilliseconds()\n\t\t\t);\n\t\t} else {\n\t\t\treturn (\n\t\t\t\tdate1.getUTCHours() === date2.getUTCHours() &&\n\t\t\t\tdate1.getUTCMinutes() === date2.getUTCMinutes() &&\n\t\t\t\tdate1.getUTCSeconds() === date2.getUTCSeconds() &&\n\t\t\t\tdate1.getUTCMilliseconds() === date2.getUTCMilliseconds()\n\t\t\t);\n\t\t}\n\t};\n\n\t/**\n\t * Test whether toggleLocal() changes the date part.\n\t *\n\t * @param {Date} date\n\t * @return {boolean}\n\t */\n\tmw.widgets.datetime.DateTimeFormatter.prototype.localChangesDatePart = function ( date ) {\n\t\treturn (\n\t\t\tdate.getUTCFullYear() !== date.getFullYear() ||\n\t\t\tdate.getUTCMonth() !== date.getMonth() ||\n\t\t\tdate.getUTCDate() !== date.getDate()\n\t\t);\n\t};\n\n\t/**\n\t * Create a new Date by merging the date part from one with the time part from\n\t * another.\n\t *\n\t * @param {Date} datepart\n\t * @param {Date} timepart\n\t * @return {Date}\n\t */\n\tmw.widgets.datetime.DateTimeFormatter.prototype.mergeDateAndTime = function ( datepart, timepart ) {\n\t\tconst ret = new Date( datepart.getTime() );\n\n\t\tif ( this.local ) {\n\t\t\tret.setHours(\n\t\t\t\ttimepart.getHours(),\n\t\t\t\ttimepart.getMinutes(),\n\t\t\t\ttimepart.getSeconds(),\n\t\t\t\ttimepart.getMilliseconds()\n\t\t\t);\n\t\t} else {\n\t\t\tret.setUTCHours(\n\t\t\t\ttimepart.getUTCHours(),\n\t\t\t\ttimepart.getUTCMinutes(),\n\t\t\t\ttimepart.getUTCSeconds(),\n\t\t\t\ttimepart.getUTCMilliseconds()\n\t\t\t);\n\t\t}\n\n\t\treturn ret;\n\t};\n\n\t/**\n\t * @typedef {Object} mw.widgets.datetime.DateTimeFormatter~CalendarGridData\n\t * @property {string} header String to display as the calendar header\n\t * @property {string} monthComponent Component to adjust by ±1 to change months.\n\t * @property {string} dayComponent Component to adjust by ±1 to change days.\n\t * @property {string} [weekComponent] Component to adjust by ±1 to change\n\t * weeks. If omitted, the dayComponent should be adjusted by ±the number of\n\t * non-nullable columns returned by this.getCalendarHeadings() to change weeks.\n\t * @property {Array} rows Array of arrays of \"day\" objects or null/undefined.\n\t */\n\n\t/**\n\t * Get data for a calendar grid.\n\t *\n\t * A \"day\" object is:\n\t * - display: {string} Display text for the day.\n\t * - date: {Date} Date to use when the day is selected.\n\t * - extra: {string|null} 'prev' or 'next' on days used to fill out the weeks\n\t * at the start and end of the month.\n\t *\n\t * In any one result object, 'extra' + 'display' will always be unique.\n\t *\n\t * @abstract\n\t * @param {Date|null} current Current date\n\t * @return {CalendarGridData} Data\n\t */\n\tmw.widgets.datetime.DateTimeFormatter.prototype.getCalendarData = function ( /* components */ ) {\n\t\t// Should be overridden by subclass\n\t\treturn {\n\t\t\theader: '',\n\t\t\tmonthComponent: 'month',\n\t\t\tdayComponent: 'day',\n\t\t\trows: []\n\t\t};\n\t};\n\n}() );\n","usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.widgets.datetime/DateTimeInputWidget.js","messages":[{"ruleId":"mediawiki/no-unlabeled-buttonwidget","severity":1,"message":"OOUI button has no label. Even icon-only buttons should set a label with invisibleLabel set to true.","line":449,"column":23,"nodeType":"NewExpression","messageId":"noLabel","endLine":454,"endColumn":7}],"suppressedMessages":[{"ruleId":"no-jquery/no-each-util","severity":2,"message":"Prefer Array#forEach to $.each","line":403,"column":7,"nodeType":"CallExpression","endLine":403,"endColumn":49,"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"( function () {\n\n\t/**\n\t * @classdesc DateTimeInputWidgets can be used to input a date, a time, or\n\t * a date and time, in either UTC or the user's local timezone.\n\t * Please see the [OOUI documentation on MediaWiki](https://www.mediawiki.org/wiki/OOUI/Widgets/Inputs)\n\t * for more information and examples.\n\t *\n\t * This widget can be used inside a HTML form, such as a OO.ui.FormLayout.\n\t *\n\t * @example\n\t * // Example of a text input widget\n\t * var dateTimeInput = new mw.widgets.datetime.DateTimeInputWidget( {} )\n\t * $( document.body ).append( dateTimeInput.$element );\n\t *\n\t * @class\n\t * @extends OO.ui.InputWidget\n\t * @mixes OO.ui.mixin.IconElement\n\t * @mixes OO.ui.mixin.IndicatorElement\n\t * @mixes OO.ui.mixin.PendingElement\n\t * @mixes OO.ui.mixin.FlaggedElement\n\t *\n\t * @constructor\n\t * @description Create an instance of `mw.widgets.datetime.DateTimeInputWidget`.\n\t * @param {Object} [config] Configuration options\n\t * @param {string} [config.type='datetime'] Whether to act like a 'date', 'time', or 'datetime' input.\n\t * Affects values stored in the relevant `<input>` and the formatting and\n\t * interpretation of values passed to/from\n\t * {@link https://doc.wikimedia.org/oojs-ui/master/js/OO.ui.InputWidget.html#getValue getValue()} and\n\t * {@link https://doc.wikimedia.org/oojs-ui/master/js/OO.ui.InputWidget.html#setValue setValue()}.\n\t * It's up to the user to configure the DateTimeFormatter correctly.\n\t * @param {Object|mw.widgets.datetime.DateTimeFormatter} [config.formatter={}] Configuration options for\n\t * {@link mw.widgets.datetime.ProlepticGregorianDateTimeFormatter} (with 'format' defaulting to\n\t * '@date', '@time', or '@datetime' depending on 'type'), or an\n\t * {@link mw.widgets.datetime.DateTimeFormatter} instance to use.\n\t * @param {Object|null} [config.calendar={}] Configuration options for\n\t * {@link mw.widgets.datetime.CalendarWidget}; note certain settings will be forced based on the\n\t * settings passed to this widget. Set null to disable the calendar.\n\t * @param {boolean} [config.required=false] Whether a value is required.\n\t * @param {boolean} [config.clearable=true] Whether to provide for blanking the value.\n\t * @param {Date|null} [config.value=null] Default value for the widget\n\t * @param {Date|string|null} [config.min=null] Minimum allowed date\n\t * @param {Date|string|null} [config.max=null] Maximum allowed date\n\t */\n\tmw.widgets.datetime.DateTimeInputWidget = function MwWidgetsDatetimeDateTimeInputWidget( config ) {\n\t\t// Configuration initialization\n\t\tconfig = Object.assign( {\n\t\t\ttype: 'datetime',\n\t\t\tclearable: true,\n\t\t\trequired: false,\n\t\t\tmin: null,\n\t\t\tmax: null,\n\t\t\tformatter: {},\n\t\t\tcalendar: {}\n\t\t}, config );\n\n\t\t// See InputWidget#reusePreInfuseDOM about config.$input\n\t\tif ( config.$input ) {\n\t\t\t// Hide unused <input> from PHP after infusion is done\n\t\t\tconfig.$input.addClass( 'oo-ui-element-hidden' );\n\t\t}\n\n\t\tif ( $.isPlainObject( config.formatter ) && config.formatter.format === undefined ) {\n\t\t\tconfig.formatter.format = '@' + config.type;\n\t\t}\n\n\t\t// Early properties\n\t\tthis.type = config.type;\n\n\t\t// Parent constructor\n\t\tmw.widgets.datetime.DateTimeInputWidget.super.call( this, config );\n\n\t\t// Mixin constructors\n\t\tOO.ui.mixin.IconElement.call( this, config );\n\t\tOO.ui.mixin.IndicatorElement.call( this, config );\n\t\tOO.ui.mixin.PendingElement.call( this, config );\n\t\tOO.ui.mixin.FlaggedElement.call( this, config );\n\n\t\t// Properties\n\t\tthis.$handle = $( '<span>' );\n\t\tthis.$fields = $( '<span>' );\n\t\tthis.fields = [];\n\t\tthis.clearable = !!config.clearable;\n\t\tthis.required = !!config.required;\n\n\t\tif ( typeof config.min === 'string' ) {\n\t\t\tconfig.min = this.parseDateValue( config.min );\n\t\t}\n\t\tif ( config.min instanceof Date && config.min.getTime() >= -62167219200000 ) {\n\t\t\tthis.min = config.min;\n\t\t} else {\n\t\t\tthis.min = new Date( -62167219200000 ); // 0000-01-01T00:00:00.000Z\n\t\t}\n\n\t\tif ( typeof config.max === 'string' ) {\n\t\t\tconfig.max = this.parseDateValue( config.max );\n\t\t}\n\t\tif ( config.max instanceof Date && config.max.getTime() <= 253402300799999 ) {\n\t\t\tthis.max = config.max;\n\t\t} else {\n\t\t\tthis.max = new Date( 253402300799999 ); // 9999-12-31T12:59:59.999Z\n\t\t}\n\n\t\tswitch ( this.type ) {\n\t\t\tcase 'date':\n\t\t\t\tthis.min.setUTCHours( 0, 0, 0, 0 );\n\t\t\t\tthis.max.setUTCHours( 23, 59, 59, 999 );\n\t\t\t\tbreak;\n\t\t\tcase 'time':\n\t\t\t\tthis.min.setUTCFullYear( 1970, 0, 1 );\n\t\t\t\tthis.max.setUTCFullYear( 1970, 0, 1 );\n\t\t\t\tbreak;\n\t\t}\n\t\tif ( this.min > this.max ) {\n\t\t\tthrow new Error(\n\t\t\t\t'\"min\" (' + this.min.toISOString() + ') must not be greater than ' +\n\t\t\t\t'\"max\" (' + this.max.toISOString() + ')'\n\t\t\t);\n\t\t}\n\n\t\tif ( config.formatter instanceof mw.widgets.datetime.DateTimeFormatter ) {\n\t\t\tthis.formatter = config.formatter;\n\t\t} else if ( $.isPlainObject( config.formatter ) ) {\n\t\t\tthis.formatter = new mw.widgets.datetime.ProlepticGregorianDateTimeFormatter( config.formatter );\n\t\t} else {\n\t\t\tthrow new Error( '\"formatter\" must be an mw.widgets.datetime.DateTimeFormatter or a plain object' );\n\t\t}\n\n\t\tif ( this.type === 'time' || config.calendar === null ) {\n\t\t\tthis.calendar = null;\n\t\t} else {\n\t\t\tconfig.calendar = Object.assign( {}, config.calendar, {\n\t\t\t\tformatter: this.formatter,\n\t\t\t\twidget: this,\n\t\t\t\tmin: this.min,\n\t\t\t\tmax: this.max\n\t\t\t} );\n\t\t\tthis.calendar = new mw.widgets.datetime.CalendarWidget( config.calendar );\n\t\t}\n\n\t\t// Events\n\t\tthis.$handle.on( {\n\t\t\tclick: this.onHandleClick.bind( this )\n\t\t} );\n\t\tthis.connect( this, {\n\t\t\tchange: 'onChange'\n\t\t} );\n\t\tthis.formatter.connect( this, {\n\t\t\tlocal: 'onChange'\n\t\t} );\n\t\tif ( this.calendar ) {\n\t\t\tthis.calendar.connect( this, {\n\t\t\t\tchange: 'onCalendarChange'\n\t\t\t} );\n\t\t}\n\n\t\t// Initialization\n\t\tthis.setTabIndex( -1 );\n\n\t\tthis.$fields.addClass( 'mw-widgets-datetime-dateTimeInputWidget-fields' );\n\t\tthis.setupFields();\n\n\t\tthis.$handle\n\t\t\t.addClass( 'mw-widgets-datetime-dateTimeInputWidget-handle' )\n\t\t\t.append( this.$icon, this.$indicator, this.$fields );\n\n\t\tthis.$element\n\t\t\t.addClass( 'mw-widgets-datetime-dateTimeInputWidget' )\n\t\t\t.append( this.$handle );\n\n\t\tif ( this.calendar ) {\n\t\t\tconst date = this.getValueAsDate();\n\t\t\tthis.calendar.setSelected( date );\n\t\t\tif ( date ) {\n\t\t\t\tthis.calendar.setFocusedDate( date );\n\t\t\t}\n\t\t\tthis.$element.append( this.calendar.$element );\n\t\t}\n\t};\n\n\t/* Setup */\n\n\tOO.inheritClass( mw.widgets.datetime.DateTimeInputWidget, OO.ui.InputWidget );\n\tOO.mixinClass( mw.widgets.datetime.DateTimeInputWidget, OO.ui.mixin.IconElement );\n\tOO.mixinClass( mw.widgets.datetime.DateTimeInputWidget, OO.ui.mixin.IndicatorElement );\n\tOO.mixinClass( mw.widgets.datetime.DateTimeInputWidget, OO.ui.mixin.PendingElement );\n\tOO.mixinClass( mw.widgets.datetime.DateTimeInputWidget, OO.ui.mixin.FlaggedElement );\n\n\t/* Static properties */\n\n\tmw.widgets.datetime.DateTimeInputWidget.static.supportsSimpleLabel = false;\n\n\t/* Events */\n\n\t/* Static Methods */\n\n\t/**\n\t * @inheritdoc\n\t */\n\tmw.widgets.datetime.DateTimeInputWidget.static.reusePreInfuseDOM = function ( node, config ) {\n\t\tconfig = mw.widgets.datetime.DateTimeInputWidget.super.static.reusePreInfuseDOM( node, config );\n\t\tif ( config.$input ) {\n\t\t\t// Ignore the extra field from PendingTextInputWidget (T382344)\n\t\t\tconfig.$input = config.$input.first();\n\t\t}\n\t\treturn config;\n\t};\n\n\t/* Methods */\n\n\t/**\n\t * Get the currently focused field, if any.\n\t *\n\t * @private\n\t * @return {jQuery}\n\t */\n\tmw.widgets.datetime.DateTimeInputWidget.prototype.getFocusedField = function () {\n\t\treturn this.$fields.find( this.getElementDocument().activeElement );\n\t};\n\n\t/**\n\t * Convert a date string to a Date.\n\t *\n\t * @private\n\t * @param {string} value\n\t * @return {Date|null}\n\t */\n\tmw.widgets.datetime.DateTimeInputWidget.prototype.parseDateValue = function ( value ) {\n\t\tvalue = String( value );\n\t\tswitch ( this.type ) {\n\t\t\tcase 'date':\n\t\t\t\tvalue = value + 'T00:00:00Z';\n\t\t\t\tbreak;\n\t\t\tcase 'time':\n\t\t\t\tvalue = '1970-01-01T' + value + 'Z';\n\t\t\t\tbreak;\n\t\t}\n\n\t\tlet date;\n\n\t\tconst m = /^(\\d{4,})-(\\d{2})-(\\d{2})T(\\d{2}):(\\d{2}):(\\d{2})(?:\\.(\\d{1,3}))?Z$/.exec( value );\n\t\tif ( m ) {\n\t\t\tif ( m[ 7 ] ) {\n\t\t\t\twhile ( m[ 7 ].length < 3 ) {\n\t\t\t\t\tm[ 7 ] += '0';\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tm[ 7 ] = 0;\n\t\t\t}\n\t\t\tdate = new Date();\n\t\t\tdate.setUTCFullYear( m[ 1 ], m[ 2 ] - 1, m[ 3 ] );\n\t\t\tdate.setUTCHours( m[ 4 ], m[ 5 ], m[ 6 ], m[ 7 ] );\n\t\t\tif ( date.getTime() < -62167219200000 || date.getTime() > 253402300799999 ||\n\t\t\t\tdate.getUTCFullYear() !== +m[ 1 ] ||\n\t\t\t\tdate.getUTCMonth() + 1 !== +m[ 2 ] ||\n\t\t\t\tdate.getUTCDate() !== +m[ 3 ] ||\n\t\t\t\tdate.getUTCHours() !== +m[ 4 ] ||\n\t\t\t\tdate.getUTCMinutes() !== +m[ 5 ] ||\n\t\t\t\tdate.getUTCSeconds() !== +m[ 6 ] ||\n\t\t\t\tdate.getUTCMilliseconds() !== +m[ 7 ]\n\t\t\t) {\n\t\t\t\tdate = null;\n\t\t\t}\n\t\t} else {\n\t\t\tdate = null;\n\t\t}\n\n\t\treturn date;\n\t};\n\n\t/**\n\t * @inheritdoc\n\t */\n\tmw.widgets.datetime.DateTimeInputWidget.prototype.cleanUpValue = function ( value ) {\n\t\tlet date, pad;\n\n\t\tif ( value === '' ) {\n\t\t\treturn '';\n\t\t}\n\n\t\tif ( value instanceof Date ) {\n\t\t\tdate = value;\n\t\t} else {\n\t\t\tdate = this.parseDateValue( value );\n\t\t}\n\n\t\tif ( date instanceof Date ) {\n\t\t\tpad = function ( v, l ) {\n\t\t\t\tv = String( v );\n\t\t\t\twhile ( v.length < l ) {\n\t\t\t\t\tv = '0' + v;\n\t\t\t\t}\n\t\t\t\treturn v;\n\t\t\t};\n\n\t\t\tswitch ( this.type ) {\n\t\t\t\tcase 'date':\n\t\t\t\t\tvalue = pad( date.getUTCFullYear(), 4 ) +\n\t\t\t\t\t\t'-' + pad( date.getUTCMonth() + 1, 2 ) +\n\t\t\t\t\t\t'-' + pad( date.getUTCDate(), 2 );\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'time':\n\t\t\t\t\tvalue = pad( date.getUTCHours(), 2 ) +\n\t\t\t\t\t\t':' + pad( date.getUTCMinutes(), 2 ) +\n\t\t\t\t\t\t':' + pad( date.getUTCSeconds(), 2 ) +\n\t\t\t\t\t\t'.' + pad( date.getUTCMilliseconds(), 3 );\n\t\t\t\t\tvalue = value.replace( /\\.?0+$/, '' );\n\t\t\t\t\tbreak;\n\n\t\t\t\tdefault:\n\t\t\t\t\tvalue = date.toISOString();\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t} else {\n\t\t\tvalue = '';\n\t\t}\n\n\t\treturn value;\n\t};\n\n\t/**\n\t * Get the value of the input as a Date object.\n\t *\n\t * @return {Date|null}\n\t */\n\tmw.widgets.datetime.DateTimeInputWidget.prototype.getValueAsDate = function () {\n\t\treturn this.parseDateValue( this.getValue() );\n\t};\n\n\t/**\n\t * Set up the UI fields.\n\t *\n\t * @private\n\t */\n\tmw.widgets.datetime.DateTimeInputWidget.prototype.setupFields = function () {\n\t\tlet i, $field, spec, placeholder, sz, maxlength;\n\n\t\tconst\n\t\t\tspanValFunc = function ( v ) {\n\t\t\t\tif ( v === undefined ) {\n\t\t\t\t\treturn this.data( 'mw-widgets-datetime-dateTimeInputWidget-value' );\n\t\t\t\t} else {\n\t\t\t\t\tv = String( v );\n\t\t\t\t\tthis.data( 'mw-widgets-datetime-dateTimeInputWidget-value', v );\n\t\t\t\t\tif ( v === '' ) {\n\t\t\t\t\t\tv = this.data( 'mw-widgets-datetime-dateTimeInputWidget-placeholder' );\n\t\t\t\t\t}\n\t\t\t\t\tthis.text( v );\n\t\t\t\t\treturn this;\n\t\t\t\t}\n\t\t\t},\n\t\t\treduceFunc = function ( k, v ) {\n\t\t\t\tmaxlength = Math.max( maxlength, v );\n\t\t\t},\n\t\t\tdisabled = this.isDisabled(),\n\t\t\tspecs = this.formatter.getFieldSpec();\n\n\t\tthis.$fields.empty();\n\t\tthis.clearButton = null;\n\t\tthis.fields = [];\n\n\t\tfor ( i = 0; i < specs.length; i++ ) {\n\t\t\tspec = specs[ i ];\n\t\t\tif ( typeof spec === 'string' ) {\n\t\t\t\t$( '<span>' )\n\t\t\t\t\t.addClass( 'mw-widgets-datetime-dateTimeInputWidget-field' )\n\t\t\t\t\t.text( spec )\n\t\t\t\t\t.appendTo( this.$fields );\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tplaceholder = '';\n\t\t\twhile ( placeholder.length < spec.size ) {\n\t\t\t\tplaceholder += '_';\n\t\t\t}\n\n\t\t\tif ( spec.type === 'number' ) {\n\t\t\t\tsz = spec.size + 'ch';\n\t\t\t} else {\n\t\t\t\t// Add a little for padding\n\t\t\t\tsz = ( spec.size * 1.25 ) + 'ch';\n\t\t\t}\n\t\t\tif ( spec.editable && spec.type !== 'static' ) {\n\t\t\t\tif ( spec.type === 'boolean' || spec.type === 'toggleLocal' ) {\n\t\t\t\t\t$field = $( '<span>' )\n\t\t\t\t\t\t.attr( {\n\t\t\t\t\t\t\ttabindex: disabled ? -1 : 0\n\t\t\t\t\t\t} )\n\t\t\t\t\t\t.width( sz )\n\t\t\t\t\t\t.data( 'mw-widgets-datetime-dateTimeInputWidget-placeholder', placeholder );\n\t\t\t\t\t$field.on( {\n\t\t\t\t\t\tkeydown: this.onFieldKeyDown.bind( this, $field ),\n\t\t\t\t\t\tfocus: this.onFieldFocus.bind( this, $field ),\n\t\t\t\t\t\tclick: this.onFieldClick.bind( this, $field ),\n\t\t\t\t\t\t'wheel mousewheel DOMMouseScroll': this.onFieldWheel.bind( this, $field )\n\t\t\t\t\t} );\n\t\t\t\t\t$field.val = spanValFunc;\n\t\t\t\t} else {\n\t\t\t\t\tmaxlength = spec.size;\n\t\t\t\t\tif ( spec.intercalarySize ) {\n\t\t\t\t\t\t// eslint-disable-next-line no-jquery/no-each-util\n\t\t\t\t\t\t$.each( spec.intercalarySize, reduceFunc );\n\t\t\t\t\t}\n\t\t\t\t\t$field = $( '<input>' ).attr( 'type', 'text' )\n\t\t\t\t\t\t.attr( {\n\t\t\t\t\t\t\ttabindex: disabled ? -1 : 0,\n\t\t\t\t\t\t\tsize: spec.size,\n\t\t\t\t\t\t\tmaxlength: maxlength\n\t\t\t\t\t\t} )\n\t\t\t\t\t\t.prop( {\n\t\t\t\t\t\t\tdisabled: disabled,\n\t\t\t\t\t\t\tplaceholder: placeholder\n\t\t\t\t\t\t} )\n\t\t\t\t\t\t.width( sz );\n\t\t\t\t\t$field.on( {\n\t\t\t\t\t\tkeydown: this.onFieldKeyDown.bind( this, $field ),\n\t\t\t\t\t\tclick: this.onFieldClick.bind( this, $field ),\n\t\t\t\t\t\tfocus: this.onFieldFocus.bind( this, $field ),\n\t\t\t\t\t\tblur: this.onFieldBlur.bind( this, $field ),\n\t\t\t\t\t\tchange: this.onFieldChange.bind( this, $field ),\n\t\t\t\t\t\t'wheel mousewheel DOMMouseScroll': this.onFieldWheel.bind( this, $field )\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t\t$field.addClass( 'mw-widgets-datetime-dateTimeInputWidget-editField' );\n\t\t\t} else {\n\t\t\t\t$field = $( '<span>' )\n\t\t\t\t\t.width( sz )\n\t\t\t\t\t.data( 'mw-widgets-datetime-dateTimeInputWidget-placeholder', placeholder );\n\t\t\t\tif ( spec.type !== 'static' ) {\n\t\t\t\t\t$field.prop( 'tabIndex', -1 );\n\t\t\t\t\t$field.on( 'focus', this.onFieldFocus.bind( this, $field ) );\n\t\t\t\t}\n\t\t\t\tif ( spec.type === 'static' ) {\n\t\t\t\t\t$field.text( spec.value );\n\t\t\t\t} else {\n\t\t\t\t\t$field.val = spanValFunc;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthis.fields.push( $field );\n\t\t\t$field\n\t\t\t\t.addClass( 'mw-widgets-datetime-dateTimeInputWidget-field' )\n\t\t\t\t.data( 'mw-widgets-datetime-dateTimeInputWidget-fieldSpec', spec )\n\t\t\t\t.appendTo( this.$fields );\n\t\t}\n\n\t\tif ( this.clearable ) {\n\t\t\tthis.clearButton = new OO.ui.ButtonWidget( {\n\t\t\t\tclasses: [ 'mw-widgets-datetime-dateTimeInputWidget-field', 'mw-widgets-datetime-dateTimeInputWidget-clearButton' ],\n\t\t\t\tframed: false,\n\t\t\t\ticon: 'clear',\n\t\t\t\tdisabled: disabled\n\t\t\t} ).connect( this, {\n\t\t\t\tclick: 'onClearClick'\n\t\t\t} );\n\t\t\tthis.$fields.append( this.clearButton.$element );\n\t\t}\n\n\t\tthis.updateFieldsFromValue();\n\t};\n\n\t/**\n\t * Update the UI fields from the current value.\n\t *\n\t * @private\n\t */\n\tmw.widgets.datetime.DateTimeInputWidget.prototype.updateFieldsFromValue = function () {\n\t\tlet i, $field, spec, intercalary, sz;\n\n\t\tconst date = this.getValueAsDate();\n\n\t\tif ( date === null ) {\n\t\t\tthis.components = null;\n\n\t\t\tfor ( i = 0; i < this.fields.length; i++ ) {\n\t\t\t\t$field = this.fields[ i ];\n\t\t\t\tspec = $field.data( 'mw-widgets-datetime-dateTimeInputWidget-fieldSpec' );\n\n\t\t\t\t$field\n\t\t\t\t\t.removeClass( 'mw-widgets-datetime-dateTimeInputWidget-invalid oo-ui-element-hidden' )\n\t\t\t\t\t.val( '' );\n\n\t\t\t\tif ( spec.intercalarySize ) {\n\t\t\t\t\tif ( spec.type === 'number' ) {\n\t\t\t\t\t\t$field.width( spec.size + 'ch' );\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// Add a little for padding\n\t\t\t\t\t\t$field.width( ( spec.size * 1.25 ) + 'ch' );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthis.setFlags( { invalid: this.required } );\n\t\t} else {\n\t\t\tthis.components = this.formatter.getComponentsFromDate( date );\n\t\t\tintercalary = this.components.intercalary;\n\n\t\t\tfor ( i = 0; i < this.fields.length; i++ ) {\n\t\t\t\t$field = this.fields[ i ];\n\t\t\t\t$field.removeClass( 'mw-widgets-datetime-dateTimeInputWidget-invalid' );\n\t\t\t\tspec = $field.data( 'mw-widgets-datetime-dateTimeInputWidget-fieldSpec' );\n\t\t\t\tif ( spec.type !== 'static' ) {\n\t\t\t\t\t$field.val( spec.formatValue( this.components[ spec.component ] ) );\n\t\t\t\t}\n\t\t\t\tif ( spec.intercalarySize ) {\n\t\t\t\t\tif ( intercalary && spec.intercalarySize[ intercalary ] !== undefined ) {\n\t\t\t\t\t\tsz = spec.intercalarySize[ intercalary ];\n\t\t\t\t\t} else {\n\t\t\t\t\t\tsz = spec.size;\n\t\t\t\t\t}\n\t\t\t\t\t$field.toggleClass( 'oo-ui-element-hidden', sz <= 0 );\n\t\t\t\t\tif ( spec.type === 'number' ) {\n\t\t\t\t\t\tthis.fields[ i ].width( sz + 'ch' );\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// Add a little for padding\n\t\t\t\t\t\tthis.fields[ i ].width( ( sz * 1.25 ) + 'ch' );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthis.setFlags( { invalid: date < this.min || date > this.max } );\n\t\t}\n\n\t\tthis.$element.toggleClass( 'mw-widgets-datetime-dateTimeInputWidget-empty', date === null );\n\t};\n\n\t/**\n\t * Update the value with data from the UI fields.\n\t *\n\t * @private\n\t */\n\tmw.widgets.datetime.DateTimeInputWidget.prototype.updateValueFromFields = function () {\n\t\tlet i, v, $field, spec, curDate, newDate,\n\t\t\tanyInvalid = false,\n\t\t\tanyEmpty = false,\n\t\t\tallEmpty = true;\n\n\t\tconst components = {};\n\n\t\tfor ( i = 0; i < this.fields.length; i++ ) {\n\t\t\t$field = this.fields[ i ];\n\t\t\tspec = $field.data( 'mw-widgets-datetime-dateTimeInputWidget-fieldSpec' );\n\t\t\tif ( spec.editable ) {\n\t\t\t\t$field.removeClass( 'mw-widgets-datetime-dateTimeInputWidget-invalid' );\n\t\t\t\tv = $field.val();\n\t\t\t\tif ( v === '' ) {\n\t\t\t\t\t$field.addClass( 'mw-widgets-datetime-dateTimeInputWidget-invalid' );\n\t\t\t\t\tanyEmpty = true;\n\t\t\t\t} else {\n\t\t\t\t\tallEmpty = false;\n\t\t\t\t\tv = spec.parseValue( v );\n\t\t\t\t\tif ( v === undefined ) {\n\t\t\t\t\t\t$field.addClass( 'mw-widgets-datetime-dateTimeInputWidget-invalid' );\n\t\t\t\t\t\tanyInvalid = true;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tcomponents[ spec.component ] = v;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif ( allEmpty ) {\n\t\t\tfor ( i = 0; i < this.fields.length; i++ ) {\n\t\t\t\tthis.fields[ i ].removeClass( 'mw-widgets-datetime-dateTimeInputWidget-invalid' );\n\t\t\t}\n\t\t} else if ( anyEmpty ) {\n\t\t\tanyInvalid = true;\n\t\t}\n\n\t\tif ( !anyInvalid ) {\n\t\t\tcurDate = this.getValueAsDate();\n\t\t\tnewDate = this.formatter.getDateFromComponents( components );\n\t\t\tif ( !curDate || !newDate || curDate.getTime() !== newDate.getTime() ) {\n\t\t\t\tthis.setValue( newDate );\n\t\t\t}\n\t\t}\n\t};\n\n\t/**\n\t * Handle change event.\n\t *\n\t * @private\n\t */\n\tmw.widgets.datetime.DateTimeInputWidget.prototype.onChange = function () {\n\t\tlet date;\n\n\t\tthis.updateFieldsFromValue();\n\n\t\tif ( this.calendar ) {\n\t\t\tdate = this.getValueAsDate();\n\t\t\tthis.calendar.setSelected( date );\n\t\t\tif ( date ) {\n\t\t\t\tthis.calendar.setFocusedDate( date );\n\t\t\t}\n\t\t}\n\t};\n\n\t/**\n\t * Handle clear button click event.\n\t *\n\t * @private\n\t */\n\tmw.widgets.datetime.DateTimeInputWidget.prototype.onClearClick = function () {\n\t\tthis.blur().setValue( '' );\n\t};\n\n\t/**\n\t * Handle click on the widget background.\n\t *\n\t * @private\n\t * @param {jQuery.Event} e Click event\n\t */\n\tmw.widgets.datetime.DateTimeInputWidget.prototype.onHandleClick = function () {\n\t\tthis.focus();\n\t};\n\n\t/**\n\t * Handle key down events on our field inputs.\n\t *\n\t * @private\n\t * @param {jQuery} $field\n\t * @param {jQuery.Event} e Key down event\n\t * @return {boolean|undefined} False to cancel the default event\n\t */\n\tmw.widgets.datetime.DateTimeInputWidget.prototype.onFieldKeyDown = function ( $field, e ) {\n\t\tconst spec = $field.data( 'mw-widgets-datetime-dateTimeInputWidget-fieldSpec' );\n\n\t\tif ( !this.isDisabled() ) {\n\t\t\tswitch ( e.which ) {\n\t\t\t\tcase OO.ui.Keys.ENTER:\n\t\t\t\tcase OO.ui.Keys.SPACE:\n\t\t\t\t\tif ( spec.type === 'boolean' ) {\n\t\t\t\t\t\tthis.setValue(\n\t\t\t\t\t\t\tthis.formatter.adjustComponent( this.getValueAsDate(), spec.component, 1, 'wrap' )\n\t\t\t\t\t\t);\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t} else if ( spec.type === 'toggleLocal' ) {\n\t\t\t\t\t\tthis.formatter.toggleLocal();\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase OO.ui.Keys.UP:\n\t\t\t\tcase OO.ui.Keys.DOWN:\n\t\t\t\t\tif ( spec.type === 'toggleLocal' ) {\n\t\t\t\t\t\tthis.formatter.toggleLocal();\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.setValue(\n\t\t\t\t\t\t\tthis.formatter.adjustComponent( this.getValueAsDate(), spec.component,\n\t\t\t\t\t\t\t\te.keyCode === OO.ui.Keys.UP ? -1 : 1, 'wrap' )\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\tif ( $field.is( 'input' ) ) {\n\t\t\t\t\t\t$field.trigger( 'select' );\n\t\t\t\t\t}\n\t\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t};\n\n\t/**\n\t * Handle focus events on our field inputs.\n\t *\n\t * @private\n\t * @param {jQuery} $field\n\t * @param {jQuery.Event} e Focus event\n\t */\n\tmw.widgets.datetime.DateTimeInputWidget.prototype.onFieldFocus = function ( $field ) {\n\t\tconst spec = $field.data( 'mw-widgets-datetime-dateTimeInputWidget-fieldSpec' );\n\n\t\tif ( !this.isDisabled() ) {\n\t\t\tif ( this.getValueAsDate() === null ) {\n\t\t\t\tthis.setValue( this.formatter.getDefaultDate() );\n\t\t\t}\n\t\t\tif ( $field.is( 'input' ) ) {\n\t\t\t\t$field.trigger( 'select' );\n\t\t\t}\n\n\t\t\tif ( this.calendar ) {\n\t\t\t\tthis.calendar.toggle( !!spec.calendarComponent );\n\t\t\t}\n\t\t}\n\t};\n\n\t/**\n\t * Handle click events on our field inputs.\n\t *\n\t * @private\n\t * @param {jQuery} $field\n\t * @param {jQuery.Event} e Click event\n\t */\n\tmw.widgets.datetime.DateTimeInputWidget.prototype.onFieldClick = function ( $field ) {\n\t\tconst spec = $field.data( 'mw-widgets-datetime-dateTimeInputWidget-fieldSpec' );\n\n\t\tif ( !this.isDisabled() ) {\n\t\t\tif ( spec.type === 'boolean' ) {\n\t\t\t\tthis.setValue(\n\t\t\t\t\tthis.formatter.adjustComponent( this.getValueAsDate(), spec.component, 1, 'wrap' )\n\t\t\t\t);\n\t\t\t} else if ( spec.type === 'toggleLocal' ) {\n\t\t\t\tthis.formatter.toggleLocal();\n\t\t\t}\n\t\t}\n\t};\n\n\t/**\n\t * Handle blur events on our field inputs.\n\t *\n\t * @private\n\t * @param {jQuery} $field\n\t * @param {jQuery.Event} e Blur event\n\t */\n\tmw.widgets.datetime.DateTimeInputWidget.prototype.onFieldBlur = function ( $field ) {\n\t\tlet v;\n\t\tconst spec = $field.data( 'mw-widgets-datetime-dateTimeInputWidget-fieldSpec' );\n\n\t\tthis.updateValueFromFields();\n\n\t\t// Normalize\n\t\tconst date = this.getValueAsDate();\n\t\tif ( !date ) {\n\t\t\t$field.val( '' );\n\t\t} else {\n\t\t\tv = spec.formatValue( this.formatter.getComponentsFromDate( date )[ spec.component ] );\n\t\t\tif ( v !== $field.val() ) {\n\t\t\t\t$field.val( v );\n\t\t\t}\n\t\t}\n\t};\n\n\t/**\n\t * Handle change events on our field inputs.\n\t *\n\t * @private\n\t * @param {jQuery} $field\n\t * @param {jQuery.Event} e Change event\n\t */\n\tmw.widgets.datetime.DateTimeInputWidget.prototype.onFieldChange = function () {\n\t\tthis.updateValueFromFields();\n\t};\n\n\t/**\n\t * Handle wheel events on our field inputs.\n\t *\n\t * @private\n\t * @param {jQuery} $field\n\t * @param {jQuery.Event} e Change event\n\t * @return {boolean|undefined} False to cancel the default event\n\t */\n\tmw.widgets.datetime.DateTimeInputWidget.prototype.onFieldWheel = function ( $field, e ) {\n\t\tlet delta = 0;\n\t\tconst spec = $field.data( 'mw-widgets-datetime-dateTimeInputWidget-fieldSpec' );\n\n\t\tif ( this.isDisabled() || !this.getFocusedField().length ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Standard 'wheel' event\n\t\tif ( e.originalEvent.deltaMode !== undefined ) {\n\t\t\tthis.sawWheelEvent = true;\n\t\t}\n\t\tif ( e.originalEvent.deltaY ) {\n\t\t\tdelta = -e.originalEvent.deltaY;\n\t\t} else if ( e.originalEvent.deltaX ) {\n\t\t\tdelta = e.originalEvent.deltaX;\n\t\t}\n\n\t\t// Non-standard events\n\t\tif ( !this.sawWheelEvent ) {\n\t\t\tif ( e.originalEvent.wheelDeltaX ) {\n\t\t\t\tdelta = -e.originalEvent.wheelDeltaX;\n\t\t\t} else if ( e.originalEvent.wheelDeltaY ) {\n\t\t\t\tdelta = e.originalEvent.wheelDeltaY;\n\t\t\t} else if ( e.originalEvent.wheelDelta ) {\n\t\t\t\tdelta = e.originalEvent.wheelDelta;\n\t\t\t} else if ( e.originalEvent.detail ) {\n\t\t\t\tdelta = -e.originalEvent.detail;\n\t\t\t}\n\t\t}\n\n\t\tif ( delta && spec ) {\n\t\t\tif ( spec.type === 'toggleLocal' ) {\n\t\t\t\tthis.formatter.toggleLocal();\n\t\t\t} else {\n\t\t\t\tthis.setValue(\n\t\t\t\t\tthis.formatter.adjustComponent( this.getValueAsDate(), spec.component, delta < 0 ? -1 : 1, 'wrap' )\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t};\n\n\t/**\n\t * Handle calendar change event.\n\t *\n\t * @private\n\t */\n\tmw.widgets.datetime.DateTimeInputWidget.prototype.onCalendarChange = function () {\n\t\tconst curDate = this.getValueAsDate(),\n\t\t\tnewDate = this.calendar.getSelected()[ 0 ];\n\n\t\tif ( newDate ) {\n\t\t\tif ( !curDate || newDate.getTime() !== curDate.getTime() ) {\n\t\t\t\tthis.setValue( newDate );\n\t\t\t}\n\t\t}\n\t};\n\n\t/**\n\t * @inheritdoc\n\t * @private\n\t */\n\tmw.widgets.datetime.DateTimeInputWidget.prototype.getInputElement = function () {\n\t\treturn $( '<input>' ).attr( 'type', 'hidden' );\n\t};\n\n\t/**\n\t * @inheritdoc\n\t */\n\tmw.widgets.datetime.DateTimeInputWidget.prototype.setDisabled = function ( disabled ) {\n\t\tmw.widgets.datetime.DateTimeInputWidget.super.prototype.setDisabled.call( this, disabled );\n\n\t\t// Flag all our fields as disabled\n\t\tif ( this.$fields ) {\n\t\t\tthis.$fields.find( 'input' ).prop( 'disabled', this.isDisabled() );\n\t\t\tthis.$fields.find( '[tabindex]' ).attr( 'tabindex', this.isDisabled() ? -1 : 0 );\n\t\t}\n\n\t\tif ( this.clearButton ) {\n\t\t\tthis.clearButton.setDisabled( disabled );\n\t\t}\n\n\t\treturn this;\n\t};\n\n\t/**\n\t * @inheritdoc\n\t */\n\tmw.widgets.datetime.DateTimeInputWidget.prototype.focus = function () {\n\t\tif ( !this.getFocusedField().length ) {\n\t\t\tthis.$fields.find( '.mw-widgets-datetime-dateTimeInputWidget-editField' ).first().trigger( 'focus' );\n\t\t}\n\t\treturn this;\n\t};\n\n\t/**\n\t * @inheritdoc\n\t */\n\tmw.widgets.datetime.DateTimeInputWidget.prototype.blur = function () {\n\t\tthis.getFocusedField().blur();\n\t\treturn this;\n\t};\n\n\t/**\n\t * @inheritdoc\n\t */\n\tmw.widgets.datetime.DateTimeInputWidget.prototype.simulateLabelClick = function () {\n\t\tthis.focus();\n\t};\n\n}() );\n","usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.widgets.datetime/DiscordianDateTimeFormatter.js","messages":[{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'FieldSpecificationObject' is undefined.","line":74,"column":1,"nodeType":"Block","endLine":74,"endColumn":1}],"suppressedMessages":[{"ruleId":"no-jquery/no-map-util","severity":2,"message":"Prefer Array#map to $.map","line":201,"column":12,"nodeType":"CallExpression","endLine":201,"endColumn":51,"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"( function () {\n\n\t/**\n\t * @classdesc DateTimeFormatter for the Discordian calendar.\n\t *\n\t * Provides various methods needed for formatting dates and times. This\n\t * implementation implements the [Discordian calendar](https://en.wikipedia.org/wiki/Discordian_calendar),\n\t * mainly for testing with something very different from the usual Gregorian\n\t * calendar.\n\t *\n\t * Being intended mainly for testing, niceties like i18n and better\n\t * configurability have been omitted.\n\t *\n\t * @class\n\t * @extends mw.widgets.datetime.DateTimeFormatter\n\t *\n\t * @constructor\n\t * @description Create an instance of `mw.widgets.datetime.DiscordianDateTimeFormatter`.\n\t * @param {Object} [config] Configuration options\n\t */\n\tmw.widgets.datetime.DiscordianDateTimeFormatter = function MwWidgetsDatetimeDiscordianDateTimeFormatter( config ) {\n\t\tconfig = Object.assign( {}, config );\n\n\t\t// Parent constructor\n\t\tmw.widgets.datetime.DiscordianDateTimeFormatter.super.call( this, config );\n\t};\n\n\t/* Setup */\n\n\tOO.inheritClass( mw.widgets.datetime.DiscordianDateTimeFormatter, mw.widgets.datetime.DateTimeFormatter );\n\n\t/* Static */\n\n\t/**\n\t * Default format specifications.\n\t *\n\t * See the `format` parameter in {@link mw.widgets.datetime.DateTimeFormatter}.\n\t *\n\t * @memberof mw.widgets.datetime.DiscordianDateTimeFormatter\n\t * @type {Object.<string,string>}\n\t * @name formats\n\t */\n\tmw.widgets.datetime.DiscordianDateTimeFormatter.static.formats = {\n\t\t'@time': '${hour|0}:${minute|0}:${second|0}',\n\t\t'@date': '$!{dow|full}${not-intercalary|1|, }${season|full}${not-intercalary|1| }${day|#}, ${year|#}',\n\t\t'@datetime': '$!{dow|full}${not-intercalary|1|, }${season|full}${not-intercalary|1| }${day|#}, ${year|#} ${hour|0}:${minute|0}:${second|0} $!{zone|short}',\n\t\t'@default': '$!{dow|full}${not-intercalary|1|, }${season|full}${not-intercalary|1| }${day|#}, ${year|#} ${hour|0}:${minute|0}:${second|0} $!{zone|short}'\n\t};\n\n\t/* Methods */\n\n\t/**\n\t * Turn a tag into a field specification object.\n\t *\n\t * Additional fields implemented here are:\n\t * - ${year|#}: Year as a number\n\t * - ${season|#}: Season as a number\n\t * - ${season|full}: Season as a string\n\t * - ${day|#}: Day of the month as a number\n\t * - ${day|0}: Day of the month as a number with leading 0\n\t * - ${dow|full}: Day of the week as a string\n\t * - ${hour|#}: Hour as a number\n\t * - ${hour|0}: Hour as a number with leading 0\n\t * - ${minute|#}: Minute as a number\n\t * - ${minute|0}: Minute as a number with leading 0\n\t * - ${second|#}: Second as a number\n\t * - ${second|0}: Second as a number with leading 0\n\t * - ${millisecond|#}: Millisecond as a number\n\t * - ${millisecond|0}: Millisecond as a number, zero-padded to 3 digits\n\t *\n\t * @protected\n\t * @param {string} tag\n\t * @param {string[]} params\n\t * @return {FieldSpecificationObject} Field specification object, or null if the tag+params are unrecognized.\n\t */\n\tmw.widgets.datetime.DiscordianDateTimeFormatter.prototype.getFieldForTag = function ( tag, params ) {\n\t\tlet spec = null;\n\n\t\tswitch ( tag + '|' + params[ 0 ] ) {\n\t\t\tcase 'year|#':\n\t\t\t\tspec = {\n\t\t\t\t\tcomponent: 'Year',\n\t\t\t\t\tcalendarComponent: true,\n\t\t\t\t\ttype: 'number',\n\t\t\t\t\tsize: 4,\n\t\t\t\t\tzeropad: false\n\t\t\t\t};\n\t\t\t\tbreak;\n\n\t\t\tcase 'season|#':\n\t\t\t\tspec = {\n\t\t\t\t\tcomponent: 'Season',\n\t\t\t\t\tcalendarComponent: true,\n\t\t\t\t\ttype: 'number',\n\t\t\t\t\tsize: 1,\n\t\t\t\t\tintercalarySize: { 1: 0 },\n\t\t\t\t\tzeropad: false\n\t\t\t\t};\n\t\t\t\tbreak;\n\n\t\t\tcase 'season|full':\n\t\t\t\tspec = {\n\t\t\t\t\tcomponent: 'Season',\n\t\t\t\t\tcalendarComponent: true,\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tintercalarySize: { 1: 0 },\n\t\t\t\t\tvalues: {\n\t\t\t\t\t\t1: 'Chaos',\n\t\t\t\t\t\t2: 'Discord',\n\t\t\t\t\t\t3: 'Confusion',\n\t\t\t\t\t\t4: 'Bureaucracy',\n\t\t\t\t\t\t5: 'The Aftermath'\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t\tbreak;\n\n\t\t\tcase 'dow|full':\n\t\t\t\tspec = {\n\t\t\t\t\tcomponent: 'DOW',\n\t\t\t\t\tcalendarComponent: true,\n\t\t\t\t\teditable: false,\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tintercalarySize: { 1: 0 },\n\t\t\t\t\tvalues: {\n\t\t\t\t\t\t'-1': 'N/A',\n\t\t\t\t\t\t0: 'Sweetmorn',\n\t\t\t\t\t\t1: 'Boomtime',\n\t\t\t\t\t\t2: 'Pungenday',\n\t\t\t\t\t\t3: 'Prickle-Prickle',\n\t\t\t\t\t\t4: 'Setting Orange'\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t\tbreak;\n\n\t\t\tcase 'day|#':\n\t\t\tcase 'day|0':\n\t\t\t\tspec = {\n\t\t\t\t\tcomponent: 'Day',\n\t\t\t\t\tcalendarComponent: true,\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tsize: 2,\n\t\t\t\t\tintercalarySize: { 1: 13 },\n\t\t\t\t\tzeropad: params[ 0 ] === '0',\n\t\t\t\t\tformatValue: function ( v ) {\n\t\t\t\t\t\tif ( v === 'tib' ) {\n\t\t\t\t\t\t\treturn 'St. Tib\\'s Day';\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn mw.widgets.datetime.DateTimeFormatter.prototype.formatSpecValue.call( this, v );\n\t\t\t\t\t},\n\t\t\t\t\tparseValue: function ( v ) {\n\n\t\t\t\t\t\tif ( /^\\s*(st.?\\s*)?tib('?s)?(\\s*day)?\\s*$/i.test( v ) ) {\n\t\t\t\t\t\t\treturn 'tib';\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn mw.widgets.datetime.DateTimeFormatter.prototype.parseSpecValue.call( this, v );\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t\tbreak;\n\n\t\t\tcase 'hour|#':\n\t\t\tcase 'hour|0':\n\t\t\tcase 'minute|#':\n\t\t\tcase 'minute|0':\n\t\t\tcase 'second|#':\n\t\t\tcase 'second|0':\n\t\t\t\tspec = {\n\t\t\t\t\tcomponent: tag.charAt( 0 ).toUpperCase() + tag.slice( 1 ),\n\t\t\t\t\tcalendarComponent: false,\n\t\t\t\t\ttype: 'number',\n\t\t\t\t\tsize: 2,\n\t\t\t\t\tzeropad: params[ 0 ] === '0'\n\t\t\t\t};\n\t\t\t\tbreak;\n\n\t\t\tcase 'millisecond|#':\n\t\t\tcase 'millisecond|0':\n\t\t\t\tspec = {\n\t\t\t\t\tcomponent: 'Millisecond',\n\t\t\t\t\tcalendarComponent: false,\n\t\t\t\t\ttype: 'number',\n\t\t\t\t\tsize: 3,\n\t\t\t\t\tzeropad: params[ 0 ] === '0'\n\t\t\t\t};\n\t\t\t\tbreak;\n\n\t\t\tdefault:\n\t\t\t\treturn mw.widgets.datetime.DiscordianDateTimeFormatter.super.prototype.getFieldForTag.call( this, tag, params );\n\t\t}\n\n\t\tif ( spec ) {\n\t\t\tif ( spec.editable === undefined ) {\n\t\t\t\tspec.editable = true;\n\t\t\t}\n\t\t\tif ( spec.component !== 'Day' ) {\n\t\t\t\tspec.formatValue = this.formatSpecValue;\n\t\t\t\tspec.parseValue = this.parseSpecValue;\n\t\t\t}\n\t\t\tif ( spec.values ) {\n\t\t\t\tspec.size = Math.max.apply(\n\t\t\t\t\t// eslint-disable-next-line no-jquery/no-map-util\n\t\t\t\t\tnull, $.map( spec.values, ( v ) => v.length )\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\treturn spec;\n\t};\n\n\t/**\n\t * Get components from a Date object.\n\t *\n\t * Components are:\n\t * - Year {number}\n\t * - Season {number} 1-5\n\t * - Day {number|string} 1-73 or 'tib'\n\t * - DOW {number} 0-4, or -1 on St. Tib's Day\n\t * - Hour {number} 0-23\n\t * - Minute {number} 0-59\n\t * - Second {number} 0-59\n\t * - Millisecond {number} 0-999\n\t * - intercalary {string} '1' on St. Tib's Day\n\t *\n\t * @param {Date|null} date\n\t * @return {Object} Components\n\t */\n\tmw.widgets.datetime.DiscordianDateTimeFormatter.prototype.getComponentsFromDate = function ( date ) {\n\t\tlet ret, day, month;\n\n\t\tconst monthDays = [ 0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334 ];\n\n\t\tif ( !( date instanceof Date ) ) {\n\t\t\tdate = this.defaultDate;\n\t\t}\n\n\t\tif ( this.local ) {\n\t\t\tday = date.getDate();\n\t\t\tmonth = date.getMonth();\n\t\t\tret = {\n\t\t\t\tYear: date.getFullYear() + 1166,\n\t\t\t\tHour: date.getHours(),\n\t\t\t\tMinute: date.getMinutes(),\n\t\t\t\tSecond: date.getSeconds(),\n\t\t\t\tMillisecond: date.getMilliseconds(),\n\t\t\t\tzone: date.getTimezoneOffset()\n\t\t\t};\n\t\t} else {\n\t\t\tday = date.getUTCDate();\n\t\t\tmonth = date.getUTCMonth();\n\t\t\tret = {\n\t\t\t\tYear: date.getUTCFullYear() + 1166,\n\t\t\t\tHour: date.getUTCHours(),\n\t\t\t\tMinute: date.getUTCMinutes(),\n\t\t\t\tSecond: date.getUTCSeconds(),\n\t\t\t\tMillisecond: date.getUTCMilliseconds(),\n\t\t\t\tzone: 0\n\t\t\t};\n\t\t}\n\n\t\tif ( month === 1 && day === 29 ) {\n\t\t\tret.Season = 1;\n\t\t\tret.Day = 'tib';\n\t\t\tret.DOW = -1;\n\t\t\tret.intercalary = '1';\n\t\t} else {\n\t\t\tday = monthDays[ month ] + day - 1;\n\t\t\tret.Season = Math.floor( day / 73 ) + 1;\n\t\t\tret.Day = ( day % 73 ) + 1;\n\t\t\tret.DOW = day % 5;\n\t\t\tret.intercalary = '';\n\t\t}\n\n\t\treturn ret;\n\t};\n\n\t/**\n\t * @inheritdoc\n\t */\n\tmw.widgets.datetime.DiscordianDateTimeFormatter.prototype.adjustComponent = function ( date, component, delta, mode ) {\n\t\treturn this.getDateFromComponents(\n\t\t\tthis.adjustComponentInternal(\n\t\t\t\tthis.getComponentsFromDate( date ), component, delta, mode\n\t\t\t)\n\t\t);\n\t};\n\n\t/**\n\t * Adjust the components directly.\n\t *\n\t * @private\n\t * @param {Object} components Modified in place\n\t * @param {string} component\n\t * @param {number} delta\n\t * @param {string} mode\n\t * @return {Object} components\n\t */\n\tmw.widgets.datetime.DiscordianDateTimeFormatter.prototype.adjustComponentInternal = function ( components, component, delta, mode ) {\n\t\tlet i, min, max, range, next, preTib, postTib, wasTib;\n\n\t\tif ( delta === 0 ) {\n\t\t\treturn components;\n\t\t}\n\n\t\tswitch ( component ) {\n\t\t\tcase 'Year':\n\t\t\t\tmin = 1166;\n\t\t\t\tmax = 11165;\n\t\t\t\tnext = null;\n\t\t\t\tbreak;\n\t\t\tcase 'Season':\n\t\t\t\tmin = 1;\n\t\t\t\tmax = 5;\n\t\t\t\tnext = 'Year';\n\t\t\t\tbreak;\n\t\t\tcase 'Week':\n\t\t\t\tif ( components.Day === 'tib' ) {\n\t\t\t\t\tcomponents.Day = 59; // Could choose either one...\n\t\t\t\t\tcomponents.Season = 1;\n\t\t\t\t}\n\t\t\t\tmin = 1;\n\t\t\t\tmax = 73;\n\t\t\t\tnext = 'Season';\n\t\t\t\tbreak;\n\t\t\tcase 'Day':\n\t\t\t\tmin = 1;\n\t\t\t\tmax = 73;\n\t\t\t\tnext = 'Season';\n\t\t\t\tbreak;\n\t\t\tcase 'Hour':\n\t\t\t\tmin = 0;\n\t\t\t\tmax = 23;\n\t\t\t\tnext = 'Day';\n\t\t\t\tbreak;\n\t\t\tcase 'Minute':\n\t\t\t\tmin = 0;\n\t\t\t\tmax = 59;\n\t\t\t\tnext = 'Hour';\n\t\t\t\tbreak;\n\t\t\tcase 'Second':\n\t\t\t\tmin = 0;\n\t\t\t\tmax = 59;\n\t\t\t\tnext = 'Minute';\n\t\t\t\tbreak;\n\t\t\tcase 'Millisecond':\n\t\t\t\tmin = 0;\n\t\t\t\tmax = 999;\n\t\t\t\tnext = 'Second';\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\treturn components;\n\t\t}\n\n\t\tswitch ( mode ) {\n\t\t\tcase 'overflow':\n\t\t\tcase 'clip':\n\t\t\tcase 'wrap':\n\t\t}\n\n\t\tif ( component === 'Day' ) {\n\t\t\ti = Math.abs( delta );\n\t\t\tdelta = delta < 0 ? -1 : 1;\n\t\t\tpreTib = delta > 0 ? 59 : 60;\n\t\t\tpostTib = delta > 0 ? 60 : 59;\n\t\t\twhile ( i-- > 0 ) {\n\t\t\t\tif ( components.Day === preTib && components.Season === 1 && this.isLeapYear( components.Year ) ) {\n\t\t\t\t\tcomponents.Day = 'tib';\n\t\t\t\t} else if ( components.Day === 'tib' ) {\n\t\t\t\t\tcomponents.Day = postTib;\n\t\t\t\t\tcomponents.Season = 1;\n\t\t\t\t} else {\n\t\t\t\t\tcomponents.Day += delta;\n\t\t\t\t\tif ( components.Day < min ) {\n\t\t\t\t\t\tswitch ( mode ) {\n\t\t\t\t\t\t\tcase 'overflow':\n\t\t\t\t\t\t\t\tcomponents.Day = max;\n\t\t\t\t\t\t\t\tthis.adjustComponentInternal( components, 'Season', -1, mode );\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase 'wrap':\n\t\t\t\t\t\t\t\tcomponents.Day = max;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase 'clip':\n\t\t\t\t\t\t\t\tcomponents.Day = min;\n\t\t\t\t\t\t\t\ti = 0;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif ( components.Day > max ) {\n\t\t\t\t\t\tswitch ( mode ) {\n\t\t\t\t\t\t\tcase 'overflow':\n\t\t\t\t\t\t\t\tcomponents.Day = min;\n\t\t\t\t\t\t\t\tthis.adjustComponentInternal( components, 'Season', 1, mode );\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase 'wrap':\n\t\t\t\t\t\t\t\tcomponents.Day = min;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase 'clip':\n\t\t\t\t\t\t\t\tcomponents.Day = max;\n\t\t\t\t\t\t\t\ti = 0;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tif ( component === 'Week' ) {\n\t\t\t\tcomponent = 'Day';\n\t\t\t\tdelta *= 5;\n\t\t\t}\n\t\t\tif ( components.Day === 'tib' ) {\n\t\t\t\tcomponents.Season = 1;\n\t\t\t}\n\t\t\tswitch ( mode ) {\n\t\t\t\tcase 'overflow':\n\t\t\t\t\tif ( components.Day === 'tib' && ( component === 'Season' || component === 'Year' ) ) {\n\t\t\t\t\t\tcomponents.Day = 59; // Could choose either one...\n\t\t\t\t\t\twasTib = true;\n\t\t\t\t\t} else {\n\t\t\t\t\t\twasTib = false;\n\t\t\t\t\t}\n\t\t\t\t\ti = Math.abs( delta );\n\t\t\t\t\tdelta = delta < 0 ? -1 : 1;\n\t\t\t\t\twhile ( i-- > 0 ) {\n\t\t\t\t\t\tcomponents[ component ] += delta;\n\t\t\t\t\t\tif ( components[ component ] < min ) {\n\t\t\t\t\t\t\tcomponents[ component ] = max;\n\t\t\t\t\t\t\tcomponents = this.adjustComponentInternal( components, next, -1, mode );\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif ( components[ component ] > max ) {\n\t\t\t\t\t\t\tcomponents[ component ] = min;\n\t\t\t\t\t\t\tcomponents = this.adjustComponentInternal( components, next, 1, mode );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif ( wasTib && components.Season === 1 && this.isLeapYear( components.Year ) ) {\n\t\t\t\t\t\tcomponents.Day = 'tib';\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'wrap':\n\t\t\t\t\trange = max - min + 1;\n\t\t\t\t\tcomponents[ component ] += delta;\n\t\t\t\t\twhile ( components[ component ] < min ) {\n\t\t\t\t\t\tcomponents[ component ] += range;\n\t\t\t\t\t}\n\t\t\t\t\twhile ( components[ component ] > max ) {\n\t\t\t\t\t\tcomponents[ component ] -= range;\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'clip':\n\t\t\t\t\tcomponents[ component ] += delta;\n\t\t\t\t\tif ( components[ component ] < min ) {\n\t\t\t\t\t\tcomponents[ component ] = min;\n\t\t\t\t\t}\n\t\t\t\t\tif ( components[ component ] > max ) {\n\t\t\t\t\t\tcomponents[ component ] = max;\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif ( components.Day === 'tib' &&\n\t\t\t\t( components.Season !== 1 || !this.isLeapYear( components.Year ) )\n\t\t\t) {\n\t\t\t\tcomponents.Day = 59; // Could choose either one...\n\t\t\t}\n\t\t}\n\n\t\treturn components;\n\t};\n\n\t/**\n\t * @inheritdoc\n\t */\n\tmw.widgets.datetime.DiscordianDateTimeFormatter.prototype.getDateFromComponents = function ( components ) {\n\t\tlet month, day;\n\n\t\tconst\n\t\t\tdate = new Date(),\n\t\t\tmonthDays = [ 0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334, 365 ];\n\n\t\tcomponents = Object.assign( {}, this.getComponentsFromDate( null ), components );\n\t\tif ( components.Day === 'tib' ) {\n\t\t\tmonth = 1;\n\t\t\tday = 29;\n\t\t} else {\n\t\t\tconst days = components.Season * 73 + components.Day - 74;\n\t\t\tmonth = 0;\n\t\t\twhile ( days >= monthDays[ month + 1 ] ) {\n\t\t\t\tmonth++;\n\t\t\t}\n\t\t\tday = days - monthDays[ month ] + 1;\n\t\t}\n\n\t\tif ( components.zone ) {\n\t\t\t// Can't just use the constructor because that's stupid about ancient years.\n\t\t\tdate.setFullYear( components.Year - 1166, month, day );\n\t\t\tdate.setHours( components.Hour, components.Minute, components.Second, components.Millisecond );\n\t\t} else {\n\t\t\t// Date.UTC() is stupid about ancient years too.\n\t\t\tdate.setUTCFullYear( components.Year - 1166, month, day );\n\t\t\tdate.setUTCHours( components.Hour, components.Minute, components.Second, components.Millisecond );\n\t\t}\n\n\t\treturn date;\n\t};\n\n\t/**\n\t * Get whether the year is a leap year.\n\t *\n\t * @private\n\t * @param {number} year\n\t * @return {boolean}\n\t */\n\tmw.widgets.datetime.DiscordianDateTimeFormatter.prototype.isLeapYear = function ( year ) {\n\t\tyear -= 1166;\n\t\tif ( year % 4 ) {\n\t\t\treturn false;\n\t\t} else if ( year % 100 ) {\n\t\t\treturn true;\n\t\t}\n\t\treturn ( year % 400 ) === 0;\n\t};\n\n\t/**\n\t * @inheritdoc\n\t */\n\tmw.widgets.datetime.DiscordianDateTimeFormatter.prototype.getCalendarHeadings = function () {\n\t\treturn [ 'SM', 'BT', 'PD', 'PP', null, 'SO' ];\n\t};\n\n\t/**\n\t * @inheritdoc\n\t */\n\tmw.widgets.datetime.DiscordianDateTimeFormatter.prototype.sameCalendarGrid = function ( date1, date2 ) {\n\t\tconst components1 = this.getComponentsFromDate( date1 ),\n\t\t\tcomponents2 = this.getComponentsFromDate( date2 );\n\n\t\treturn components1.Year === components2.Year && components1.Season === components2.Season;\n\t};\n\n\t/**\n\t * @inheritdoc\n\t */\n\tmw.widgets.datetime.DiscordianDateTimeFormatter.prototype.getCalendarData = function ( date ) {\n\t\tconst\n\t\t\tret = {\n\t\t\t\tdayComponent: 'Day',\n\t\t\t\tweekComponent: 'Week',\n\t\t\t\tmonthComponent: 'Season'\n\t\t\t},\n\t\t\tseasons = [ 'Chaos', 'Discord', 'Confusion', 'Bureaucracy', 'The Aftermath' ],\n\t\t\tseasonStart = [ 0, -3, -1, -4, -2 ];\n\n\t\tif ( !( date instanceof Date ) ) {\n\t\t\tdate = this.defaultDate;\n\t\t}\n\n\t\tconst components = this.getComponentsFromDate( date );\n\t\tcomponents.Day = 1;\n\t\tconst season = components.Season;\n\n\t\tret.header = seasons[ season - 1 ] + ' ' + components.Year;\n\n\t\tif ( seasonStart[ season - 1 ] ) {\n\t\t\tthis.adjustComponentInternal( components, 'Day', seasonStart[ season - 1 ], 'overflow' );\n\t\t}\n\n\t\tret.rows = [];\n\t\tdo {\n\t\t\tconst row = [];\n\t\t\tfor ( let i = 0; i < 6; i++ ) {\n\t\t\t\tconst dt = this.getDateFromComponents( components );\n\t\t\t\trow[ i ] = {\n\t\t\t\t\tdisplay: components.Day === 'tib' ? 'Tib' : String( components.Day ),\n\t\t\t\t\tdate: dt,\n\t\t\t\t\textra: components.Season < season ? 'prev' : components.Season > season ? 'next' : null\n\t\t\t\t};\n\n\t\t\t\tthis.adjustComponentInternal( components, 'Day', 1, 'overflow' );\n\t\t\t\tif ( components.Day !== 'tib' && i === 3 ) {\n\t\t\t\t\trow[ ++i ] = null;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tret.rows.push( row );\n\t\t} while ( components.Season === season );\n\n\t\treturn ret;\n\t};\n\n}() );\n","usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.widgets.datetime/ProlepticGregorianDateTimeFormatter.js","messages":[{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'FieldSpecificationObject' is undefined.","line":306,"column":1,"nodeType":"Block","endLine":306,"endColumn":1}],"suppressedMessages":[{"ruleId":"no-jquery/no-each-util","severity":2,"message":"Prefer Array#forEach to $.each","line":42,"column":4,"nodeType":"CallExpression","endLine":44,"endColumn":7,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-each-util","severity":2,"message":"Prefer Array#forEach to $.each","line":49,"column":4,"nodeType":"CallExpression","endLine":51,"endColumn":7,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-each-util","severity":2,"message":"Prefer Array#forEach to $.each","line":56,"column":4,"nodeType":"CallExpression","endLine":58,"endColumn":7,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-each-util","severity":2,"message":"Prefer Array#forEach to $.each","line":63,"column":4,"nodeType":"CallExpression","endLine":65,"endColumn":7,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-each-util","severity":2,"message":"Prefer Array#forEach to $.each","line":176,"column":4,"nodeType":"CallExpression","endLine":178,"endColumn":7,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-each-util","severity":2,"message":"Prefer Array#forEach to $.each","line":183,"column":4,"nodeType":"CallExpression","endLine":185,"endColumn":7,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-each-util","severity":2,"message":"Prefer Array#forEach to $.each","line":190,"column":4,"nodeType":"CallExpression","endLine":192,"endColumn":7,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-each-util","severity":2,"message":"Prefer Array#forEach to $.each","line":197,"column":4,"nodeType":"CallExpression","endLine":199,"endColumn":7,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-map-util","severity":2,"message":"Prefer Array#map to $.map","line":416,"column":12,"nodeType":"CallExpression","endLine":416,"endColumn":51,"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"( function () {\n\n\t/**\n\t * @classdesc DateTimeFormatter for the proleptic Gregorian calendar.\n\t *\n\t * Provides various methods needed for formatting dates and times. This\n\t * implementation implements the proleptic Gregorian calendar over years\n\t * 0000–9999.\n\t *\n\t * @class\n\t * @extends mw.widgets.datetime.DateTimeFormatter\n\t *\n\t * @constructor\n\t * @description Create an instance of `mw.widgets.datetime.ProlepticGregorianDateTimeFormatter`.\n\t * @param {Object} [config] Configuration options\n\t * @param {Object} [config.fullMonthNames] Mapping 1–12 to full month names.\n\t * @param {Object} [config.shortMonthNames] Mapping 1–12 to abbreviated month names.\n\t * If {@link #fullMonthNames fullMonthNames} is given and this is not,\n\t * defaults to the first three characters from that setting.\n\t * @param {Object} [config.fullDayNames] Mapping 0–6 to full day of week names. 0 is Sunday, 6 is Saturday.\n\t * @param {Object} [config.shortDayNames] Mapping 0–6 to abbreviated day of week names. 0 is Sunday, 6 is Saturday.\n\t * If {@link #fullDayNames fullDayNames} is given and this is not, defaults to\n\t * the first three characters from that setting.\n\t * @param {string[]} [config.dayLetters] Weekday column headers for a calendar. Array of 7 strings.\n\t * If {@link #fullDayNames fullDayNames} or {@link #shortDayNames shortDayNames}\n\t * are given and this is not, defaults to the first character from\n\t * shortDayNames.\n\t * @param {string[]} [config.hour12Periods] AM and PM texts. Array of 2 strings, AM and PM.\n\t * @param {number} [config.weekStartsOn=0] What day the week starts on: 0 is Sunday, 1 is Monday, 6 is Saturday.\n\t */\n\tmw.widgets.datetime.ProlepticGregorianDateTimeFormatter = function MwWidgetsDatetimeProlepticGregorianDateTimeFormatter( config ) {\n\t\tthis.constructor.static.setupDefaults();\n\n\t\tconfig = Object.assign( {\n\t\t\tweekStartsOn: 0,\n\t\t\thour12Periods: this.constructor.static.hour12Periods\n\t\t}, config );\n\n\t\tif ( config.fullMonthNames && !config.shortMonthNames ) {\n\t\t\tconfig.shortMonthNames = {};\n\t\t\t// eslint-disable-next-line no-jquery/no-each-util\n\t\t\t$.each( config.fullMonthNames, ( k, v ) => {\n\t\t\t\tconfig.shortMonthNames[ k ] = v.slice( 0, 3 );\n\t\t\t} );\n\t\t}\n\t\tif ( config.shortDayNames && !config.dayLetters ) {\n\t\t\tconfig.dayLetters = [];\n\t\t\t// eslint-disable-next-line no-jquery/no-each-util\n\t\t\t$.each( config.shortDayNames, ( k, v ) => {\n\t\t\t\tconfig.dayLetters[ k ] = v.slice( 0, 1 );\n\t\t\t} );\n\t\t}\n\t\tif ( config.fullDayNames && !config.dayLetters ) {\n\t\t\tconfig.dayLetters = [];\n\t\t\t// eslint-disable-next-line no-jquery/no-each-util\n\t\t\t$.each( config.fullDayNames, ( k, v ) => {\n\t\t\t\tconfig.dayLetters[ k ] = v.slice( 0, 1 );\n\t\t\t} );\n\t\t}\n\t\tif ( config.fullDayNames && !config.shortDayNames ) {\n\t\t\tconfig.shortDayNames = {};\n\t\t\t// eslint-disable-next-line no-jquery/no-each-util\n\t\t\t$.each( config.fullDayNames, ( k, v ) => {\n\t\t\t\tconfig.shortDayNames[ k ] = v.slice( 0, 3 );\n\t\t\t} );\n\t\t}\n\t\tconfig = Object.assign( {\n\t\t\tfullMonthNames: this.constructor.static.fullMonthNames,\n\t\t\tshortMonthNames: this.constructor.static.shortMonthNames,\n\t\t\tfullDayNames: this.constructor.static.fullDayNames,\n\t\t\tshortDayNames: this.constructor.static.shortDayNames,\n\t\t\tdayLetters: this.constructor.static.dayLetters\n\t\t}, config );\n\n\t\t// Parent constructor\n\t\tmw.widgets.datetime.ProlepticGregorianDateTimeFormatter.super.call( this, config );\n\n\t\t// Properties\n\t\tthis.weekStartsOn = config.weekStartsOn % 7;\n\t\tthis.fullMonthNames = config.fullMonthNames;\n\t\tthis.shortMonthNames = config.shortMonthNames;\n\t\tthis.fullDayNames = config.fullDayNames;\n\t\tthis.shortDayNames = config.shortDayNames;\n\t\tthis.dayLetters = config.dayLetters;\n\t\tthis.hour12Periods = config.hour12Periods;\n\t};\n\n\t/* Setup */\n\n\tOO.inheritClass( mw.widgets.datetime.ProlepticGregorianDateTimeFormatter, mw.widgets.datetime.DateTimeFormatter );\n\n\t/* Static */\n\n\t/**\n\t * Default format specifications.\n\t *\n\t * See the `format` parameter in {@link mw.widgets.datetime.DateTimeFormatter}.\n\t *\n\t * @memberof mw.widgets.datetime.ProlepticGregorianDateTimeFormatter\n\t * @type {Object.<string,string>}\n\t * @name formats\n\t */\n\tmw.widgets.datetime.ProlepticGregorianDateTimeFormatter.static.formats = {\n\t\t'@time': '${hour|0}:${minute|0}:${second|0}',\n\t\t'@date': '$!{dow|short} ${day|#} ${month|short} ${year|#}',\n\t\t'@datetime': '$!{dow|short} ${day|#} ${month|short} ${year|#} ${hour|0}:${minute|0}:${second|0} $!{zone|short}',\n\t\t'@default': '$!{dow|short} ${day|#} ${month|short} ${year|#} ${hour|0}:${minute|0}:${second|0} $!{zone|short}'\n\t};\n\n\t/**\n\t * Default full month names.\n\t *\n\t * @static\n\t * @inheritable\n\t * @type {Object}\n\t * @name mw.widgets.datetime.ProlepticGregorianDateTimeFormatter.fullMonthNames\n\t */\n\tmw.widgets.datetime.ProlepticGregorianDateTimeFormatter.static.fullMonthNames = null;\n\n\t/**\n\t * Default abbreviated month names.\n\t *\n\t * @static\n\t * @inheritable\n\t * @type {Object}\n\t * @name mw.widgets.datetime.ProlepticGregorianDateTimeFormatter.shortMonthNames\n\t */\n\tmw.widgets.datetime.ProlepticGregorianDateTimeFormatter.static.shortMonthNames = null;\n\n\t/**\n\t * Default full day of week names.\n\t *\n\t * @static\n\t * @inheritable\n\t * @type {Object}\n\t * @name mw.widgets.datetime.ProlepticGregorianDateTimeFormatter.fullDayNames\n\t */\n\tmw.widgets.datetime.ProlepticGregorianDateTimeFormatter.static.fullDayNames = null;\n\n\t/**\n\t * Default abbreviated day of week names.\n\t *\n\t * @static\n\t * @inheritable\n\t * @type {Object}\n\t * @name mw.widgets.datetime.ProlepticGregorianDateTimeFormatter.shortDayNames\n\t */\n\tmw.widgets.datetime.ProlepticGregorianDateTimeFormatter.static.shortDayNames = null;\n\n\t/**\n\t * Default day letters.\n\t *\n\t * @static\n\t * @inheritable\n\t * @type {string[]}\n\t * @name mw.widgets.datetime.ProlepticGregorianDateTimeFormatter.dayLetters\n\t */\n\tmw.widgets.datetime.ProlepticGregorianDateTimeFormatter.static.dayLetters = null;\n\n\t/**\n\t * Default AM/PM indicators.\n\t *\n\t * @static\n\t * @inheritable\n\t * @type {string[]}\n\t * @name mw.widgets.datetime.ProlepticGregorianDateTimeFormatter.hour12Periods\n\t */\n\tmw.widgets.datetime.ProlepticGregorianDateTimeFormatter.static.hour12Periods = null;\n\n\tmw.widgets.datetime.ProlepticGregorianDateTimeFormatter.static.setupDefaults = function () {\n\t\tmw.widgets.datetime.DateTimeFormatter.static.setupDefaults.call( this );\n\n\t\tif ( this.fullMonthNames && !this.shortMonthNames ) {\n\t\t\tthis.shortMonthNames = {};\n\t\t\t// eslint-disable-next-line no-jquery/no-each-util\n\t\t\t$.each( this.fullMonthNames, ( k, v ) => {\n\t\t\t\tthis.shortMonthNames[ k ] = v.slice( 0, 3 );\n\t\t\t} );\n\t\t}\n\t\tif ( this.shortDayNames && !this.dayLetters ) {\n\t\t\tthis.dayLetters = [];\n\t\t\t// eslint-disable-next-line no-jquery/no-each-util\n\t\t\t$.each( this.shortDayNames, ( k, v ) => {\n\t\t\t\tthis.dayLetters[ k ] = v.slice( 0, 1 );\n\t\t\t} );\n\t\t}\n\t\tif ( this.fullDayNames && !this.dayLetters ) {\n\t\t\tthis.dayLetters = [];\n\t\t\t// eslint-disable-next-line no-jquery/no-each-util\n\t\t\t$.each( this.fullDayNames, ( k, v ) => {\n\t\t\t\tthis.dayLetters[ k ] = v.slice( 0, 1 );\n\t\t\t} );\n\t\t}\n\t\tif ( this.fullDayNames && !this.shortDayNames ) {\n\t\t\tthis.shortDayNames = {};\n\t\t\t// eslint-disable-next-line no-jquery/no-each-util\n\t\t\t$.each( this.fullDayNames, ( k, v ) => {\n\t\t\t\tthis.shortDayNames[ k ] = v.slice( 0, 3 );\n\t\t\t} );\n\t\t}\n\n\t\tif ( !this.fullMonthNames ) {\n\t\t\tthis.fullMonthNames = {\n\t\t\t\t1: mw.msg( 'january' ),\n\t\t\t\t2: mw.msg( 'february' ),\n\t\t\t\t3: mw.msg( 'march' ),\n\t\t\t\t4: mw.msg( 'april' ),\n\t\t\t\t5: mw.msg( 'may_long' ),\n\t\t\t\t6: mw.msg( 'june' ),\n\t\t\t\t7: mw.msg( 'july' ),\n\t\t\t\t8: mw.msg( 'august' ),\n\t\t\t\t9: mw.msg( 'september' ),\n\t\t\t\t10: mw.msg( 'october' ),\n\t\t\t\t11: mw.msg( 'november' ),\n\t\t\t\t12: mw.msg( 'december' )\n\t\t\t};\n\t\t}\n\t\tif ( !this.shortMonthNames ) {\n\t\t\tthis.shortMonthNames = {\n\t\t\t\t1: mw.msg( 'jan' ),\n\t\t\t\t2: mw.msg( 'feb' ),\n\t\t\t\t3: mw.msg( 'mar' ),\n\t\t\t\t4: mw.msg( 'apr' ),\n\t\t\t\t5: mw.msg( 'may' ),\n\t\t\t\t6: mw.msg( 'jun' ),\n\t\t\t\t7: mw.msg( 'jul' ),\n\t\t\t\t8: mw.msg( 'aug' ),\n\t\t\t\t9: mw.msg( 'sep' ),\n\t\t\t\t10: mw.msg( 'oct' ),\n\t\t\t\t11: mw.msg( 'nov' ),\n\t\t\t\t12: mw.msg( 'dec' )\n\t\t\t};\n\t\t}\n\n\t\tif ( !this.fullDayNames ) {\n\t\t\tthis.fullDayNames = {\n\t\t\t\t0: mw.msg( 'sunday' ),\n\t\t\t\t1: mw.msg( 'monday' ),\n\t\t\t\t2: mw.msg( 'tuesday' ),\n\t\t\t\t3: mw.msg( 'wednesday' ),\n\t\t\t\t4: mw.msg( 'thursday' ),\n\t\t\t\t5: mw.msg( 'friday' ),\n\t\t\t\t6: mw.msg( 'saturday' )\n\t\t\t};\n\t\t}\n\t\tif ( !this.shortDayNames ) {\n\t\t\tthis.shortDayNames = {\n\t\t\t\t0: mw.msg( 'sun' ),\n\t\t\t\t1: mw.msg( 'mon' ),\n\t\t\t\t2: mw.msg( 'tue' ),\n\t\t\t\t3: mw.msg( 'wed' ),\n\t\t\t\t4: mw.msg( 'thu' ),\n\t\t\t\t5: mw.msg( 'fri' ),\n\t\t\t\t6: mw.msg( 'sat' )\n\t\t\t};\n\t\t}\n\t\tif ( !this.dayLetters ) {\n\t\t\tconst dayLetters = [];\n\t\t\tconst shortDayNames = this.shortDayNames;\n\t\t\tfor ( const dayOfWeek in shortDayNames ) {\n\t\t\t\tconst shortDayName = shortDayNames[ dayOfWeek ];\n\t\t\t\tdayLetters[ dayOfWeek ] = shortDayName.slice( 0, 1 );\n\t\t\t}\n\t\t\tthis.dayLetters = dayLetters;\n\t\t}\n\n\t\tif ( !this.hour12Periods ) {\n\t\t\tthis.hour12Periods = [\n\t\t\t\tmw.msg( 'period-am' ),\n\t\t\t\tmw.msg( 'period-pm' )\n\t\t\t];\n\t\t}\n\t};\n\n\t/* Methods */\n\n\t/**\n\t * Turn a tag into a field specification object.\n\t *\n\t * Additional fields implemented here are:\n\t * - ${year|#}: Year as a number\n\t * - ${year|0}: Year as a number, zero-padded to 4 digits\n\t * - ${month|#}: Month as a number\n\t * - ${month|0}: Month as a number with leading 0\n\t * - ${month|short}: Month from 'shortMonthNames' configuration setting\n\t * - ${month|full}: Month from 'fullMonthNames' configuration setting\n\t * - ${day|#}: Day of the month as a number\n\t * - ${day|0}: Day of the month as a number with leading 0\n\t * - ${dow|short}: Day of the week from 'shortDayNames' configuration setting\n\t * - ${dow|full}: Day of the week from 'fullDayNames' configuration setting\n\t * - ${hour|#}: Hour as a number\n\t * - ${hour|0}: Hour as a number with leading 0\n\t * - ${hour|12}: Hour in a 12-hour clock as a number\n\t * - ${hour|012}: Hour in a 12-hour clock as a number, with leading 0\n\t * - ${hour|period}: Value from 'hour12Periods' configuration setting\n\t * - ${minute|#}: Minute as a number\n\t * - ${minute|0}: Minute as a number with leading 0\n\t * - ${second|#}: Second as a number\n\t * - ${second|0}: Second as a number with leading 0\n\t * - ${millisecond|#}: Millisecond as a number\n\t * - ${millisecond|0}: Millisecond as a number, zero-padded to 3 digits\n\t *\n\t * @protected\n\t * @param {string} tag\n\t * @param {string[]} params\n\t * @return {FieldSpecificationObject} Field specification object, or null if the tag+params are unrecognized.\n\t */\n\tmw.widgets.datetime.ProlepticGregorianDateTimeFormatter.prototype.getFieldForTag = function ( tag, params ) {\n\t\tlet spec = null;\n\n\t\tswitch ( tag + '|' + params[ 0 ] ) {\n\t\t\tcase 'year|#':\n\t\t\tcase 'year|0':\n\t\t\t\tspec = {\n\t\t\t\t\tcomponent: 'year',\n\t\t\t\t\tcalendarComponent: true,\n\t\t\t\t\ttype: 'number',\n\t\t\t\t\tsize: 4,\n\t\t\t\t\tzeropad: params[ 0 ] === '0'\n\t\t\t\t};\n\t\t\t\tbreak;\n\n\t\t\tcase 'month|short':\n\t\t\tcase 'month|full':\n\t\t\t\tspec = {\n\t\t\t\t\tcomponent: 'month',\n\t\t\t\t\tcalendarComponent: true,\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tvalues: params[ 0 ] === 'short' ? this.shortMonthNames : this.fullMonthNames\n\t\t\t\t};\n\t\t\t\tbreak;\n\n\t\t\tcase 'dow|short':\n\t\t\tcase 'dow|full':\n\t\t\t\tspec = {\n\t\t\t\t\tcomponent: 'dow',\n\t\t\t\t\tcalendarComponent: true,\n\t\t\t\t\teditable: false,\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tvalues: params[ 0 ] === 'short' ? this.shortDayNames : this.fullDayNames\n\t\t\t\t};\n\t\t\t\tbreak;\n\n\t\t\tcase 'month|#':\n\t\t\tcase 'month|0':\n\t\t\tcase 'day|#':\n\t\t\tcase 'day|0':\n\t\t\t\tspec = {\n\t\t\t\t\tcomponent: tag,\n\t\t\t\t\tcalendarComponent: true,\n\t\t\t\t\ttype: 'number',\n\t\t\t\t\tsize: 2,\n\t\t\t\t\tzeropad: params[ 0 ] === '0'\n\t\t\t\t};\n\t\t\t\tbreak;\n\n\t\t\tcase 'hour|#':\n\t\t\tcase 'hour|0':\n\t\t\tcase 'minute|#':\n\t\t\tcase 'minute|0':\n\t\t\tcase 'second|#':\n\t\t\tcase 'second|0':\n\t\t\t\tspec = {\n\t\t\t\t\tcomponent: tag,\n\t\t\t\t\tcalendarComponent: false,\n\t\t\t\t\ttype: 'number',\n\t\t\t\t\tsize: 2,\n\t\t\t\t\tzeropad: params[ 0 ] === '0'\n\t\t\t\t};\n\t\t\t\tbreak;\n\n\t\t\tcase 'hour|12':\n\t\t\tcase 'hour|012':\n\t\t\t\tspec = {\n\t\t\t\t\tcomponent: 'hour12',\n\t\t\t\t\tcalendarComponent: false,\n\t\t\t\t\ttype: 'number',\n\t\t\t\t\tsize: 2,\n\t\t\t\t\tzeropad: params[ 0 ] === '012'\n\t\t\t\t};\n\t\t\t\tbreak;\n\n\t\t\tcase 'hour|period':\n\t\t\t\tspec = {\n\t\t\t\t\tcomponent: 'hour12period',\n\t\t\t\t\tcalendarComponent: false,\n\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\tvalues: this.hour12Periods\n\t\t\t\t};\n\t\t\t\tbreak;\n\n\t\t\tcase 'millisecond|#':\n\t\t\tcase 'millisecond|0':\n\t\t\t\tspec = {\n\t\t\t\t\tcomponent: 'millisecond',\n\t\t\t\t\tcalendarComponent: false,\n\t\t\t\t\ttype: 'number',\n\t\t\t\t\tsize: 3,\n\t\t\t\t\tzeropad: params[ 0 ] === '0'\n\t\t\t\t};\n\t\t\t\tbreak;\n\n\t\t\tdefault:\n\t\t\t\treturn mw.widgets.datetime.ProlepticGregorianDateTimeFormatter.super.prototype.getFieldForTag.call( this, tag, params );\n\t\t}\n\n\t\tif ( spec ) {\n\t\t\tif ( spec.editable === undefined ) {\n\t\t\t\tspec.editable = true;\n\t\t\t}\n\t\t\tspec.formatValue = this.formatSpecValue;\n\t\t\tspec.parseValue = this.parseSpecValue;\n\t\t\tif ( spec.values ) {\n\t\t\t\tspec.size = Math.max.apply(\n\t\t\t\t\t// eslint-disable-next-line no-jquery/no-map-util\n\t\t\t\t\tnull, $.map( spec.values, ( v ) => v.length )\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\treturn spec;\n\t};\n\n\t/**\n\t * Get components from a Date object.\n\t *\n\t * Components are:\n\t * - year {number}\n\t * - month {number} (1-12)\n\t * - day {number} (1-31)\n\t * - dow {number} (0-6, 0 is Sunday)\n\t * - hour {number} (0-23)\n\t * - hour12 {number} (1-12)\n\t * - hour12period {boolean}\n\t * - minute {number} (0-59)\n\t * - second {number} (0-59)\n\t * - millisecond {number} (0-999)\n\t * - zone {number}\n\t *\n\t * @param {Date|null} date\n\t * @return {Object} Components\n\t */\n\tmw.widgets.datetime.ProlepticGregorianDateTimeFormatter.prototype.getComponentsFromDate = function ( date ) {\n\t\tlet ret;\n\n\t\tif ( !( date instanceof Date ) ) {\n\t\t\tdate = this.defaultDate;\n\t\t}\n\n\t\tif ( this.local ) {\n\t\t\tret = {\n\t\t\t\tyear: date.getFullYear(),\n\t\t\t\tmonth: date.getMonth() + 1,\n\t\t\t\tday: date.getDate(),\n\t\t\t\tdow: date.getDay() % 7,\n\t\t\t\thour: date.getHours(),\n\t\t\t\tminute: date.getMinutes(),\n\t\t\t\tsecond: date.getSeconds(),\n\t\t\t\tmillisecond: date.getMilliseconds(),\n\t\t\t\tzone: date.getTimezoneOffset()\n\t\t\t};\n\t\t} else {\n\t\t\tret = {\n\t\t\t\tyear: date.getUTCFullYear(),\n\t\t\t\tmonth: date.getUTCMonth() + 1,\n\t\t\t\tday: date.getUTCDate(),\n\t\t\t\tdow: date.getUTCDay() % 7,\n\t\t\t\thour: date.getUTCHours(),\n\t\t\t\tminute: date.getUTCMinutes(),\n\t\t\t\tsecond: date.getUTCSeconds(),\n\t\t\t\tmillisecond: date.getUTCMilliseconds(),\n\t\t\t\tzone: 0\n\t\t\t};\n\t\t}\n\n\t\tret.hour12period = ret.hour >= 12 ? 1 : 0;\n\t\tret.hour12 = ret.hour % 12;\n\t\tif ( ret.hour12 === 0 ) {\n\t\t\tret.hour12 = 12;\n\t\t}\n\n\t\treturn ret;\n\t};\n\n\t/**\n\t * @inheritdoc\n\t */\n\tmw.widgets.datetime.ProlepticGregorianDateTimeFormatter.prototype.getDateFromComponents = function ( components ) {\n\t\tconst date = new Date();\n\n\t\tcomponents = Object.assign( {}, components );\n\t\tif ( components.hour === undefined && components.hour12 !== undefined && components.hour12period !== undefined ) {\n\t\t\tcomponents.hour = ( components.hour12 % 12 ) + ( components.hour12period ? 12 : 0 );\n\t\t}\n\t\tcomponents = Object.assign( {}, this.getComponentsFromDate( null ), components );\n\n\t\tif ( components.zone ) {\n\t\t\t// Can't just use the constructor because that's stupid about ancient years.\n\t\t\tdate.setFullYear( components.year, components.month - 1, components.day );\n\t\t\tdate.setHours( components.hour, components.minute, components.second, components.millisecond );\n\t\t} else {\n\t\t\t// Date.UTC() is stupid about ancient years too.\n\t\t\tdate.setUTCFullYear( components.year, components.month - 1, components.day );\n\t\t\tdate.setUTCHours( components.hour, components.minute, components.second, components.millisecond );\n\t\t}\n\n\t\treturn date;\n\t};\n\n\t/**\n\t * @inheritdoc\n\t */\n\tmw.widgets.datetime.ProlepticGregorianDateTimeFormatter.prototype.adjustComponent = function ( date, component, delta, mode ) {\n\t\tlet min, max;\n\n\t\tif ( !( date instanceof Date ) ) {\n\t\t\tdate = this.defaultDate;\n\t\t}\n\t\tconst components = this.getComponentsFromDate( date );\n\n\t\tswitch ( component ) {\n\t\t\tcase 'year':\n\t\t\t\tmin = 0;\n\t\t\t\tmax = 9999;\n\t\t\t\tbreak;\n\t\t\tcase 'month':\n\t\t\t\tmin = 1;\n\t\t\t\tmax = 12;\n\t\t\t\tbreak;\n\t\t\tcase 'day':\n\t\t\t\tmin = 1;\n\t\t\t\tmax = this.getDaysInMonth( components.month, components.year );\n\t\t\t\tbreak;\n\t\t\tcase 'hour':\n\t\t\t\tmin = 0;\n\t\t\t\tmax = 23;\n\t\t\t\tbreak;\n\t\t\tcase 'minute':\n\t\t\tcase 'second':\n\t\t\t\tmin = 0;\n\t\t\t\tmax = 59;\n\t\t\t\tbreak;\n\t\t\tcase 'millisecond':\n\t\t\t\tmin = 0;\n\t\t\t\tmax = 999;\n\t\t\t\tbreak;\n\t\t\tcase 'hour12period':\n\t\t\t\tcomponent = 'hour';\n\t\t\t\tmin = 0;\n\t\t\t\tmax = 23;\n\t\t\t\tdelta *= 12;\n\t\t\t\tbreak;\n\t\t\tcase 'hour12':\n\t\t\t\tcomponent = 'hour';\n\t\t\t\tmin = components.hour12period ? 12 : 0;\n\t\t\t\tmax = components.hour12period ? 23 : 11;\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\treturn new Date( date.getTime() );\n\t\t}\n\n\t\tcomponents[ component ] += delta;\n\t\tconst range = max - min + 1;\n\t\tswitch ( mode ) {\n\t\t\tcase 'overflow':\n\t\t\t\t// Date() will mostly handle it automatically. But months need\n\t\t\t\t// manual handling to prevent e.g. Jan 31 => Mar 3.\n\t\t\t\tif ( component === 'month' || component === 'year' ) {\n\t\t\t\t\twhile ( components.month < 1 ) {\n\t\t\t\t\t\tcomponents[ component ] += 12;\n\t\t\t\t\t\tcomponents.year--;\n\t\t\t\t\t}\n\t\t\t\t\twhile ( components.month > 12 ) {\n\t\t\t\t\t\tcomponents[ component ] -= 12;\n\t\t\t\t\t\tcomponents.year++;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 'wrap':\n\t\t\t\twhile ( components[ component ] < min ) {\n\t\t\t\t\tcomponents[ component ] += range;\n\t\t\t\t}\n\t\t\t\twhile ( components[ component ] > max ) {\n\t\t\t\t\tcomponents[ component ] -= range;\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 'clip':\n\t\t\t\tif ( components[ component ] < min ) {\n\t\t\t\t\tcomponents[ component ] = min;\n\t\t\t\t}\n\t\t\t\tif ( components[ component ] < max ) {\n\t\t\t\t\tcomponents[ component ] = max;\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t}\n\t\tif ( component === 'month' || component === 'year' ) {\n\t\t\tcomponents.day = Math.min( components.day, this.getDaysInMonth( components.month, components.year ) );\n\t\t}\n\n\t\treturn this.getDateFromComponents( components );\n\t};\n\n\t/**\n\t * Get the number of days in a month.\n\t *\n\t * @protected\n\t * @param {number} month\n\t * @param {number} year\n\t * @return {number}\n\t */\n\tmw.widgets.datetime.ProlepticGregorianDateTimeFormatter.prototype.getDaysInMonth = function ( month, year ) {\n\t\tswitch ( month ) {\n\t\t\tcase 4:\n\t\t\tcase 6:\n\t\t\tcase 9:\n\t\t\tcase 11:\n\t\t\t\treturn 30;\n\t\t\tcase 2:\n\t\t\t\tif ( year % 4 ) {\n\t\t\t\t\treturn 28;\n\t\t\t\t} else if ( year % 100 ) {\n\t\t\t\t\treturn 29;\n\t\t\t\t}\n\t\t\t\treturn ( year % 400 ) ? 28 : 29;\n\t\t\tdefault:\n\t\t\t\treturn 31;\n\t\t}\n\t};\n\n\t/**\n\t * @inheritdoc\n\t */\n\tmw.widgets.datetime.ProlepticGregorianDateTimeFormatter.prototype.getCalendarHeadings = function () {\n\t\tconst a = this.dayLetters;\n\n\t\tif ( this.weekStartsOn ) {\n\t\t\treturn a.slice( this.weekStartsOn ).concat( a.slice( 0, this.weekStartsOn ) );\n\t\t} else {\n\t\t\treturn a.slice( 0 ); // clone\n\t\t}\n\t};\n\n\t/**\n\t * @inheritdoc\n\t */\n\tmw.widgets.datetime.ProlepticGregorianDateTimeFormatter.prototype.sameCalendarGrid = function ( date1, date2 ) {\n\t\tif ( this.local ) {\n\t\t\treturn date1.getFullYear() === date2.getFullYear() && date1.getMonth() === date2.getMonth();\n\t\t} else {\n\t\t\treturn date1.getUTCFullYear() === date2.getUTCFullYear() && date1.getUTCMonth() === date2.getUTCMonth();\n\t\t}\n\t};\n\n\t/**\n\t * @inheritdoc\n\t */\n\tmw.widgets.datetime.ProlepticGregorianDateTimeFormatter.prototype.getCalendarData = function ( date ) {\n\t\tconst getDate = this.local ? 'getDate' : 'getUTCDate',\n\t\t\tsetDate = this.local ? 'setDate' : 'setUTCDate';\n\n\t\tconst ret = {\n\t\t\tdayComponent: 'day',\n\t\t\tmonthComponent: 'month'\n\t\t};\n\n\t\tif ( !( date instanceof Date ) ) {\n\t\t\tdate = this.defaultDate;\n\t\t}\n\n\t\tlet dt = new Date( date.getTime() );\n\t\tdt[ setDate ]( 1 );\n\t\tconst t = dt.getTime();\n\n\t\tlet d, e;\n\t\tif ( this.local ) {\n\t\t\tret.header = this.fullMonthNames[ dt.getMonth() + 1 ] + ' ' + dt.getFullYear();\n\t\t\td = dt.getDay() % 7;\n\t\t\te = this.getDaysInMonth( dt.getMonth() + 1, dt.getFullYear() );\n\t\t} else {\n\t\t\tret.header = this.fullMonthNames[ dt.getUTCMonth() + 1 ] + ' ' + dt.getUTCFullYear();\n\t\t\td = dt.getUTCDay() % 7;\n\t\t\te = this.getDaysInMonth( dt.getUTCMonth() + 1, dt.getUTCFullYear() );\n\t\t}\n\n\t\tif ( this.weekStartsOn ) {\n\t\t\td = ( d + 7 - this.weekStartsOn ) % 7;\n\t\t}\n\t\td = 1 - d;\n\n\t\tret.rows = [];\n\t\twhile ( d <= e ) {\n\t\t\tconst row = [];\n\t\t\tfor ( let i = 0; i < 7; i++, d++ ) {\n\t\t\t\tdt = new Date( t );\n\t\t\t\tdt[ setDate ]( d );\n\t\t\t\trow[ i ] = {\n\t\t\t\t\tdisplay: String( dt[ getDate ]() ),\n\t\t\t\t\tdate: dt,\n\t\t\t\t\textra: d < 1 ? 'prev' : d > e ? 'next' : null\n\t\t\t\t};\n\t\t\t}\n\t\t\tret.rows.push( row );\n\t\t}\n\n\t\treturn ret;\n\t};\n\n}() );\n","usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.widgets.datetime/mediawiki.widgets.datetime.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.widgets.visibleLengthLimit/mediawiki.widgets.visibleLengthLimit.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.widgets/.stylelintrc.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.widgets/MediaSearch/mw.widgets.APIResultsProvider.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.widgets/MediaSearch/mw.widgets.APIResultsQueue.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.widgets/MediaSearch/mw.widgets.MediaResourceProvider.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.widgets/MediaSearch/mw.widgets.MediaResourceQueue.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.widgets/MediaSearch/mw.widgets.MediaResultWidget.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.widgets/MediaSearch/mw.widgets.MediaSearchProvider.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.widgets/MediaSearch/mw.widgets.MediaSearchQueue.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.widgets/MediaSearch/mw.widgets.MediaSearchWidget.js","messages":[],"suppressedMessages":[{"ruleId":"no-jquery/no-sizzle","severity":2,"message":"Selector extensions are not allowed","line":453,"column":8,"nodeType":"CallExpression","endLine":453,"endColumn":38,"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.widgets/MediaSearch/mw.widgets.MediaUserUploadsProvider.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.widgets/MediaSearch/mw.widgets.MediaUserUploadsQueue.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.widgets/Table/mw.widgets.RowWidget.js","messages":[{"ruleId":"mediawiki/no-unlabeled-buttonwidget","severity":1,"message":"OOUI button has no label. Even icon-only buttons should set a label with invisibleLabel set to true.","line":47,"column":23,"nodeType":"NewExpression","messageId":"noLabel","endLine":52,"endColumn":6}],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"/**\n * @classdesc Table row widget. A RowWidget is used in conjunction with\n * {@link mw.widgets.TableWidget table widgets} and should not be instantiated by themselves.\n * They group together {@link OO.ui.TextInputWidget text input widgets} to form a unified row of\n * editable data.\n *\n * @class\n * @extends OO.ui.Widget\n * @mixes OO.ui.mixin.GroupElement\n *\n * @constructor\n * @description Create an instance of `mw.widgets.RowWidget`.\n * @param {Object} [config] Configuration options\n * @param {Array} [config.data] The data of the cells\n * @param {Array} [config.keys] An array of keys for easy cell selection\n * @param {RegExp|Function|string} [config.validate] Validation pattern to apply on every cell\n * @param {number} [config.index] The row index.\n * @param {string} [config.label] The row label to display. If not provided, the row index will\n * be used be default. If set to null, no label will be displayed.\n * @param {boolean} [config.showLabel=true] Show row label. Defaults to true.\n * @param {boolean} [config.deletable=true] Whether the table should provide deletion UI tools\n * for this row or not. Defaults to true.\n */\nmw.widgets.RowWidget = function MwWidgetsRowWidget( config = {} ) {\n\t// Parent constructor\n\tmw.widgets.RowWidget.super.call( this, config );\n\n\t// Mixin constructor\n\tOO.ui.mixin.GroupElement.call( this, config );\n\n\t// Set up model\n\tthis.model = new mw.widgets.RowWidgetModel( config );\n\n\t// Set up group element\n\tthis.setGroupElement(\n\t\t$( '<div>' )\n\t\t\t.addClass( 'mw-widgets-rowWidget-cells' )\n\t);\n\n\t// Set up label\n\tthis.labelCell = new OO.ui.LabelWidget( {\n\t\tclasses: [ 'mw-widgets-rowWidget-label' ]\n\t} );\n\n\t// Set up delete button\n\tif ( this.model.getRowProperties().isDeletable ) {\n\t\tthis.deleteButton = new OO.ui.ButtonWidget( {\n\t\t\ticon: 'trash',\n\t\t\tclasses: [ 'mw-widgets-rowWidget-delete-button' ],\n\t\t\tflags: 'destructive',\n\t\t\ttitle: mw.msg( 'mw-widgets-table-row-delete' )\n\t\t} );\n\t}\n\n\t// Events\n\tthis.model.connect( this, {\n\t\tvalueChange: 'onValueChange',\n\t\tinsertCell: 'onInsertCell',\n\t\tremoveCell: 'onRemoveCell',\n\t\tclear: 'onClear',\n\t\tlabelUpdate: 'onLabelUpdate'\n\t} );\n\n\tthis.aggregate( {\n\t\tchange: 'cellChange'\n\t} );\n\n\tthis.connect( this, {\n\t\tcellChange: 'onCellChange'\n\t} );\n\n\tif ( this.model.getRowProperties().isDeletable ) {\n\t\tthis.deleteButton.connect( this, {\n\t\t\tclick: 'onDeleteButtonClick'\n\t\t} );\n\t}\n\n\t// Initialization\n\tthis.$element.addClass( 'mw-widgets-rowWidget' );\n\n\tthis.$element.append(\n\t\tthis.labelCell.$element,\n\t\tthis.$group\n\t);\n\n\tif ( this.model.getRowProperties().isDeletable ) {\n\t\tthis.$element.append( this.deleteButton.$element );\n\t}\n\n\tthis.setLabel( this.model.getRowProperties().label );\n\n\tthis.model.setupRow();\n};\n\n/* Inheritance */\n\nOO.inheritClass( mw.widgets.RowWidget, OO.ui.Widget );\nOO.mixinClass( mw.widgets.RowWidget, OO.ui.mixin.GroupElement );\n\n/* Events */\n\n/**\n * Change when an input contained within the row is updated.\n *\n * @event mw.widgets.RowWidget.inputChange\n * @param {number} index The index of the cell that changed\n * @param {string} value The new value of the cell\n */\n\n/**\n * Fired when the delete button for the row is pressed.\n *\n * @event mw.widgets.RowWidget.deleteButtonClick\n */\n\n/* Methods */\n\n/**\n * @private\n * @inheritdoc\n */\nmw.widgets.RowWidget.prototype.addItems = function ( items, index ) {\n\tlet i, len;\n\n\tOO.ui.mixin.GroupElement.prototype.addItems.call( this, items, index );\n\n\tfor ( i = index, len = items.length; i < len; i++ ) {\n\t\titems[ i ].setData( i );\n\t}\n};\n\n/**\n * @private\n * @inheritdoc\n */\nmw.widgets.RowWidget.prototype.removeItems = function ( items ) {\n\tOO.ui.mixin.GroupElement.prototype.removeItems.call( this, items );\n\n\tconst cells = this.getItems();\n\tfor ( let i = 0, len = cells.length; i < len; i++ ) {\n\t\tcells[ i ].setData( i );\n\t}\n};\n\n/**\n * Get the row index.\n *\n * @return {number} The row index\n */\nmw.widgets.RowWidget.prototype.getIndex = function () {\n\treturn this.model.getRowProperties().index;\n};\n\n/**\n * Set the row index.\n *\n * @param {number} index The new index\n */\nmw.widgets.RowWidget.prototype.setIndex = function ( index ) {\n\tthis.model.setIndex( index );\n};\n\n/**\n * Get the label displayed on the row. If no custom label is set, the\n * row index is used instead.\n *\n * @return {string} The row label\n */\nmw.widgets.RowWidget.prototype.getLabel = function () {\n\tconst props = this.model.getRowProperties();\n\n\tif ( props.label === null ) {\n\t\treturn '';\n\t} else if ( !props.label ) {\n\t\treturn props.index.toString();\n\t} else {\n\t\treturn props.label;\n\t}\n};\n\n/**\n * @event mw.widgets.RowWidget.labelUpdate\n * @param {string} label\n */\n\n/**\n * Set the label to be displayed on the widget.\n *\n * @param {string} label The new label\n * @fires mw.widgets.RowWidget.labelUpdate\n */\nmw.widgets.RowWidget.prototype.setLabel = function ( label ) {\n\tthis.model.setLabel( label );\n};\n\n/**\n * Set the value of a particular cell.\n *\n * @param {number} index The cell index\n * @param {string} value The new value\n */\nmw.widgets.RowWidget.prototype.setValue = function ( index, value ) {\n\tthis.model.setValue( index, value );\n};\n\n/**\n * Insert a cell at a specified index.\n *\n * @param {string} data The cell data\n * @param {number} index The index to insert the cell at\n * @param {string} key A key for easy cell selection\n */\nmw.widgets.RowWidget.prototype.insertCell = function ( data, index, key ) {\n\tthis.model.insertCell( data, index, key );\n};\n\n/**\n * Removes a column at a specified index.\n *\n * @param {number} index The index to removeColumn\n */\nmw.widgets.RowWidget.prototype.removeCell = function ( index ) {\n\tthis.model.removeCell( index );\n};\n\n/**\n * Clear the field values.\n */\nmw.widgets.RowWidget.prototype.clear = function () {\n\tthis.model.clear();\n};\n\n/**\n * Handle model value changes.\n *\n * @param {number} index The column index of the updated cell\n * @param {number} value The new value\n *\n * @fires mw.widgets.RowWidget.inputChange\n */\nmw.widgets.RowWidget.prototype.onValueChange = function ( index, value ) {\n\tthis.getItems()[ index ].setValue( value );\n\tthis.emit( 'inputChange', index, value );\n};\n\n/**\n * Handle model cell insertions.\n *\n * @param {string} data The initial data\n * @param {number} index The index in which to insert the new cell\n */\nmw.widgets.RowWidget.prototype.onInsertCell = function ( data, index ) {\n\tthis.addItems( [\n\t\tnew OO.ui.TextInputWidget( {\n\t\t\tdata: index,\n\t\t\tvalue: data,\n\t\t\tvalidate: this.model.getValidationPattern()\n\t\t} )\n\t], index );\n};\n\n/**\n * Handle model cell removals.\n *\n * @param {number} index The removed cell index\n */\nmw.widgets.RowWidget.prototype.onRemoveCell = function ( index ) {\n\tthis.removeItems( [ index ] );\n};\n\n/**\n * Handle clear requests.\n */\nmw.widgets.RowWidget.prototype.onClear = function () {\n\tconst cells = this.getItems();\n\n\tfor ( let i = 0, len = cells.length; i < len; i++ ) {\n\t\tcells[ i ].setValue( '' );\n\t}\n};\n\n/**\n * Update model label changes.\n */\nmw.widgets.RowWidget.prototype.onLabelUpdate = function () {\n\tthis.labelCell.setLabel( this.getLabel() );\n};\n\n/**\n * React to cell input change.\n *\n * @private\n * @param {OO.ui.TextInputWidget} input The input that fired the event\n * @param {string} value The value of the input\n */\nmw.widgets.RowWidget.prototype.onCellChange = function ( input, value ) {\n\t// FIXME: The table itself should know if it contains invalid data\n\t// in order to pass form state to the dialog when it asks if the Apply\n\t// button should be enabled or not. This probably requires the table\n\t// and each individual row to handle validation through an array of promises\n\t// fed from the cells within.\n\t// Right now, the table can't know if it's valid or not because the events\n\t// don't get passed through.\n\tinput.getValidity().done( () => {\n\t\tthis.model.setValue( input.getData(), value );\n\t} );\n};\n\n/**\n * Handle delete button clicks.\n *\n * @private\n * @fires mw.widgets.RowWidget.deleteButtonClick\n */\nmw.widgets.RowWidget.prototype.onDeleteButtonClick = function () {\n\tthis.emit( 'deleteButtonClick' );\n};\n\n/**\n * @inheritdoc\n */\nmw.widgets.RowWidget.prototype.setDisabled = function ( disabled ) {\n\t// Parent method\n\tmw.widgets.RowWidget.super.prototype.setDisabled.call( this, disabled );\n\n\tif ( !this.items ) {\n\t\treturn;\n\t}\n\n\tif ( this.model.getRowProperties().isDeletable ) {\n\t\tthis.deleteButton.setDisabled( disabled );\n\t}\n\n\tthis.getItems().forEach( ( cell ) => {\n\t\tcell.setDisabled( disabled );\n\t} );\n};\n","usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.widgets/Table/mw.widgets.RowWidgetModel.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.widgets/Table/mw.widgets.TableWidget.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.widgets/Table/mw.widgets.TableWidgetModel.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.widgets/index.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.widgets/mw.widgets.AbandonEditDialog.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.widgets/mw.widgets.CalendarWidget.js","messages":[{"ruleId":"mediawiki/no-unlabeled-buttonwidget","severity":1,"message":"OOUI button has no label. Even icon-only buttons should set a label with invisibleLabel set to true.","line":355,"column":22,"nodeType":"NewExpression","messageId":"noLabel","endLine":360,"endColumn":6},{"ruleId":"mediawiki/no-unlabeled-buttonwidget","severity":1,"message":"OOUI button has no label. Even icon-only buttons should set a label with invisibleLabel set to true.","line":363,"column":19,"nodeType":"NewExpression","messageId":"noLabel","endLine":368,"endColumn":6},{"ruleId":"mediawiki/no-unlabeled-buttonwidget","severity":1,"message":"OOUI button has no label. Even icon-only buttons should set a label with invisibleLabel set to true.","line":369,"column":21,"nodeType":"NewExpression","messageId":"noLabel","endLine":374,"endColumn":6},{"ruleId":"mediawiki/no-unlabeled-buttonwidget","severity":1,"message":"OOUI button has no label. Even icon-only buttons should set a label with invisibleLabel set to true.","line":375,"column":21,"nodeType":"NewExpression","messageId":"noLabel","endLine":380,"endColumn":6}],"suppressedMessages":[{"ruleId":"no-case-declarations","severity":2,"message":"Unexpected lexical declaration in case block.","line":212,"column":5,"nodeType":"VariableDeclaration","messageId":"unexpected","endLine":212,"endColumn":104,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-case-declarations","severity":2,"message":"Unexpected lexical declaration in case block.","line":250,"column":5,"nodeType":"VariableDeclaration","messageId":"unexpected","endLine":250,"endColumn":66,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-case-declarations","severity":2,"message":"Unexpected lexical declaration in case block.","line":283,"column":5,"nodeType":"VariableDeclaration","messageId":"unexpected","endLine":283,"endColumn":21,"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":4,"fixableErrorCount":0,"fixableWarningCount":0,"source":"/*!\n * MediaWiki Widgets – CalendarWidget class.\n *\n * @copyright 2011-2015 MediaWiki Widgets Team and others; see AUTHORS.txt\n * @license The MIT License (MIT); see LICENSE.txt\n */\n/* global moment */\n( function () {\n\n\t/**\n\t * @classdesc Calendar widget.\n\t *\n\t * You will most likely want to use {@link mw.widgets.DateInputWidget} instead of CalendarWidget directly.\n\t *\n\t * @class\n\t * @extends OO.ui.Widget\n\t * @mixes OO.ui.mixin.TabIndexedElement\n\t * @mixes OO.ui.mixin.FloatableElement\n\t * @mixes OO.ui.mixin.ClippableElement\n\t *\n\t * @constructor\n\t * @description Creates an mw.widgets.CalendarWidget object.\n\t * @param {Object} [config] Configuration options\n\t * @param {boolean} [config.lazyInitOnToggle=false] Don't build most of the interface until\n\t * `.toggle( true )` is called. Meant to be used when the calendar is not immediately visible.\n\t * @param {string} [config.precision='day'] Date precision to use, 'day' or 'month'\n\t * @param {string|null} [config.duoDecade='prev'] Alignment of years to display in picker, use 'prev' or 'next'\n\t * 'prev' is previous and current decades\n\t * 'next' is current and next decades\n\t * @param {string|null} [config.date=null] Day or month date (depending on `precision`), in the format\n\t * 'YYYY-MM-DD' or 'YYYY-MM'. When null, the calendar will show today's date, but not select\n\t * it.\n\t */\n\tmw.widgets.CalendarWidget = function MWWCalendarWidget( config = {} ) {\n\t\t// Parent constructor\n\t\tmw.widgets.CalendarWidget.super.call( this, config );\n\n\t\t// Mixin constructors\n\t\tOO.ui.mixin.TabIndexedElement.call( this, Object.assign( {}, config, { $tabIndexed: this.$element } ) );\n\t\tOO.ui.mixin.ClippableElement.call( this, Object.assign( { $clippable: this.$element }, config ) );\n\t\tOO.ui.mixin.FloatableElement.call( this, config );\n\n\t\t// Flipping implementation derived from MenuSelectWidget\n\t\t// Initial vertical positions other than 'center' will result in\n\t\t// the menu being flipped if there is not enough space in the container.\n\t\t// Store the original position so we know what to reset to.\n\t\tthis.originalVerticalPosition = this.verticalPosition;\n\n\t\t// Properties\n\t\tthis.lazyInitOnToggle = !!config.lazyInitOnToggle;\n\t\tthis.precision = config.precision || 'day';\n\t\tthis.duoDecade = config.duoDecade || 'prev';\n\t\t// Currently selected date (day or month)\n\t\tthis.date = null;\n\t\t// Current UI state (date and precision we're displaying right now)\n\t\tthis.moment = null;\n\t\tthis.displayLayer = this.getDisplayLayers()[ 0 ]; // 'month', 'year', 'duodecade'\n\n\t\tthis.$header = $( '<div>' ).addClass( 'mw-widget-calendarWidget-header' );\n\t\tthis.$bodyOuterWrapper = $( '<div>' ).addClass( 'mw-widget-calendarWidget-body-outer-wrapper' );\n\t\tthis.$bodyWrapper = $( '<div>' ).addClass( 'mw-widget-calendarWidget-body-wrapper' );\n\t\tthis.$body = $( '<div>' ).addClass( 'mw-widget-calendarWidget-body' );\n\n\t\t// Events\n\t\tthis.$element.on( {\n\t\t\tfocus: this.onFocus.bind( this ),\n\t\t\tmousedown: this.onClick.bind( this ),\n\t\t\tkeydown: this.onKeyDown.bind( this )\n\t\t} );\n\n\t\t// Initialization\n\t\tthis.$element\n\t\t\t.addClass( 'mw-widget-calendarWidget' )\n\t\t\t.append( this.$header, this.$bodyOuterWrapper.append( this.$bodyWrapper.append( this.$body ) ) );\n\t\tif ( !this.lazyInitOnToggle ) {\n\t\t\tthis.buildHeaderButtons();\n\t\t}\n\t\tthis.setDate( config.date !== undefined ? config.date : null );\n\t};\n\n\t/* Inheritance */\n\n\tOO.inheritClass( mw.widgets.CalendarWidget, OO.ui.Widget );\n\tOO.mixinClass( mw.widgets.CalendarWidget, OO.ui.mixin.TabIndexedElement );\n\tOO.mixinClass( mw.widgets.CalendarWidget, OO.ui.mixin.FloatableElement );\n\tOO.mixinClass( mw.widgets.CalendarWidget, OO.ui.mixin.ClippableElement );\n\n\t/* Events */\n\n\t/**\n\t * A change event is emitted when the chosen date changes.\n\t *\n\t * @event mw.widgets.CalendarWidget.change\n\t * @param {string} date Day or month date, in the format 'YYYY-MM-DD' or 'YYYY-MM'\n\t */\n\n\t/* Static properties */\n\n\t/**\n\t * Positions to flip to if there isn't room in the container for the\n\t * menu in a specific direction.\n\t *\n\t * @name mw.widgets.CalendarWidget.flippedPositions\n\t * @type {Object.<string,string>}\n\t */\n\tmw.widgets.CalendarWidget.static.flippedPositions = {\n\t\tbelow: 'above',\n\t\tabove: 'below',\n\t\ttop: 'bottom',\n\t\tbottom: 'top'\n\t};\n\n\t/* Methods */\n\n\t/**\n\t * Get the date format ('YYYY-MM-DD' or 'YYYY-MM', depending on precision), which is used\n\t * internally and for dates accepted by #setDate and returned by #getDate.\n\t *\n\t * @private\n\t * @return {string} Format\n\t */\n\tmw.widgets.CalendarWidget.prototype.getDateFormat = function () {\n\t\treturn {\n\t\t\tday: 'YYYY-MM-DD',\n\t\t\tmonth: 'YYYY-MM'\n\t\t}[ this.precision ];\n\t};\n\n\t/**\n\t * Get the date precision this calendar uses, 'day' or 'month'.\n\t *\n\t * @private\n\t * @return {string} Precision, 'day' or 'month'\n\t */\n\tmw.widgets.CalendarWidget.prototype.getPrecision = function () {\n\t\treturn this.precision;\n\t};\n\n\t/**\n\t * Get list of possible display layers.\n\t *\n\t * @private\n\t * @return {string[]} Layers\n\t */\n\tmw.widgets.CalendarWidget.prototype.getDisplayLayers = function () {\n\t\treturn [ 'month', 'year', 'duodecade' ].slice( this.precision === 'month' ? 1 : 0 );\n\t};\n\n\t/**\n\t * Update the calendar.\n\t *\n\t * @private\n\t * @param {string|null} [fade=null] Direction in which to fade out current calendar contents,\n\t * 'previous', 'next', 'up' or 'down'; or 'auto', which has the same result as 'previous' or\n\t * 'next' depending on whether the current date is later or earlier than the previous.\n\t */\n\tmw.widgets.CalendarWidget.prototype.updateUI = function ( fade ) {\n\t\tconst $bodyWrapper = this.$bodyWrapper;\n\n\t\tif ( this.lazyInitOnToggle ) {\n\t\t\t// We're being called from the constructor and not being shown yet, do nothing\n\t\t\treturn;\n\t\t}\n\n\t\tif (\n\t\t\tthis.displayLayer === this.previousDisplayLayer &&\n\t\t\tthis.date === this.previousDate &&\n\t\t\tthis.previousMoment &&\n\t\t\tthis.previousMoment.isSame( this.moment, this.precision === 'month' ? 'month' : 'day' )\n\t\t) {\n\t\t\t// Already displayed\n\t\t\treturn;\n\t\t}\n\n\t\tif ( fade === 'auto' ) {\n\t\t\tif ( !this.previousMoment ) {\n\t\t\t\tfade = null;\n\t\t\t} else if ( this.previousMoment.isBefore( this.moment, this.precision === 'month' ? 'month' : 'day' ) ) {\n\t\t\t\tfade = 'next';\n\t\t\t} else if ( this.previousMoment.isAfter( this.moment, this.precision === 'month' ? 'month' : 'day' ) ) {\n\t\t\t\tfade = 'previous';\n\t\t\t} else {\n\t\t\t\tfade = null;\n\t\t\t}\n\t\t}\n\n\t\tlet items = [];\n\t\tif ( this.$oldBody ) {\n\t\t\tthis.$oldBody.remove();\n\t\t}\n\t\tthis.$oldBody = this.$body.addClass( 'mw-widget-calendarWidget-old-body' );\n\t\t// Clone without children\n\t\tthis.$body = $( this.$body[ 0 ].cloneNode( false ) )\n\t\t\t.removeClass( 'mw-widget-calendarWidget-old-body' )\n\t\t\t.toggleClass( 'mw-widget-calendarWidget-body-month', this.displayLayer === 'month' )\n\t\t\t.toggleClass( 'mw-widget-calendarWidget-body-year', this.displayLayer === 'year' )\n\t\t\t.toggleClass( 'mw-widget-calendarWidget-body-duodecade', this.displayLayer === 'duodecade' );\n\n\t\tconst today = moment();\n\t\tconst selected = moment( this.getDate(), this.getDateFormat() );\n\n\t\tswitch ( this.displayLayer ) {\n\t\t\tcase 'month':\n\t\t\t\tthis.labelButton.setLabel( this.moment.format( 'MMMM YYYY' ) );\n\t\t\t\tthis.labelButton.toggle( true );\n\t\t\t\tthis.upButton.toggle( true );\n\n\t\t\t\t// First week displayed is the first week spanned by the month, unless it begins on Monday, in\n\t\t\t\t// which case first week displayed is the previous week. This makes the calendar \"balanced\"\n\t\t\t\t// and also neatly handles 28-day February sometimes spanning only 4 weeks.\n\t\t\t\t// eslint-disable-next-line no-case-declarations\n\t\t\t\tconst currentDay = moment( this.moment ).startOf( 'month' ).subtract( 1, 'day' ).startOf( 'week' );\n\n\t\t\t\t// Day-of-week labels. Localisation-independent: works with weeks starting on Saturday, Sunday\n\t\t\t\t// or Monday.\n\t\t\t\tfor ( let w = 0; w < 7; w++ ) {\n\t\t\t\t\titems.push(\n\t\t\t\t\t\t$( '<div>' )\n\t\t\t\t\t\t\t.addClass( 'mw-widget-calendarWidget-day-heading' )\n\t\t\t\t\t\t\t.text( currentDay.format( 'dd' ) )\n\t\t\t\t\t);\n\t\t\t\t\tcurrentDay.add( 1, 'day' );\n\t\t\t\t}\n\t\t\t\tcurrentDay.subtract( 7, 'days' );\n\n\t\t\t\t// Actual calendar month. Always displays 6 weeks, for consistency (months can span 4 to 6\n\t\t\t\t// weeks).\n\t\t\t\tfor ( let i = 0; i < 42; i++ ) {\n\t\t\t\t\titems.push(\n\t\t\t\t\t\t$( '<div>' )\n\t\t\t\t\t\t\t.addClass( 'mw-widget-calendarWidget-item mw-widget-calendarWidget-day' )\n\t\t\t\t\t\t\t.toggleClass( 'mw-widget-calendarWidget-day-additional', !currentDay.isSame( this.moment, 'month' ) )\n\t\t\t\t\t\t\t.toggleClass( 'mw-widget-calendarWidget-day-today', currentDay.isSame( today, 'day' ) )\n\t\t\t\t\t\t\t.toggleClass( 'mw-widget-calendarWidget-item-selected', currentDay.isSame( selected, 'day' ) )\n\t\t\t\t\t\t\t.text( currentDay.format( 'D' ) )\n\t\t\t\t\t\t\t.data( 'date', currentDay.date() )\n\t\t\t\t\t\t\t.data( 'month', currentDay.month() )\n\t\t\t\t\t\t\t.data( 'year', currentDay.year() )\n\t\t\t\t\t);\n\t\t\t\t\tcurrentDay.add( 1, 'day' );\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase 'year':\n\t\t\t\tthis.labelButton.setLabel( this.moment.format( 'YYYY' ) );\n\t\t\t\tthis.labelButton.toggle( true );\n\t\t\t\tthis.upButton.toggle( true );\n\n\t\t\t\t// eslint-disable-next-line no-case-declarations\n\t\t\t\tconst currentMonth = moment( this.moment ).startOf( 'year' );\n\t\t\t\tfor ( let m = 0; m < 12; m++ ) {\n\t\t\t\t\titems.push(\n\t\t\t\t\t\t$( '<div>' )\n\t\t\t\t\t\t\t.addClass( 'mw-widget-calendarWidget-item mw-widget-calendarWidget-month' )\n\t\t\t\t\t\t\t.toggleClass( 'mw-widget-calendarWidget-item-selected', currentMonth.isSame( selected, 'month' ) )\n\t\t\t\t\t\t\t.text( currentMonth.format( 'MMMM' ) )\n\t\t\t\t\t\t\t.data( 'month', currentMonth.month() )\n\t\t\t\t\t);\n\t\t\t\t\tcurrentMonth.add( 1, 'month' );\n\t\t\t\t}\n\t\t\t\t// Shuffle the array to display months in columns rather than rows:\n\t\t\t\t// | Jan | Jul |\n\t\t\t\t// | Feb | Aug |\n\t\t\t\t// | Mar | Sep |\n\t\t\t\t// | Apr | Oct |\n\t\t\t\t// | May | Nov |\n\t\t\t\t// | Jun | Dec |\n\t\t\t\titems = [\n\t\t\t\t\titems[ 0 ], items[ 6 ],\n\t\t\t\t\titems[ 1 ], items[ 7 ],\n\t\t\t\t\titems[ 2 ], items[ 8 ],\n\t\t\t\t\titems[ 3 ], items[ 9 ],\n\t\t\t\t\titems[ 4 ], items[ 10 ],\n\t\t\t\t\titems[ 5 ], items[ 11 ]\n\t\t\t\t];\n\t\t\t\tbreak;\n\n\t\t\tcase 'duodecade':\n\t\t\t\tthis.labelButton.setLabel( null );\n\t\t\t\tthis.labelButton.toggle( false );\n\t\t\t\tthis.upButton.toggle( false );\n\t\t\t\t// eslint-disable-next-line no-case-declarations\n\t\t\t\tlet currentYear;\n\t\t\t\tif ( this.duoDecade === 'prev' ) {\n\t\t\t\t\tcurrentYear = moment( { year: Math.floor( ( this.moment.year() - 10 ) / 10 ) * 10 } );\n\t\t\t\t} else if ( this.duoDecade === 'next' ) {\n\t\t\t\t\tcurrentYear = moment( { year: Math.floor( this.moment.year() / 10 ) * 10 } );\n\t\t\t\t}\n\t\t\t\tfor ( let y = 0; y < 20; y++ ) {\n\t\t\t\t\titems.push(\n\t\t\t\t\t\t$( '<div>' )\n\t\t\t\t\t\t\t.addClass( 'mw-widget-calendarWidget-item mw-widget-calendarWidget-year' )\n\t\t\t\t\t\t\t.toggleClass( 'mw-widget-calendarWidget-item-selected', currentYear.isSame( selected, 'year' ) )\n\t\t\t\t\t\t\t.text( currentYear.format( 'YYYY' ) )\n\t\t\t\t\t\t\t.data( 'year', currentYear.year() )\n\t\t\t\t\t);\n\t\t\t\t\tcurrentYear.add( 1, 'year' );\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t}\n\n\t\tthis.$body.append( ...items );\n\n\t\t$bodyWrapper\n\t\t\t.removeClass( 'mw-widget-calendarWidget-body-wrapper-fade-up' )\n\t\t\t.removeClass( 'mw-widget-calendarWidget-body-wrapper-fade-down' )\n\t\t\t.removeClass( 'mw-widget-calendarWidget-body-wrapper-fade-previous' )\n\t\t\t.removeClass( 'mw-widget-calendarWidget-body-wrapper-fade-next' );\n\n\t\tlet needsFade = this.previousDisplayLayer !== this.displayLayer;\n\t\tif ( this.displayLayer === 'month' ) {\n\t\t\tneedsFade = needsFade || !this.moment.isSame( this.previousMoment, 'month' );\n\t\t} else if ( this.displayLayer === 'year' ) {\n\t\t\tneedsFade = needsFade || !this.moment.isSame( this.previousMoment, 'year' );\n\t\t} else if ( this.displayLayer === 'duodecade' ) {\n\t\t\tneedsFade = needsFade || (\n\t\t\t\tMath.floor( this.moment.year() / 20 ) * 20 !==\n\t\t\t\t\tMath.floor( this.previousMoment.year() / 20 ) * 20\n\t\t\t);\n\t\t}\n\n\t\tif ( fade && needsFade ) {\n\t\t\tthis.$oldBody.find( '.mw-widget-calendarWidget-item-selected' )\n\t\t\t\t.removeClass( 'mw-widget-calendarWidget-item-selected' );\n\t\t\tif ( fade === 'previous' || fade === 'up' ) {\n\t\t\t\tthis.$body.insertBefore( this.$oldBody );\n\t\t\t} else if ( fade === 'next' || fade === 'down' ) {\n\t\t\t\tthis.$body.insertAfter( this.$oldBody );\n\t\t\t}\n\t\t\tsetTimeout( () => {\n\t\t\t\t// The following classes are used here:\n\t\t\t\t// * mw-widget-calendarWidget-body-wrapper-fade-up\n\t\t\t\t// * mw-widget-calendarWidget-body-wrapper-fade-down\n\t\t\t\t// * mw-widget-calendarWidget-body-wrapper-fade-previous\n\t\t\t\t// * mw-widget-calendarWidget-body-wrapper-fade-next\n\t\t\t\t$bodyWrapper.addClass( 'mw-widget-calendarWidget-body-wrapper-fade-' + fade );\n\t\t\t} );\n\t\t} else {\n\t\t\tthis.$oldBody.replaceWith( this.$body );\n\t\t}\n\n\t\tthis.previousMoment = moment( this.moment );\n\t\tthis.previousDisplayLayer = this.displayLayer;\n\t\tthis.previousDate = this.date;\n\n\t\tthis.$body.on( 'click', this.onBodyClick.bind( this ) );\n\t};\n\n\t/**\n\t * Construct and display buttons to navigate the calendar.\n\t *\n\t * @private\n\t */\n\tmw.widgets.CalendarWidget.prototype.buildHeaderButtons = function () {\n\t\tthis.labelButton = new OO.ui.ButtonWidget( {\n\t\t\ttabIndex: -1,\n\t\t\tlabel: '',\n\t\t\tframed: false,\n\t\t\tclasses: [ 'mw-widget-calendarWidget-labelButton' ]\n\t\t} );\n\t\t// FIXME This button is actually not clickable because labelButton covers it,\n\t\t// should it just be a plain icon?\n\t\tthis.upButton = new OO.ui.ButtonWidget( {\n\t\t\ttabIndex: -1,\n\t\t\tframed: false,\n\t\t\ticon: 'collapse',\n\t\t\tclasses: [ 'mw-widget-calendarWidget-upButton' ]\n\t\t} );\n\t\tthis.prevButton = new OO.ui.ButtonWidget( {\n\t\t\ttabIndex: -1,\n\t\t\tframed: false,\n\t\t\ticon: 'previous',\n\t\t\tclasses: [ 'mw-widget-calendarWidget-prevButton' ]\n\t\t} );\n\t\tthis.nextButton = new OO.ui.ButtonWidget( {\n\t\t\ttabIndex: -1,\n\t\t\tframed: false,\n\t\t\ticon: 'next',\n\t\t\tclasses: [ 'mw-widget-calendarWidget-nextButton' ]\n\t\t} );\n\n\t\tthis.labelButton.connect( this, { click: 'onUpButtonClick' } );\n\t\tthis.upButton.connect( this, { click: 'onUpButtonClick' } );\n\t\tthis.prevButton.connect( this, { click: 'onPrevButtonClick' } );\n\t\tthis.nextButton.connect( this, { click: 'onNextButtonClick' } );\n\n\t\tthis.$header.append(\n\t\t\tthis.prevButton.$element,\n\t\t\tthis.nextButton.$element,\n\t\t\tthis.labelButton.$element,\n\t\t\tthis.upButton.$element\n\t\t);\n\t};\n\n\t/**\n\t * Handle click events on the \"up\" button, switching to less precise view.\n\t *\n\t * @private\n\t */\n\tmw.widgets.CalendarWidget.prototype.onUpButtonClick = function () {\n\t\tconst\n\t\t\tlayers = this.getDisplayLayers(),\n\t\t\tcurrentLayer = layers.indexOf( this.displayLayer );\n\t\tif ( currentLayer !== layers.length - 1 ) {\n\t\t\t// One layer up\n\t\t\tthis.displayLayer = layers[ currentLayer + 1 ];\n\t\t\tthis.updateUI( 'up' );\n\t\t} else {\n\t\t\tthis.updateUI();\n\t\t}\n\t};\n\n\t/**\n\t * Handle click events on the \"previous\" button, switching to previous pane.\n\t *\n\t * @private\n\t */\n\tmw.widgets.CalendarWidget.prototype.onPrevButtonClick = function () {\n\t\tswitch ( this.displayLayer ) {\n\t\t\tcase 'month':\n\t\t\t\tthis.moment.subtract( 1, 'month' );\n\t\t\t\tbreak;\n\t\t\tcase 'year':\n\t\t\t\tthis.moment.subtract( 1, 'year' );\n\t\t\t\tbreak;\n\t\t\tcase 'duodecade':\n\t\t\t\tthis.moment.subtract( 20, 'years' );\n\t\t\t\tbreak;\n\t\t}\n\t\tthis.updateUI( 'previous' );\n\t};\n\n\t/**\n\t * Handle click events on the \"next\" button, switching to next pane.\n\t *\n\t * @private\n\t */\n\tmw.widgets.CalendarWidget.prototype.onNextButtonClick = function () {\n\t\tswitch ( this.displayLayer ) {\n\t\t\tcase 'month':\n\t\t\t\tthis.moment.add( 1, 'month' );\n\t\t\t\tbreak;\n\t\t\tcase 'year':\n\t\t\t\tthis.moment.add( 1, 'year' );\n\t\t\t\tbreak;\n\t\t\tcase 'duodecade':\n\t\t\t\tthis.moment.add( 20, 'years' );\n\t\t\t\tbreak;\n\t\t}\n\t\tthis.updateUI( 'next' );\n\t};\n\n\t/**\n\t * Handle click events anywhere in the body of the widget, which contains the matrix of days,\n\t * months or years to choose. Maybe change the pane or switch to more precise view, depending on\n\t * what gets clicked.\n\t *\n\t * @private\n\t * @param {jQuery.Event} e Click event\n\t */\n\tmw.widgets.CalendarWidget.prototype.onBodyClick = function ( e ) {\n\t\tconst\n\t\t\t$target = $( e.target ),\n\t\t\tlayers = this.getDisplayLayers(),\n\t\t\tcurrentLayer = layers.indexOf( this.displayLayer );\n\t\tif ( $target.data( 'year' ) !== undefined ) {\n\t\t\tthis.moment.year( $target.data( 'year' ) );\n\t\t}\n\t\tif ( $target.data( 'month' ) !== undefined ) {\n\t\t\tthis.moment.month( $target.data( 'month' ) );\n\t\t}\n\t\tif ( $target.data( 'date' ) !== undefined ) {\n\t\t\tthis.moment.date( $target.data( 'date' ) );\n\t\t}\n\t\tif ( currentLayer === 0 ) {\n\t\t\tthis.setDateFromMoment();\n\t\t\tthis.updateUI( 'auto' );\n\t\t} else {\n\t\t\t// One layer down\n\t\t\tthis.displayLayer = layers[ currentLayer - 1 ];\n\t\t\tthis.updateUI( 'down' );\n\t\t}\n\t};\n\n\t/**\n\t * Set the date.\n\t *\n\t * @param {string|null} [date=null] Day or month date, in the format 'YYYY-MM-DD' or 'YYYY-MM'.\n\t * When null, the calendar will show today's date, but not select it. When invalid, the date\n\t * is not changed.\n\t */\n\tmw.widgets.CalendarWidget.prototype.setDate = function ( date ) {\n\t\tconst mom = date !== null ? moment( date, this.getDateFormat() ) : moment();\n\t\tif ( mom.isValid() ) {\n\t\t\tthis.moment = mom;\n\t\t\tif ( date !== null ) {\n\t\t\t\tthis.setDateFromMoment();\n\t\t\t} else if ( this.date !== null ) {\n\t\t\t\tthis.date = null;\n\t\t\t\tthis.emit( 'change', this.date );\n\t\t\t}\n\t\t\tthis.displayLayer = this.getDisplayLayers()[ 0 ];\n\t\t\tthis.updateUI();\n\t\t}\n\t};\n\n\t/**\n\t * Set the date that is shown in the calendar, but not the selected date.\n\t *\n\t * @param {Object} mom Moment object\n\t */\n\tmw.widgets.CalendarWidget.prototype.setMoment = function ( mom ) {\n\t\tif ( mom.isValid() ) {\n\t\t\tthis.moment = mom;\n\t\t\tthis.updateUI();\n\t\t}\n\t};\n\n\t/**\n\t * Reset the user interface of this widget to reflect selected date.\n\t */\n\tmw.widgets.CalendarWidget.prototype.resetUI = function () {\n\t\tthis.moment = this.getDate() !== null ? moment( this.getDate(), this.getDateFormat() ) : moment();\n\t\tthis.displayLayer = this.getDisplayLayers()[ 0 ];\n\t\tthis.updateUI();\n\t};\n\n\t/**\n\t * Set the date from moment object.\n\t *\n\t * @private\n\t */\n\tmw.widgets.CalendarWidget.prototype.setDateFromMoment = function () {\n\t\t// Switch to English locale to avoid number formatting. We want the internal value to be\n\t\t// '2015-07-24' and not '٢٠١٥-٠٧-٢٤' even if the UI language is Arabic.\n\t\tconst newDate = moment( this.moment ).locale( 'en' ).format( this.getDateFormat() );\n\t\tif ( this.date !== newDate ) {\n\t\t\tthis.date = newDate;\n\t\t\tthis.emit( 'change', this.date );\n\t\t}\n\t};\n\n\t/**\n\t * Get current date, in the format 'YYYY-MM-DD' or 'YYYY-MM', depending on precision. Digits will\n\t * not be localised.\n\t *\n\t * @return {string|null} Date string\n\t */\n\tmw.widgets.CalendarWidget.prototype.getDate = function () {\n\t\treturn this.date;\n\t};\n\n\t/**\n\t * Handle focus events.\n\t *\n\t * @private\n\t */\n\tmw.widgets.CalendarWidget.prototype.onFocus = function () {\n\t\tthis.displayLayer = this.getDisplayLayers()[ 0 ];\n\t\tthis.updateUI( 'down' );\n\t};\n\n\t/**\n\t * Handle mouse click events.\n\t *\n\t * @private\n\t * @param {jQuery.Event} e Mouse click event\n\t * @return {boolean|undefined} False to cancel the default event\n\t */\n\tmw.widgets.CalendarWidget.prototype.onClick = function ( e ) {\n\t\tif ( !this.isDisabled() && e.which === 1 ) {\n\t\t\t// Prevent unintended focussing\n\t\t\treturn false;\n\t\t}\n\t};\n\n\t/**\n\t * Handle key down events.\n\t *\n\t * @private\n\t * @param {jQuery.Event} e Key down event\n\t * @return {boolean|undefined} False to cancel the default event\n\t */\n\tmw.widgets.CalendarWidget.prototype.onKeyDown = function ( e ) {\n\t\tconst\n\t\t\tdir = OO.ui.Element.static.getDir( this.$element ),\n\t\t\tnextDirectionKey = dir === 'ltr' ? OO.ui.Keys.RIGHT : OO.ui.Keys.LEFT,\n\t\t\tprevDirectionKey = dir === 'ltr' ? OO.ui.Keys.LEFT : OO.ui.Keys.RIGHT;\n\n\t\tlet changed = true;\n\n\t\tif ( !this.isDisabled() ) {\n\t\t\tswitch ( e.which ) {\n\t\t\t\tcase prevDirectionKey:\n\t\t\t\t\tthis.moment.subtract( 1, this.precision === 'month' ? 'month' : 'day' );\n\t\t\t\t\tbreak;\n\t\t\t\tcase nextDirectionKey:\n\t\t\t\t\tthis.moment.add( 1, this.precision === 'month' ? 'month' : 'day' );\n\t\t\t\t\tbreak;\n\t\t\t\tcase OO.ui.Keys.UP:\n\t\t\t\t\tthis.moment.subtract( 1, this.precision === 'month' ? 'month' : 'week' );\n\t\t\t\t\tbreak;\n\t\t\t\tcase OO.ui.Keys.DOWN:\n\t\t\t\t\tthis.moment.add( 1, this.precision === 'month' ? 'month' : 'week' );\n\t\t\t\t\tbreak;\n\t\t\t\tcase OO.ui.Keys.PAGEUP:\n\t\t\t\t\tthis.moment.subtract( 1, this.precision === 'month' ? 'year' : 'month' );\n\t\t\t\t\tbreak;\n\t\t\t\tcase OO.ui.Keys.PAGEDOWN:\n\t\t\t\t\tthis.moment.add( 1, this.precision === 'month' ? 'year' : 'month' );\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tchanged = false;\n\t\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tif ( changed ) {\n\t\t\t\tthis.displayLayer = this.getDisplayLayers()[ 0 ];\n\t\t\t\tthis.setDateFromMoment();\n\t\t\t\tthis.updateUI( 'auto' );\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t};\n\n\t/**\n\t * @inheritdoc\n\t */\n\tmw.widgets.CalendarWidget.prototype.toggle = function ( visible ) {\n\t\tvisible = visible === undefined ? !this.visible : !!visible;\n\t\tconst change = visible !== this.isVisible();\n\t\tif ( this.lazyInitOnToggle && visible ) {\n\t\t\tthis.lazyInitOnToggle = false;\n\t\t\tthis.buildHeaderButtons();\n\t\t\tthis.updateUI();\n\t\t}\n\n\t\t// Flipping implementation derived from MenuSelectWidget\n\t\tif ( change && visible ) {\n\t\t\t// Reset position before showing the popup again. It's possible we no longer need to flip\n\t\t\t// (e.g. if the user scrolled).\n\t\t\tthis.setVerticalPosition( this.originalVerticalPosition );\n\t\t}\n\n\t\t// Parent method\n\t\tmw.widgets.CalendarWidget.super.prototype.toggle.call( this, visible );\n\n\t\tif ( change ) {\n\t\t\tthis.togglePositioning( visible && !!this.$floatableContainer );\n\t\t\tthis.toggleClipping( visible );\n\n\t\t\t// Flipping implementation derived from MenuSelectWidget\n\t\t\tif (\n\t\t\t\t( this.isClippedVertically() || this.isFloatableOutOfView() ) &&\n\t\t\t\tthis.originalVerticalPosition !== 'center'\n\t\t\t) {\n\t\t\t\t// If opening the menu in one direction causes it to be clipped, flip it\n\t\t\t\tconst originalHeight = this.$element.height();\n\t\t\t\tthis.setVerticalPosition(\n\t\t\t\t\tthis.constructor.static.flippedPositions[ this.originalVerticalPosition ]\n\t\t\t\t);\n\t\t\t\tif ( this.isClippedVertically() || this.isFloatableOutOfView() ) {\n\t\t\t\t\t// If flipping also causes it to be clipped, open in whichever direction\n\t\t\t\t\t// we have more space\n\t\t\t\t\tconst flippedHeight = this.$element.height();\n\t\t\t\t\tif ( originalHeight > flippedHeight ) {\n\t\t\t\t\t\tthis.setVerticalPosition( this.originalVerticalPosition );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\t// Note that we do not flip the menu's opening direction if the clipping changes\n\t\t\t// later (e.g. after the user scrolls), that seems like it would be annoying\n\t\t}\n\n\t\treturn this;\n\t};\n\n}() );\n","usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.widgets/mw.widgets.CategoryMultiselectWidget.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.widgets/mw.widgets.CategoryTagItemWidget.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.widgets/mw.widgets.CheckMatrixWidget.js","messages":[],"suppressedMessages":[{"ruleId":"no-jquery/no-each-util","severity":2,"message":"Prefer Array#forEach to $.each","line":44,"column":3,"nodeType":"CallExpression","endLine":46,"endColumn":6,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-each-util","severity":2,"message":"Prefer Array#forEach to $.each","line":53,"column":3,"nodeType":"CallExpression","endLine":85,"endColumn":6,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-each-util","severity":2,"message":"Prefer Array#forEach to $.each","line":70,"column":4,"nodeType":"CallExpression","endLine":82,"endColumn":7,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-each-util","severity":2,"message":"Prefer Array#forEach to $.each","line":147,"column":4,"nodeType":"CallExpression","endLine":149,"endColumn":7,"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.widgets/mw.widgets.ComplexNamespaceInputWidget.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.widgets/mw.widgets.ComplexTitleInputWidget.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.widgets/mw.widgets.CopyTextLayout.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.widgets/mw.widgets.DateInputWidget.js","messages":[],"suppressedMessages":[{"ruleId":"no-jquery/no-class-state","severity":2,"message":"Where possible, maintain application state in JS to avoid slower DOM queries","line":598,"column":4,"nodeType":"CallExpression","endLine":598,"endColumn":41,"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.widgets/mw.widgets.ExpiryInputWidget.js","messages":[{"ruleId":"mediawiki/no-unlabeled-buttonwidget","severity":1,"message":"OOUI button has no label. Even icon-only buttons should set a label with invisibleLabel set to true.","line":36,"column":5,"nodeType":"NewExpression","messageId":"noLabel","endLine":39,"endColumn":8},{"ruleId":"mediawiki/no-unlabeled-buttonwidget","severity":1,"message":"OOUI button has no label. Even icon-only buttons should set a label with invisibleLabel set to true.","line":40,"column":5,"nodeType":"NewExpression","messageId":"noLabel","endLine":43,"endColumn":8}],"suppressedMessages":[{"ruleId":"no-jquery/no-class-state","severity":2,"message":"Where possible, maintain application state in JS to avoid slower DOM queries","line":146,"column":8,"nodeType":"CallExpression","endLine":146,"endColumn":60,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-class-state","severity":2,"message":"Where possible, maintain application state in JS to avoid slower DOM queries","line":149,"column":15,"nodeType":"CallExpression","endLine":149,"endColumn":77,"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":2,"fixableErrorCount":0,"fixableWarningCount":0,"source":"/*!\n * MediaWiki Widgets - ExpiryWidget class.\n *\n * @copyright 2018 MediaWiki Widgets Team and others; see AUTHORS.txt\n * @license The MIT License (MIT); see LICENSE.txt\n */\n/* global moment */\n( function () {\n\n\t/**\n\t * @classdesc Expiry widget.\n\t *\n\t * @class mw.widgets.ExpiryWidget\n\t * @extends OO.ui.Widget\n\t *\n\t * @constructor\n\t * @description Create a mw.widgets.ExpiryWidget object.\n\t * @param {Object} [config] Configuration options\n\t */\n\tmw.widgets.ExpiryWidget = function ( config ) {\n\t\tconst RFC2822 = 'ddd, DD MMM YYYY HH:mm:ss [GMT]';\n\n\t\t// Config initialization\n\t\tconfig = Object.assign( {}, config );\n\n\t\tthis.relativeField = new config.RelativeInputClass( config.relativeInput );\n\t\tthis.relativeField.$element.addClass( 'mw-widget-ExpiryWidget-relative' );\n\n\t\t// Parent constructor\n\t\tmw.widgets.ExpiryWidget.super.call( this, config );\n\n\t\t// Properties\n\t\tthis.inputSwitch = new OO.ui.ButtonSelectWidget( {\n\t\t\ttabIndex: -1,\n\t\t\titems: [\n\t\t\t\tnew OO.ui.ButtonOptionWidget( {\n\t\t\t\t\tdata: 'relative',\n\t\t\t\t\ticon: 'edit'\n\t\t\t\t} ),\n\t\t\t\tnew OO.ui.ButtonOptionWidget( {\n\t\t\t\t\tdata: 'date',\n\t\t\t\t\ticon: 'calendar'\n\t\t\t\t} )\n\t\t\t]\n\t\t} );\n\t\tthis.dateTimeField = new mw.widgets.datetime.DateTimeInputWidget( {\n\t\t\tmin: new Date(), // The selected date must at least be now.\n\t\t\trequired: config.required\n\t\t} );\n\n\t\t// Initially hide the dateTime field.\n\t\tthis.dateTimeField.toggle( false );\n\t\t// Initially set the relative input.\n\t\tthis.inputSwitch.selectItemByData( 'relative' );\n\n\t\t// Events\n\n\t\t// Toggle the visible inputs.\n\t\tthis.inputSwitch.on( 'choose', ( event ) => {\n\t\t\tswitch ( event.getData() ) {\n\t\t\t\tcase 'date':\n\t\t\t\t\tthis.dateTimeField.toggle( true );\n\t\t\t\t\tthis.relativeField.toggle( false );\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'relative':\n\t\t\t\t\tthis.dateTimeField.toggle( false );\n\t\t\t\t\tthis.relativeField.toggle( true );\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t} );\n\n\t\t// When the date time field update, update the relative\n\t\t// field.\n\t\tthis.dateTimeField.on( 'change', ( value ) => {\n\t\t\t// Do not alter the visible input.\n\t\t\tif ( this.relativeField.isVisible() ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// If the value was cleared, do not attempt to parse it.\n\t\t\tif ( !value ) {\n\t\t\t\tthis.relativeField.setValue( value );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst datetime = moment( value );\n\n\t\t\t// If the datetime is invlaid for some reason, reset the relative field.\n\t\t\tif ( !datetime.isValid() ) {\n\t\t\t\tthis.relativeField.setValue( undefined );\n\t\t\t}\n\n\t\t\t// Set the relative field value. The field only accepts English strings.\n\t\t\tthis.relativeField.setValue( datetime.utc().locale( 'en' ).format( RFC2822 ) );\n\t\t} );\n\n\t\t// When the relative field update, update the date time field if it's a\n\t\t// value that moment understands.\n\t\tthis.relativeField.on( 'change', ( event ) => {\n\t\t\t// Emit a change event for this widget.\n\t\t\tthis.emit( 'change', event );\n\n\t\t\t// Do not alter the visible input.\n\t\t\tif ( this.dateTimeField.isVisible() ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Parsing of free text field may fail, so always check if the date is\n\t\t\t// valid.\n\t\t\tconst datetime = moment( event );\n\n\t\t\tif ( datetime.isValid() ) {\n\t\t\t\tthis.dateTimeField.setValue( datetime.utc().toISOString() );\n\t\t\t} else {\n\t\t\t\tthis.dateTimeField.setValue( undefined );\n\t\t\t}\n\t\t} );\n\n\t\t// Initialization\n\t\tthis.$element\n\t\t\t.addClass( 'mw-widget-ExpiryWidget' )\n\t\t\t.addClass( 'mw-widget-ExpiryWidget-hasDatePicker' )\n\t\t\t.append(\n\t\t\t\tthis.inputSwitch.$element,\n\t\t\t\tthis.dateTimeField.$element,\n\t\t\t\tthis.relativeField.$element\n\t\t\t);\n\n\t\t// Trigger an initial onChange.\n\t\tthis.relativeField.emit( 'change', this.relativeField.getValue() );\n\t};\n\n\t/* Inheritance */\n\n\tOO.inheritClass( mw.widgets.ExpiryWidget, OO.ui.Widget );\n\n\t/**\n\t * @inheritdoc\n\t */\n\tmw.widgets.ExpiryWidget.static.reusePreInfuseDOM = function ( node, config ) {\n\t\tconst $relativeElement = $( node ).find( '.mw-widget-ExpiryWidget-relative' );\n\n\t\tconfig = mw.widgets.ExpiryWidget.super.static.reusePreInfuseDOM( node, config );\n\n\t\t// eslint-disable-next-line no-jquery/no-class-state\n\t\tif ( $relativeElement.hasClass( 'oo-ui-textInputWidget' ) ) {\n\t\t\tconfig.RelativeInputClass = OO.ui.TextInputWidget;\n\t\t// eslint-disable-next-line no-jquery/no-class-state\n\t\t} else if ( $relativeElement.hasClass( 'mw-widget-selectWithInputWidget' ) ) {\n\t\t\tconfig.RelativeInputClass = mw.widgets.SelectWithInputWidget;\n\t\t}\n\n\t\tconfig.relativeInput = config.RelativeInputClass.static.reusePreInfuseDOM(\n\t\t\t$relativeElement,\n\t\t\tconfig.relativeInput\n\t\t);\n\n\t\treturn config;\n\t};\n\n\t/**\n\t * @inheritdoc\n\t */\n\tmw.widgets.ExpiryWidget.static.gatherPreInfuseState = function ( node, config ) {\n\t\tconst state = mw.widgets.ExpiryWidget.super.static.gatherPreInfuseState( node, config );\n\n\t\tstate.relativeInput = config.RelativeInputClass.static.gatherPreInfuseState(\n\t\t\t$( node ).find( '.mw-widget-ExpiryWidget-relative' ),\n\t\t\tconfig.relativeInput\n\t\t);\n\n\t\treturn state;\n\t};\n\n\t/**\n\t * @inheritdoc\n\t */\n\tmw.widgets.ExpiryWidget.prototype.restorePreInfuseState = function ( state ) {\n\t\tmw.widgets.ExpiryWidget.super.prototype.restorePreInfuseState.call( this, state );\n\t\tthis.relativeField.restorePreInfuseState( state.relativeInput );\n\t};\n\n\t/**\n\t * @inheritdoc\n\t */\n\tmw.widgets.ExpiryWidget.prototype.setDisabled = function ( disabled ) {\n\t\tmw.widgets.ExpiryWidget.super.prototype.setDisabled.call( this, disabled );\n\t\tthis.relativeField.setDisabled( disabled );\n\n\t\tif ( this.inputSwitch ) {\n\t\t\tthis.inputSwitch.setDisabled( disabled );\n\t\t}\n\n\t\tif ( this.dateTimeField ) {\n\t\t\tthis.dateTimeField.setDisabled( disabled );\n\t\t}\n\t};\n\n\t/**\n\t * Gets the value of the widget.\n\t *\n\t * @return {string}\n\t */\n\tmw.widgets.ExpiryWidget.prototype.getValue = function () {\n\t\treturn this.relativeField.getValue();\n\t};\n\n}() );\n","usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.widgets/mw.widgets.MenuTagMultiselectWidget.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.widgets/mw.widgets.NamespaceInputWidget.js","messages":[{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'DropdownOptions' is undefined.","line":50,"column":1,"nodeType":"Block","endLine":50,"endColumn":1}],"suppressedMessages":[{"ruleId":"no-jquery/no-map-util","severity":2,"message":"Prefer Array#map to $.map","line":66,"column":19,"nodeType":"CallExpression","endLine":79,"endColumn":6,"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"/*!\n * MediaWiki Widgets - NamespaceInputWidget class.\n *\n * @copyright 2011-2015 MediaWiki Widgets Team and others; see AUTHORS.txt\n * @license The MIT License (MIT); see LICENSE.txt\n */\n( function () {\n\n\t/**\n\t * @classdesc Displays a dropdown box with the choice of available namespaces.\n\t *\n\t * @class\n\t * @extends OO.ui.DropdownInputWidget\n\t *\n\t * @constructor\n\t * @description Create an instance of `mw.widgets.NamespaceInputWidget`.\n\t * @param {Object} [config] Configuration options\n\t * @param {string|null} [config.includeAllValue] Value for \"all namespaces\" option, if any\n\t * @param {boolean} [config.userLang=false] Display namespaces in user language\n\t * @param {number[]} [config.exclude] List of namespace numbers to exclude from the selector\n\t */\n\tmw.widgets.NamespaceInputWidget = function MwWidgetsNamespaceInputWidget( config ) {\n\t\t// Configuration initialization\n\t\tconfig = Object.assign( {}, config, { options: this.constructor.static.getNamespaceDropdownOptions( config ) } );\n\n\t\t// Parent constructor\n\t\tmw.widgets.NamespaceInputWidget.super.call( this, config );\n\n\t\t// Initialization\n\t\tthis.$element.addClass( 'mw-widget-namespaceInputWidget' );\n\t};\n\n\t/* Setup */\n\n\tOO.inheritClass( mw.widgets.NamespaceInputWidget, OO.ui.DropdownInputWidget );\n\n\t/* Static methods */\n\n\t/**\n\t * @typedef {Object} mw.widgets.NamespaceInputWidget~DropdownOptions\n\t * @property {any} data\n\t * @property {string} label\n\t */\n\n\t/**\n\t * Get a list of namespace options, sorted by ID.\n\t *\n\t * @method getNamespaceDropdownOptions\n\t * @param {Object} [config] Configuration options\n\t * @return {DropdownOptions[]} Dropdown options\n\t * @memberof mw.widgets.NamespaceInputWidget\n\t */\n\tmw.widgets.NamespaceInputWidget.static.getNamespaceDropdownOptions = function ( config ) {\n\t\tconst exclude = config.exclude || [],\n\t\t\tinclude = config.include || null,\n\t\t\tmainNamespace = mw.config.get( 'wgNamespaceIds' )[ '' ],\n\t\t\twidgetData = require( './data.json' );\n\n\t\t// Use namespace names in the user language also when it's a variant of the content language.\n\t\t// This is to keep the behaviour more consistent with the no-js version.\n\t\tconst namespaces = config.userLang || widgetData.isContLangVariant ?\n\t\t\twidgetData.formattedNamespaces :\n\t\t\tmw.config.get( 'wgFormattedNamespaces' );\n\n\t\t// eslint-disable-next-line no-jquery/no-map-util\n\t\tconst options = $.map( namespaces, ( name, ns ) => {\n\t\t\tif (\n\t\t\t\tns < mainNamespace ||\n\t\t\t\texclude.includes( Number( ns ) ) ||\n\t\t\t\t( Array.isArray( include ) && !include.includes( Number( ns ) ) )\n\t\t\t) {\n\t\t\t\treturn null; // skip\n\t\t\t}\n\t\t\tns = String( ns );\n\t\t\tif ( ns === String( mainNamespace ) ) {\n\t\t\t\tname = mw.msg( 'blanknamespace' );\n\t\t\t}\n\t\t\treturn { data: ns, label: name };\n\t\t} ).sort(\n\t\t\t// wgFormattedNamespaces is an object, and so technically doesn't have to be ordered\n\t\t\t( a, b ) => a.data - b.data\n\t\t);\n\n\t\tif ( config.includeAllValue !== null && config.includeAllValue !== undefined ) {\n\t\t\toptions.unshift( {\n\t\t\t\tdata: config.includeAllValue,\n\t\t\t\tlabel: mw.msg( 'namespacesall' )\n\t\t\t} );\n\t\t}\n\n\t\treturn options;\n\t};\n\n}() );\n","usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.widgets/mw.widgets.NamespacesMenuOptionWidget.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.widgets/mw.widgets.NamespacesMultiselectWidget.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.widgets/mw.widgets.OrderedMultiselectWidget.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.widgets/mw.widgets.SearchInputWidget.js","messages":[],"suppressedMessages":[{"ruleId":"no-jquery/no-each-util","severity":2,"message":"Prefer Array#forEach to $.each","line":200,"column":3,"nodeType":"CallExpression","endLine":217,"endColumn":6,"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.widgets/mw.widgets.SelectWithInputWidget.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.widgets/mw.widgets.SizeFilterWidget.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.widgets/mw.widgets.TagMultiselectWidget.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.widgets/mw.widgets.TitleInputWidget.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.widgets/mw.widgets.TitleOptionWidget.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.widgets/mw.widgets.TitleSearchWidget.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.widgets/mw.widgets.TitleWidget.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.widgets/mw.widgets.TitlesMultiselectWidget.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.widgets/mw.widgets.ToggleSwitchWidget.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.widgets/mw.widgets.UserInputWidget.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/mediawiki.widgets/mw.widgets.UsersMultiselectWidget.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/moment/moment-dmy.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/moment/moment-locale-overrides.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/moment/moment-module.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/oojs-global.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/ooui-local.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/startup/.eslintrc.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/startup/clientprefs.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/startup/mediawiki.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/startup/mediawiki.loader.js","messages":[{"ruleId":"jsdoc/valid-types","severity":1,"message":"Syntax error in namepath: ~'resourceloader.exception'","line":61,"column":1,"nodeType":"Block","endLine":61,"endColumn":1}],"suppressedMessages":[{"ruleId":"no-bitwise","severity":2,"message":"Unexpected use of '<<'.","line":43,"column":14,"nodeType":"BinaryExpression","messageId":"unexpected","endLine":43,"endColumn":23,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-bitwise","severity":2,"message":"Unexpected use of '<<'.","line":43,"column":30,"nodeType":"BinaryExpression","messageId":"unexpected","endLine":43,"endColumn":39,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-bitwise","severity":2,"message":"Unexpected use of '<<'.","line":43,"column":46,"nodeType":"BinaryExpression","messageId":"unexpected","endLine":43,"endColumn":55,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-bitwise","severity":2,"message":"Unexpected use of '<<'.","line":43,"column":62,"nodeType":"BinaryExpression","messageId":"unexpected","endLine":43,"endColumn":71,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-bitwise","severity":2,"message":"Unexpected use of '<<'.","line":43,"column":78,"nodeType":"BinaryExpression","messageId":"unexpected","endLine":43,"endColumn":88,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-bitwise","severity":2,"message":"Unexpected use of '^='.","line":44,"column":4,"nodeType":"AssignmentExpression","messageId":"unexpected","endLine":44,"endColumn":31,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-bitwise","severity":2,"message":"Unexpected use of '>>>'.","line":47,"column":12,"nodeType":"BinaryExpression","messageId":"unexpected","endLine":47,"endColumn":22,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-new-func","severity":2,"message":"The Function constructor is eval.","line":464,"column":17,"nodeType":"NewExpression","messageId":"noFunctionConstructor","endLine":464,"endColumn":56,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-eval","severity":2,"message":"eval can be harmful.","line":782,"column":8,"nodeType":"Identifier","messageId":"unexpected","endLine":782,"endColumn":12,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-mixed-spaces-and-tabs","severity":2,"message":"Mixed spaces and tabs.","line":1779,"column":5,"nodeType":"Program","messageId":"mixedSpacesAndTabs","endLine":1779,"endColumn":7,"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"/*!\n * Defines mw.loader, the infrastructure for loading ResourceLoader\n * modules.\n *\n * This file is appended directly to the code in startup/mediawiki.js\n */\n/* global $VARS, $CODE, mw */\n\n( function () {\n\t'use strict';\n\n\tvar store,\n\t\thasOwn = Object.hasOwnProperty;\n\n\t/**\n\t * Client for ResourceLoader server end point.\n\t *\n\t * This client is in charge of maintaining the module registry and state\n\t * machine, initiating network (batch) requests for loading modules, as\n\t * well as dependency resolution and execution of source code.\n\t *\n\t * @see <https://www.mediawiki.org/wiki/ResourceLoader/Features>\n\t * @namespace mw.loader\n\t */\n\n\t/**\n\t * FNV132 hash function\n\t *\n\t * This function implements the 32-bit version of FNV-1.\n\t * It is equivalent to hash( 'fnv132', ... ) in PHP, except\n\t * its output is base 36 rather than hex.\n\t * See <https://en.wikipedia.org/wiki/Fowler–Noll–Vo_hash_function>\n\t *\n\t * @private\n\t * @param {string} str String to hash\n\t * @return {string} hash as a five-character base 36 string\n\t */\n\tfunction fnv132( str ) {\n\t\tvar hash = 0x811C9DC5;\n\n\t\t/* eslint-disable no-bitwise */\n\t\tfor ( var i = 0; i < str.length; i++ ) {\n\t\t\thash += ( hash << 1 ) + ( hash << 4 ) + ( hash << 7 ) + ( hash << 8 ) + ( hash << 24 );\n\t\t\thash ^= str.charCodeAt( i );\n\t\t}\n\n\t\thash = ( hash >>> 0 ).toString( 36 ).slice( 0, 5 );\n\t\t/* eslint-enable no-bitwise */\n\n\t\twhile ( hash.length < 5 ) {\n\t\t\thash = '0' + hash;\n\t\t}\n\t\treturn hash;\n\t}\n\n\t/**\n\t * Fired via mw.track on various resource loading errors.\n\t *\n\t * eslint-disable jsdoc/valid-types\n\t *\n\t * @event ~'resourceloader.exception'\n\t * @ignore\n\t * @param {Error|Mixed} e The error that was thrown. Almost always an Error\n\t * object, but in theory module code could manually throw something else, and that\n\t * might also end up here.\n\t * @param {string} [module] Name of the module which caused the error. Omitted if the\n\t * error is not module-related or the module cannot be easily identified due to\n\t * batched handling.\n\t * @param {string} source Source of the error. Possible values:\n\t *\n\t * - load-callback: exception thrown by user callback\n\t * - module-execute: exception thrown by module code\n\t * - resolve: failed to sort dependencies for a module in mw.loader.load\n\t * - store-eval: could not evaluate module code cached in localStorage\n\t * - store-localstorage-json: JSON conversion error in mw.loader.store\n\t * - store-localstorage-update: localStorage conversion error in mw.loader.store.\n\t */\n\n\t/**\n\t * Mapping of registered modules.\n\t *\n\t * See #implement and #execute for exact details on support for script, style and messages.\n\t *\n\t * @example // Format:\n\t * {\n\t * 'moduleName': {\n\t * // From mw.loader.register()\n\t * 'version': '#####' (five-character hash)\n\t * 'dependencies': ['required.foo', 'bar.also', ...]\n\t * 'group': string, integer, (or) null\n\t * 'source': 'local', (or) 'anotherwiki'\n\t * 'skip': 'return !!window.Example;', (or) null, (or) boolean result of skip\n\t * 'module': export Object\n\t *\n\t * // Set by execute() or mw.loader.state()\n\t * // See mw.loader.getState() for documentation of the state machine\n\t * 'state': 'registered', 'loading', 'loaded', 'executing', 'ready', 'error', or 'missing'\n\t *\n\t * // Optionally added at run-time by mw.loader.impl()\n\t * 'script': closure, array of urls, or string\n\t * 'style': { ... } (see #execute)\n\t * 'messages': { 'key': 'value', ... }\n\t * }\n\t * }\n\t *\n\t * @property {Object}\n\t * @private\n\t */\n\tvar registry = Object.create( null ),\n\t\t// Mapping of sources, keyed by source-id, values are strings.\n\t\t//\n\t\t// Format:\n\t\t//\n\t\t// {\n\t\t// 'sourceId': 'http://example.org/w/load.php'\n\t\t// }\n\t\t//\n\t\tsources = Object.create( null ),\n\n\t\t// For queueModuleScript()\n\t\thandlingPendingRequests = false,\n\t\tpendingRequests = [],\n\n\t\t// List of modules to be loaded\n\t\tqueue = [],\n\n\t\t/**\n\t\t * List of callback jobs waiting for modules to be ready.\n\t\t *\n\t\t * Jobs are created by #enqueue() and run by #doPropagation().\n\t\t * Typically when a job is created for a module, the job's dependencies contain\n\t\t * both the required module and all its recursive dependencies.\n\t\t *\n\t\t * @example // Format:\n\t\t * {\n\t\t * 'dependencies': [ module names ],\n\t\t * 'ready': Function callback\n\t\t * 'error': Function callback\n\t\t * }\n\t\t *\n\t\t * @property {Object[]} jobs\n\t\t * @private\n\t\t */\n\t\tjobs = [],\n\n\t\t// For #setAndPropagate() and #doPropagation()\n\t\twillPropagate = false,\n\t\terrorModules = [],\n\n\t\t/**\n\t\t * @private\n\t\t * @property {Array} baseModules\n\t\t */\n\t\tbaseModules = $VARS.baseModules,\n\n\t\t/**\n\t\t * For #addEmbeddedCSS() and #addLink()\n\t\t *\n\t\t * @private\n\t\t * @property {HTMLElement|null} marker\n\t\t */\n\t\tmarker = document.querySelector( 'meta[name=\"ResourceLoaderDynamicStyles\"]' ),\n\n\t\t// For #addEmbeddedCSS()\n\t\tlastCssBuffer;\n\n\t/**\n\t * Append an HTML element to `document.head` or before a specified node.\n\t *\n\t * @private\n\t * @param {HTMLElement} el\n\t * @param {Node|null} [nextNode]\n\t */\n\tfunction addToHead( el, nextNode ) {\n\t\tif ( nextNode && nextNode.parentNode ) {\n\t\t\tnextNode.parentNode.insertBefore( el, nextNode );\n\t\t} else {\n\t\t\tdocument.head.appendChild( el );\n\t\t}\n\t}\n\n\t/**\n\t * Create a new style element and add it to the DOM.\n\t * Stable for use in gadgets.\n\t *\n\t * @method mw.loader.addStyleTag\n\t * @param {string} text CSS text\n\t * @param {Node|null} [nextNode] The element where the style tag\n\t * should be inserted before\n\t * @return {HTMLStyleElement} Reference to the created style element\n\t */\n\tfunction newStyleTag( text, nextNode ) {\n\t\tvar el = document.createElement( 'style' );\n\t\tel.appendChild( document.createTextNode( text ) );\n\t\taddToHead( el, nextNode );\n\t\treturn el;\n\t}\n\n\t/**\n\t * @private\n\t * @param {Object} cssBuffer\n\t */\n\tfunction flushCssBuffer( cssBuffer ) {\n\t\t// Make sure the next call to addEmbeddedCSS() starts a new buffer.\n\t\t// This must be done before we run the callbacks, as those may end up\n\t\t// queueing new chunks which would be lost otherwise (T105973).\n\t\t//\n\t\t// There can be more than one buffer in-flight (given \"@import\", and\n\t\t// generally due to race conditions). Only tell addEmbeddedCSS() to\n\t\t// start a new buffer if we're currently flushing the last one that it\n\t\t// started. If we're flushing an older buffer, keep the last one open.\n\t\tif ( cssBuffer === lastCssBuffer ) {\n\t\t\tlastCssBuffer = null;\n\t\t}\n\t\tnewStyleTag( cssBuffer.cssText, marker );\n\t\tfor ( var i = 0; i < cssBuffer.callbacks.length; i++ ) {\n\t\t\tcssBuffer.callbacks[ i ]();\n\t\t}\n\t}\n\n\t/**\n\t * Add a bit of CSS text to the current browser page.\n\t *\n\t * The creation and insertion of the `<style>` element is debounced for two reasons:\n\t *\n\t * - Performing the insertion before the next paint round via requestAnimationFrame\n\t * avoids forced or wasted style recomputations, which are expensive in browsers.\n\t * - Reduce how often new stylesheets are inserted by letting additional calls to this\n\t * function accumulate into a buffer for at least one JavaScript tick. Modules are\n\t * received from the server in batches, which means there is likely going to be many\n\t * calls to this function in a row within the same tick / the same call stack.\n\t * See also T47810.\n\t *\n\t * @private\n\t * @param {string} cssText CSS text to be added in a `<style>` tag.\n\t * @param {Function} callback Called after the insertion has occurred.\n\t */\n\tfunction addEmbeddedCSS( cssText, callback ) {\n\t\t// Start a new buffer if one of the following is true:\n\t\t// - We've never started a buffer before, this will be our first.\n\t\t// - The last buffer we created was flushed meanwhile, so start a new one.\n\t\t// - The next CSS chunk syntactically needs to be at the start of a stylesheet (T37562).\n\t\tif ( !lastCssBuffer || cssText.startsWith( '@import' ) ) {\n\t\t\tlastCssBuffer = {\n\t\t\t\tcssText: '',\n\t\t\t\tcallbacks: []\n\t\t\t};\n\t\t\trequestAnimationFrame( flushCssBuffer.bind( null, lastCssBuffer ) );\n\t\t}\n\n\t\t// Linebreak for somewhat distinguishable sections\n\t\tlastCssBuffer.cssText += '\\n' + cssText;\n\t\tlastCssBuffer.callbacks.push( callback );\n\t}\n\n\t/**\n\t * See also `ResourceLoader.php#makeVersionQuery` on the server.\n\t *\n\t * @private\n\t * @param {string[]} modules List of module names\n\t * @return {string} Hash of concatenated version hashes.\n\t */\n\tfunction getCombinedVersion( modules ) {\n\t\tvar hashes = modules.reduce( function ( result, module ) {\n\t\t\treturn result + registry[ module ].version;\n\t\t}, '' );\n\t\treturn fnv132( hashes );\n\t}\n\n\t/**\n\t * Determine whether all dependencies are in state 'ready', which means we may\n\t * execute the module or job now.\n\t *\n\t * @private\n\t * @param {string[]} modules Names of modules to be checked\n\t * @return {boolean} True if all modules are in state 'ready', false otherwise\n\t */\n\tfunction allReady( modules ) {\n\t\tfor ( var i = 0; i < modules.length; i++ ) {\n\t\t\tif ( mw.loader.getState( modules[ i ] ) !== 'ready' ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t\treturn true;\n\t}\n\n\t/**\n\t * Determine whether all direct and base dependencies are in state 'ready'\n\t *\n\t * @private\n\t * @param {string} module Name of the module to be checked\n\t * @return {boolean} True if all direct/base dependencies are in state 'ready'; false otherwise\n\t */\n\tfunction allWithImplicitReady( module ) {\n\t\treturn allReady( registry[ module ].dependencies ) &&\n\t\t\t( baseModules.includes( module ) || allReady( baseModules ) );\n\t}\n\n\t/**\n\t * Determine whether all dependencies are in state 'ready', which means we may\n\t * execute the module or job now.\n\t *\n\t * @private\n\t * @param {string[]} modules Names of modules to be checked\n\t * @return {boolean|string} False if no modules are in state 'error' or 'missing';\n\t * failed module otherwise\n\t */\n\tfunction anyFailed( modules ) {\n\t\tfor ( var i = 0; i < modules.length; i++ ) {\n\t\t\tvar state = mw.loader.getState( modules[ i ] );\n\t\t\tif ( state === 'error' || state === 'missing' ) {\n\t\t\t\treturn modules[ i ];\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n\n\t/**\n\t * Handle propagation of module state changes and reactions to them.\n\t *\n\t * - When a module reaches a failure state, this should be propagated to\n\t * modules that depend on the failed module.\n\t * - When a module reaches a final state, pending job callbacks for the\n\t * module from mw.loader.using() should be called.\n\t * - When a module reaches the 'ready' state from #execute(), consider\n\t * executing dependent modules now having their dependencies satisfied.\n\t * - When a module reaches the 'loaded' state from mw.loader.impl,\n\t * consider executing it, if it has no unsatisfied dependencies.\n\t *\n\t * @private\n\t */\n\tfunction doPropagation() {\n\t\tvar didPropagate = true;\n\t\tvar module;\n\n\t\t// Keep going until the last iteration performed no actions.\n\t\twhile ( didPropagate ) {\n\t\t\tdidPropagate = false;\n\n\t\t\t// Stage 1: Propagate failures\n\t\t\twhile ( errorModules.length ) {\n\t\t\t\tvar errorModule = errorModules.shift(),\n\t\t\t\t\tbaseModuleError = baseModules.includes( errorModule );\n\t\t\t\tfor ( module in registry ) {\n\t\t\t\t\tif ( registry[ module ].state !== 'error' && registry[ module ].state !== 'missing' ) {\n\t\t\t\t\t\tif ( baseModuleError && !baseModules.includes( module ) ) {\n\t\t\t\t\t\t\t// Propate error from base module to all regular (non-base) modules\n\t\t\t\t\t\t\tregistry[ module ].state = 'error';\n\t\t\t\t\t\t\tdidPropagate = true;\n\t\t\t\t\t\t} else if ( registry[ module ].dependencies.includes( errorModule ) ) {\n\t\t\t\t\t\t\t// Propagate error from dependency to depending module\n\t\t\t\t\t\t\tregistry[ module ].state = 'error';\n\t\t\t\t\t\t\t// .. and propagate it further\n\t\t\t\t\t\t\terrorModules.push( module );\n\t\t\t\t\t\t\tdidPropagate = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Stage 2: Execute 'loaded' modules with no unsatisfied dependencies\n\t\t\tfor ( module in registry ) {\n\t\t\t\tif ( registry[ module ].state === 'loaded' && allWithImplicitReady( module ) ) {\n\t\t\t\t\t// Recursively execute all dependent modules that were already loaded\n\t\t\t\t\t// (waiting for execution) and no longer have unsatisfied dependencies.\n\t\t\t\t\t// Base modules may have dependencies amongst eachother to ensure correct\n\t\t\t\t\t// execution order. Regular modules wait for all base modules.\n\t\t\t\t\texecute( module );\n\t\t\t\t\tdidPropagate = true;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Stage 3: Invoke job callbacks that are no longer blocked\n\t\t\tfor ( var i = 0; i < jobs.length; i++ ) {\n\t\t\t\tvar job = jobs[ i ];\n\t\t\t\tvar failed = anyFailed( job.dependencies );\n\t\t\t\tif ( failed !== false || allReady( job.dependencies ) ) {\n\t\t\t\t\tjobs.splice( i, 1 );\n\t\t\t\t\ti -= 1;\n\t\t\t\t\ttry {\n\t\t\t\t\t\tif ( failed !== false && job.error ) {\n\t\t\t\t\t\t\tjob.error( new Error( 'Failed dependency: ' + failed ), job.dependencies );\n\t\t\t\t\t\t} else if ( failed === false && job.ready ) {\n\t\t\t\t\t\t\tjob.ready();\n\t\t\t\t\t\t}\n\t\t\t\t\t} catch ( e ) {\n\t\t\t\t\t\t// A user-defined callback raised an exception.\n\t\t\t\t\t\t// Swallow it to protect our state machine!\n\t\t\t\t\t\tmw.trackError( {\n\t\t\t\t\t\t\texception: e,\n\t\t\t\t\t\t\tsource: 'load-callback'\n\t\t\t\t\t\t} );\n\t\t\t\t\t}\n\t\t\t\t\tdidPropagate = true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\twillPropagate = false;\n\t}\n\n\t/**\n\t * Update a module's state in the registry and make sure any necessary\n\t * propagation will occur, by adding a (debounced) call to doPropagation().\n\t * See #doPropagation for more about propagation.\n\t * See #registry for more about how states are used.\n\t *\n\t * @private\n\t * @param {string} module\n\t * @param {string} state\n\t */\n\tfunction setAndPropagate( module, state ) {\n\t\tregistry[ module ].state = state;\n\t\tif ( state === 'ready' ) {\n\t\t\t// Queue to later be synced to the local module store.\n\t\t\tstore.add( module );\n\t\t} else if ( state === 'error' || state === 'missing' ) {\n\t\t\terrorModules.push( module );\n\t\t} else if ( state !== 'loaded' ) {\n\t\t\t// We only have something to do in doPropagation for the\n\t\t\t// 'loaded', 'ready', 'error', and 'missing' states.\n\t\t\t// Avoid scheduling and propagation cost for frequent and short-lived\n\t\t\t// transition states, such as 'loading' and 'executing'.\n\t\t\treturn;\n\t\t}\n\t\tif ( willPropagate ) {\n\t\t\t// Already scheduled, or, we're already in a doPropagation stack.\n\t\t\treturn;\n\t\t}\n\t\twillPropagate = true;\n\t\t// Yield for two reasons:\n\t\t// * Allow successive calls to mw.loader.impl() from the same\n\t\t// load.php response, or from the same asyncEval() to be in the\n\t\t// propagation batch.\n\t\t// * Allow the browser to breathe between the reception of\n\t\t// module source code and the execution of it.\n\t\t//\n\t\t// Use a high priority because the user may be waiting for interactions\n\t\t// to start being possible. But, first provide a moment (up to 'timeout')\n\t\t// for native input event handling (e.g. scrolling/typing/clicking).\n\t\tmw.requestIdleCallback( doPropagation, { timeout: 1 } );\n\t}\n\n\t/**\n\t * Resolve dependencies and detect circular references.\n\t *\n\t * @private\n\t * @param {string} module Name of the top-level module whose dependencies shall be\n\t * resolved and sorted.\n\t * @param {Array} resolved Returns a topological sort of the given module and its\n\t * dependencies, such that later modules depend on earlier modules. The array\n\t * contains the module names. If the array contains already some module names,\n\t * this function appends its result to the pre-existing array.\n\t * @param {Set} [unresolved] Used to detect loops in the dependency graph.\n\t * @throws {Error} If an unknown module or a circular dependency is encountered\n\t */\n\tfunction sortDependencies( module, resolved, unresolved ) {\n\t\tif ( !( module in registry ) ) {\n\t\t\tthrow new Error( 'Unknown module: ' + module );\n\t\t}\n\n\t\tif ( typeof registry[ module ].skip === 'string' ) {\n\t\t\t// eslint-disable-next-line no-new-func\n\t\t\tvar skip = ( new Function( registry[ module ].skip )() );\n\t\t\tregistry[ module ].skip = !!skip;\n\t\t\tif ( skip ) {\n\t\t\t\tregistry[ module ].dependencies = [];\n\t\t\t\tsetAndPropagate( module, 'ready' );\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\t// Create unresolved if not passed in\n\t\tif ( !unresolved ) {\n\t\t\tunresolved = new Set();\n\t\t}\n\n\t\t// Track down dependencies\n\t\tvar deps = registry[ module ].dependencies;\n\t\tunresolved.add( module );\n\t\tfor ( var i = 0; i < deps.length; i++ ) {\n\t\t\tif ( !resolved.includes( deps[ i ] ) ) {\n\t\t\t\tif ( unresolved.has( deps[ i ] ) ) {\n\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t'Circular reference detected: ' + module + ' -> ' + deps[ i ]\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tsortDependencies( deps[ i ], resolved, unresolved );\n\t\t\t}\n\t\t}\n\n\t\tresolved.push( module );\n\t}\n\n\t/**\n\t * Get names of module that a module depends on, in their proper dependency order.\n\t *\n\t * @private\n\t * @param {string[]} modules Array of string module names\n\t * @return {Array} List of dependencies, including 'module'.\n\t * @throws {Error} If an unregistered module or a dependency loop is encountered\n\t */\n\tfunction resolve( modules ) {\n\t\t// Always load base modules\n\t\tvar resolved = baseModules.slice();\n\t\tfor ( var i = 0; i < modules.length; i++ ) {\n\t\t\tsortDependencies( modules[ i ], resolved );\n\t\t}\n\t\treturn resolved;\n\t}\n\n\t/**\n\t * Like #resolve(), except it will silently ignore modules that\n\t * are missing or have missing dependencies.\n\t *\n\t * @private\n\t * @param {string[]} modules Array of string module names\n\t * @return {Array} List of dependencies.\n\t */\n\tfunction resolveStubbornly( modules ) {\n\t\t// Always load base modules\n\t\tvar resolved = baseModules.slice();\n\t\tfor ( var i = 0; i < modules.length; i++ ) {\n\t\t\tvar saved = resolved.slice();\n\t\t\ttry {\n\t\t\t\tsortDependencies( modules[ i ], resolved );\n\t\t\t} catch ( err ) {\n\t\t\t\tresolved = saved;\n\t\t\t\t// This module is not currently known, or has invalid dependencies.\n\t\t\t\t//\n\t\t\t\t// Most likely due to a cached reference after the module was\n\t\t\t\t// removed, otherwise made redundant, or omitted from the registry\n\t\t\t\t// by the ResourceLoader \"target\" system.\n\t\t\t\t//\n\t\t\t\t// These errors can be common, e.g. queuing an unavailable module\n\t\t\t\t// unconditionally from the server-side is OK and should fail gracefully.\n\t\t\t\tmw.log.warn( 'Skipped unavailable module ' + modules[ i ] );\n\n\t\t\t\t// Do not track this error as an exception when the module:\n\t\t\t\t// - Is valid, but gracefully filtered out by target system.\n\t\t\t\t// - Was recently valid, but is still referenced in stale cache.\n\t\t\t\t//\n\t\t\t\t// Basically the only reason to track this as exception is when the error\n\t\t\t\t// was circular or invalid dependencies. What the above scenarios have in\n\t\t\t\t// common is that they don't register the module client-side.\n\t\t\t\tif ( modules[ i ] in registry ) {\n\t\t\t\t\tmw.trackError( {\n\t\t\t\t\t\texception: err,\n\t\t\t\t\t\tsource: 'resolve'\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn resolved;\n\t}\n\n\t/**\n\t * Resolve a relative file path.\n\t *\n\t * For example, resolveRelativePath( '../foo.js', 'resources/src/bar/bar.js' )\n\t * returns 'resources/src/foo.js'.\n\t *\n\t * @private\n\t * @param {string} relativePath Relative file path, starting with ./ or ../\n\t * @param {string} basePath Path of the file (not directory) relativePath is relative to\n\t * @return {string|null} Resolved path, or null if relativePath does not start with ./ or ../\n\t */\n\tfunction resolveRelativePath( relativePath, basePath ) {\n\n\t\tvar relParts = relativePath.match( /^((?:\\.\\.?\\/)+)(.*)$/ );\n\t\tif ( !relParts ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tvar baseDirParts = basePath.split( '/' );\n\t\t// basePath looks like 'foo/bar/baz.js', so baseDirParts looks like [ 'foo', 'bar, 'baz.js' ]\n\t\t// Remove the file component at the end, so that we are left with only the directory path\n\t\tbaseDirParts.pop();\n\n\t\tvar prefixes = relParts[ 1 ].split( '/' );\n\t\t// relParts[ 1 ] looks like '../../', so prefixes looks like [ '..', '..', '' ]\n\t\t// Remove the empty element at the end\n\t\tprefixes.pop();\n\n\t\t// For every ../ in the path prefix, remove one directory level from baseDirParts\n\t\tvar prefix;\n\t\tvar reachedRoot = false;\n\t\twhile ( ( prefix = prefixes.pop() ) !== undefined ) {\n\t\t\tif ( prefix === '..' ) {\n\t\t\t\t// Once we reach the package's base dir, preserve all remaining \"..\".\n\t\t\t\treachedRoot = !baseDirParts.length || reachedRoot;\n\t\t\t\tif ( !reachedRoot ) {\n\t\t\t\t\tbaseDirParts.pop();\n\t\t\t\t} else {\n\t\t\t\t\tbaseDirParts.push( prefix );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// If there's anything left of the base path, prepend it to the file path\n\t\treturn ( baseDirParts.length ? baseDirParts.join( '/' ) + '/' : '' ) + relParts[ 2 ];\n\t}\n\n\t/**\n\t * Make a require() function scoped to a package file\n\t *\n\t * @private\n\t * @param {Object} moduleObj Module object from the registry\n\t * @param {string} basePath Path of the file this is scoped to. Used for relative paths.\n\t * @return {Function}\n\t */\n\tfunction makeRequireFunction( moduleObj, basePath ) {\n\t\treturn function require( moduleName ) {\n\t\t\tvar fileName = resolveRelativePath( moduleName, basePath );\n\t\t\tif ( fileName === null ) {\n\t\t\t\t// Not a relative path, so it's either a module name or,\n\t\t\t\t// (if in test mode) a private file imported from another module.\n\t\t\t\treturn mw.loader.require( moduleName );\n\t\t\t}\n\n\t\t\tif ( hasOwn.call( moduleObj.packageExports, fileName ) ) {\n\t\t\t\t// File has already been executed, return the cached result\n\t\t\t\treturn moduleObj.packageExports[ fileName ];\n\t\t\t}\n\n\t\t\tvar scriptFiles = moduleObj.script.files;\n\t\t\tif ( !hasOwn.call( scriptFiles, fileName ) ) {\n\t\t\t\tthrow new Error( 'Cannot require undefined file ' + fileName );\n\t\t\t}\n\n\t\t\tvar result,\n\t\t\t\tfileContent = scriptFiles[ fileName ];\n\t\t\tif ( typeof fileContent === 'function' ) {\n\t\t\t\tvar moduleParam = { exports: {} };\n\t\t\t\tfileContent( makeRequireFunction( moduleObj, fileName ), moduleParam, moduleParam.exports );\n\t\t\t\tresult = moduleParam.exports;\n\t\t\t} else {\n\t\t\t\t// fileContent is raw data (such as a JSON object), just pass it through\n\t\t\t\tresult = fileContent;\n\t\t\t}\n\t\t\tmoduleObj.packageExports[ fileName ] = result;\n\t\t\treturn result;\n\t\t};\n\t}\n\n\t/**\n\t * Load and execute a script.\n\t *\n\t * @private\n\t * @param {string} src URL to script, will be used as the src attribute in the script tag\n\t * @param {Function} [callback] Callback to run after request resolution\n\t * @param {string[]} [modules] List of modules being requested, for state to be marked as error\n\t * in case the script fails to load\n\t * @return {HTMLElement}\n\t */\n\tfunction addScript( src, callback, modules ) {\n\t\t// Use a <script> element rather than XHR. Using XHR changes the request\n\t\t// headers (potentially missing a cache hit), and reduces caching in general\n\t\t// since browsers cache XHR much less (if at all). And XHR means we retrieve\n\t\t// text, so we'd need to eval, which then messes up line numbers.\n\t\t// The drawback is that <script> does not offer progress events, feedback is\n\t\t// only given after downloading, parsing, and execution have completed.\n\t\tvar script = document.createElement( 'script' );\n\t\tscript.src = src;\n\t\tfunction onComplete() {\n\t\t\tif ( script.parentNode ) {\n\t\t\t\tscript.parentNode.removeChild( script );\n\t\t\t}\n\t\t\tif ( callback ) {\n\t\t\t\tcallback();\n\t\t\t\tcallback = null;\n\t\t\t}\n\t\t}\n\t\tscript.onload = onComplete;\n\t\tscript.onerror = function () {\n\t\t\tonComplete();\n\t\t\tif ( modules ) {\n\t\t\t\tfor ( var i = 0; i < modules.length; i++ ) {\n\t\t\t\t\tsetAndPropagate( modules[ i ], 'error' );\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t\tdocument.head.appendChild( script );\n\t\treturn script;\n\t}\n\n\t/**\n\t * Queue the loading and execution of a script for a particular module.\n\t *\n\t * This does for legacy debug mode what runScript() does for production.\n\t *\n\t * @private\n\t * @param {string} src URL of the script\n\t * @param {string} moduleName Name of currently executing module\n\t * @param {Function} callback Callback to run after addScript() resolution\n\t */\n\tfunction queueModuleScript( src, moduleName, callback ) {\n\t\tpendingRequests.push( function () {\n\t\t\t// Keep in sync with execute()/runScript().\n\t\t\tif ( moduleName !== 'jquery' ) {\n\t\t\t\twindow.require = mw.loader.require;\n\t\t\t\twindow.module = registry[ moduleName ].module;\n\t\t\t}\n\t\t\taddScript( src, function () {\n\t\t\t\t// 'module.exports' should not persist after the file is executed to\n\t\t\t\t// avoid leakage to unrelated code. 'require' should be kept, however,\n\t\t\t\t// as asynchronous access to 'require' is allowed and expected. (T144879)\n\t\t\t\tdelete window.module;\n\t\t\t\tcallback();\n\t\t\t\t// Start the next one (if any)\n\t\t\t\tif ( pendingRequests[ 0 ] ) {\n\t\t\t\t\tpendingRequests.shift()();\n\t\t\t\t} else {\n\t\t\t\t\thandlingPendingRequests = false;\n\t\t\t\t}\n\t\t\t} );\n\t\t} );\n\t\tif ( !handlingPendingRequests && pendingRequests[ 0 ] ) {\n\t\t\thandlingPendingRequests = true;\n\t\t\tpendingRequests.shift()();\n\t\t}\n\t}\n\n\t/**\n\t * Utility function for execute()\n\t *\n\t * @ignore\n\t * @param {string} url URL\n\t * @param {string} [media] Media attribute\n\t * @param {Node|null} [nextNode]\n\t * @return {HTMLElement}\n\t */\n\tfunction addLink( url, media, nextNode ) {\n\t\tvar el = document.createElement( 'link' );\n\n\t\tel.rel = 'stylesheet';\n\t\tif ( media ) {\n\t\t\tel.media = media;\n\t\t}\n\t\t// If you end up here from an IE exception \"SCRIPT: Invalid property value.\",\n\t\t// see #addEmbeddedCSS, T33676, T43331, and T49277 for details.\n\t\tel.href = url;\n\n\t\taddToHead( el, nextNode );\n\t\treturn el;\n\t}\n\n\t/**\n\t * Evaluate in the global scope.\n\t *\n\t * This is used by MediaWiki user scripts, where it is (for example)\n\t * important that `var` makes a global variable.\n\t *\n\t * @private\n\t * @param {string} code JavaScript code\n\t */\n\tfunction globalEval( code ) {\n\t\tvar script = document.createElement( 'script' );\n\t\tscript.text = code;\n\t\tdocument.head.appendChild( script );\n\t\tscript.parentNode.removeChild( script );\n\t}\n\n\t/**\n\t * Evaluate JS code using indirect eval().\n\t *\n\t * This is used by mw.loader.store. It is important that we protect the\n\t * integrity of mw.loader's private variables (from accidental clashes\n\t * or re-assignment), which means we can't use regular `eval()`.\n\t *\n\t * Optimization: This exists separately from globalEval(), because that\n\t * involves slow DOM overhead.\n\t *\n\t * @private\n\t * @param {string} code JavaScript code\n\t */\n\tfunction indirectEval( code ) {\n\t\t// See http://perfectionkills.com/global-eval-what-are-the-options/\n\t\t// for an explanation of this syntax.\n\t\t// eslint-disable-next-line no-eval\n\t\t( 1, eval )( code );\n\t}\n\n\t/**\n\t * Add one or more modules to the module load queue.\n\t *\n\t * See also #work().\n\t *\n\t * @private\n\t * @param {string[]} dependencies Array of module names in the registry\n\t * @param {Function} [ready] Callback to execute when all dependencies are ready\n\t * @param {Function} [error] Callback to execute when any dependency fails\n\t */\n\tfunction enqueue( dependencies, ready, error ) {\n\t\tif ( allReady( dependencies ) ) {\n\t\t\t// Run ready immediately\n\t\t\tif ( ready ) {\n\t\t\t\tready();\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\n\t\tvar failed = anyFailed( dependencies );\n\t\tif ( failed !== false ) {\n\t\t\tif ( error ) {\n\t\t\t\t// Execute error immediately if any dependencies have errors\n\t\t\t\terror(\n\t\t\t\t\tnew Error( 'Dependency ' + failed + ' failed to load' ),\n\t\t\t\t\tdependencies\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\n\t\t// Not all dependencies are ready, add to the load queue...\n\n\t\t// Add ready and error callbacks if they were given\n\t\tif ( ready || error ) {\n\t\t\tjobs.push( {\n\t\t\t\t// Narrow down the list to modules that are worth waiting for\n\t\t\t\tdependencies: dependencies.filter( function ( module ) {\n\t\t\t\t\tvar state = registry[ module ].state;\n\t\t\t\t\treturn state === 'registered' || state === 'loaded' || state === 'loading' || state === 'executing';\n\t\t\t\t} ),\n\t\t\t\tready: ready,\n\t\t\t\terror: error\n\t\t\t} );\n\t\t}\n\n\t\tdependencies.forEach( function ( module ) {\n\t\t\t// Only queue modules that are still in the initial 'registered' state\n\t\t\t// (e.g. not ones already loading or loaded etc.).\n\t\t\tif ( registry[ module ].state === 'registered' && !queue.includes( module ) ) {\n\t\t\t\tqueue.push( module );\n\t\t\t}\n\t\t} );\n\n\t\tmw.loader.work();\n\t}\n\n\t/**\n\t * Executes a loaded module, making it ready to use\n\t *\n\t * @private\n\t * @param {string} module Module name to execute\n\t */\n\tfunction execute( module ) {\n\t\tif ( registry[ module ].state !== 'loaded' ) {\n\t\t\tthrow new Error( 'Module in state \"' + registry[ module ].state + '\" may not execute: ' + module );\n\t\t}\n\n\t\tregistry[ module ].state = 'executing';\n\t\t$CODE.profileExecuteStart();\n\n\t\tvar runScript = function () {\n\t\t\t$CODE.profileScriptStart();\n\t\t\tvar script = registry[ module ].script;\n\t\t\tvar markModuleReady = function () {\n\t\t\t\t$CODE.profileScriptEnd();\n\t\t\t\tsetAndPropagate( module, 'ready' );\n\t\t\t};\n\t\t\tvar nestedAddScript = function ( arr, offset ) {\n\t\t\t\t// Recursively call queueModuleScript() in its own callback\n\t\t\t\t// for each element of arr.\n\t\t\t\tif ( offset >= arr.length ) {\n\t\t\t\t\t// We're at the end of the array\n\t\t\t\t\tmarkModuleReady();\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tqueueModuleScript( arr[ offset ], module, function () {\n\t\t\t\t\tnestedAddScript( arr, offset + 1 );\n\t\t\t\t} );\n\t\t\t};\n\n\t\t\ttry {\n\t\t\t\tif ( Array.isArray( script ) ) {\n\t\t\t\t\tnestedAddScript( script, 0 );\n\t\t\t\t} else if ( typeof script === 'function' ) {\n\t\t\t\t\t// Keep in sync with queueModuleScript() for debug mode\n\t\t\t\t\tif ( module === 'jquery' ) {\n\t\t\t\t\t\t// This is a special case for when 'jquery' itself is being loaded.\n\t\t\t\t\t\t// - The standard jquery.js distribution does not set `window.jQuery`\n\t\t\t\t\t\t// in CommonJS-compatible environments (Node.js, AMD, RequireJS, etc.).\n\t\t\t\t\t\t// - MediaWiki's 'jquery' module also bundles jquery.migrate.js, which\n\t\t\t\t\t\t// in a CommonJS-compatible environment, will use require('jquery'),\n\t\t\t\t\t\t// but that can't work when we're still inside that module.\n\t\t\t\t\t\tscript();\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// Pass jQuery twice so that the signature of the closure which wraps\n\t\t\t\t\t\t// the script can bind both '$' and 'jQuery'.\n\t\t\t\t\t\tscript( window.$, window.$, mw.loader.require, registry[ module ].module );\n\t\t\t\t\t}\n\t\t\t\t\tmarkModuleReady();\n\t\t\t\t} else if ( typeof script === 'object' && script !== null ) {\n\t\t\t\t\tvar mainScript = script.files[ script.main ];\n\t\t\t\t\tif ( typeof mainScript !== 'function' ) {\n\t\t\t\t\t\tthrow new Error( 'Main file in module ' + module + ' must be a function' );\n\t\t\t\t\t}\n\t\t\t\t\t// jQuery parameters are not passed for multi-file modules\n\t\t\t\t\tmainScript(\n\t\t\t\t\t\tmakeRequireFunction( registry[ module ], script.main ),\n\t\t\t\t\t\tregistry[ module ].module,\n\t\t\t\t\t\tregistry[ module ].module.exports\n\t\t\t\t\t);\n\t\t\t\t\tmarkModuleReady();\n\t\t\t\t} else if ( typeof script === 'string' ) {\n\t\t\t\t\t// Site and user modules are legacy scripts that run in the global scope.\n\t\t\t\t\t// This is transported as a string instead of a function to avoid needing\n\t\t\t\t\t// to use string manipulation to undo the function wrapper.\n\t\t\t\t\tglobalEval( script );\n\t\t\t\t\tmarkModuleReady();\n\n\t\t\t\t} else {\n\t\t\t\t\t// Module without script\n\t\t\t\t\tmarkModuleReady();\n\t\t\t\t}\n\t\t\t} catch ( e ) {\n\t\t\t\t// Use mw.trackError instead of mw.log because these errors are common in production mode\n\t\t\t\t// (e.g. undefined variable), and mw.log is only enabled in debug mode.\n\t\t\t\tsetAndPropagate( module, 'error' );\n\t\t\t\t$CODE.profileScriptEnd();\n\t\t\t\tmw.trackError( {\n\t\t\t\t\texception: e,\n\t\t\t\t\tmodule: module,\n\t\t\t\t\tsource: 'module-execute'\n\t\t\t\t} );\n\t\t\t}\n\t\t};\n\n\t\t// Emit deprecation warnings\n\t\tif ( registry[ module ].deprecationWarning ) {\n\t\t\tmw.log.warn( registry[ module ].deprecationWarning );\n\t\t}\n\n\t\t// Add localizations to message system\n\t\tif ( registry[ module ].messages ) {\n\t\t\tmw.messages.set( registry[ module ].messages );\n\t\t}\n\n\t\t// Initialise templates\n\t\tif ( registry[ module ].templates ) {\n\t\t\tmw.templates.set( module, registry[ module ].templates );\n\t\t}\n\n\t\t// Adding of stylesheets is asynchronous via addEmbeddedCSS().\n\t\t// The below function uses a counting semaphore to make sure we don't call\n\t\t// runScript() until after this module's stylesheets have been inserted\n\t\t// into the DOM.\n\t\tvar cssPending = 0;\n\t\tvar cssHandle = function () {\n\t\t\t// Increase semaphore, when creating a callback for addEmbeddedCSS.\n\t\t\tcssPending++;\n\t\t\treturn function () {\n\t\t\t\t// Decrease semaphore, when said callback is invoked.\n\t\t\t\tcssPending--;\n\t\t\t\tif ( cssPending === 0 ) {\n\t\t\t\t\t// Paranoia:\n\t\t\t\t\t// This callback is exposed to addEmbeddedCSS, which is outside the execute()\n\t\t\t\t\t// function and is not concerned with state-machine integrity. In turn,\n\t\t\t\t\t// addEmbeddedCSS() actually exposes stuff further via requestAnimationFrame.\n\t\t\t\t\t// If increment and decrement callbacks happen in the wrong order, or start\n\t\t\t\t\t// again afterwards, then this branch could be reached multiple times.\n\t\t\t\t\t// To protect the integrity of the state-machine, prevent that from happening\n\t\t\t\t\t// by making runScript() cannot be called more than once. We store a private\n\t\t\t\t\t// reference when we first reach this branch, then deference the original, and\n\t\t\t\t\t// call our reference to it.\n\t\t\t\t\tvar runScriptCopy = runScript;\n\t\t\t\t\trunScript = undefined;\n\t\t\t\t\trunScriptCopy();\n\t\t\t\t}\n\t\t\t};\n\t\t};\n\n\t\t// Process styles (see also mw.loader.impl)\n\t\t// * { \"css\": [css, ..] }\n\t\t// * { \"url\": { <media>: [url, ..] } }\n\t\tvar style = registry[ module ].style;\n\t\tif ( style ) {\n\t\t\t// Array of CSS strings under key 'css'\n\t\t\t// { \"css\": [css, ..] }\n\t\t\tif ( 'css' in style ) {\n\t\t\t\tfor ( var i = 0; i < style.css.length; i++ ) {\n\t\t\t\t\taddEmbeddedCSS( style.css[ i ], cssHandle() );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Plain object with array of urls under a media-type key\n\t\t\t// { \"url\": { <media>: [url, ..] } }\n\t\t\tif ( 'url' in style ) {\n\t\t\t\tfor ( var media in style.url ) {\n\t\t\t\t\tvar urls = style.url[ media ];\n\t\t\t\t\tfor ( var j = 0; j < urls.length; j++ ) {\n\t\t\t\t\t\taddLink( urls[ j ], media, marker );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// End profiling of execute()-self before we call runScript(),\n\t\t// which we want to measure separately without overlap.\n\t\t$CODE.profileExecuteEnd();\n\n\t\tif ( module === 'user' ) {\n\t\t\t// Implicit dependency on the site module. Not a real dependency because it should\n\t\t\t// run after 'site' regardless of whether it succeeds or fails.\n\t\t\t// Note: This is a simplified version of mw.loader.using(), inlined here because\n\t\t\t// mw.loader.using() is part of mediawiki.base (depends on jQuery; T192623).\n\t\t\tvar siteDeps;\n\t\t\tvar siteDepErr;\n\t\t\ttry {\n\t\t\t\tsiteDeps = resolve( [ 'site' ] );\n\t\t\t} catch ( e ) {\n\t\t\t\tsiteDepErr = e;\n\t\t\t\trunScript();\n\t\t\t}\n\t\t\tif ( !siteDepErr ) {\n\t\t\t\tenqueue( siteDeps, runScript, runScript );\n\t\t\t}\n\t\t} else if ( cssPending === 0 ) {\n\t\t\t// Regular module without styles\n\t\t\trunScript();\n\t\t}\n\t\t// else: runScript will get called via cssHandle()\n\t}\n\n\tfunction sortQuery( o ) {\n\t\tvar sorted = {};\n\t\tvar list = [];\n\n\t\tfor ( var key in o ) {\n\t\t\tlist.push( key );\n\t\t}\n\t\tlist.sort();\n\t\tfor ( var i = 0; i < list.length; i++ ) {\n\t\t\tsorted[ list[ i ] ] = o[ list[ i ] ];\n\t\t}\n\t\treturn sorted;\n\t}\n\n\t/**\n\t * Converts a module map of the form `{ foo: [ 'bar', 'baz' ], bar: [ 'baz, 'quux' ] }`\n\t * to a query string of the form `foo.bar,baz|bar.baz,quux`.\n\t *\n\t * See `ResourceLoader::makePackedModulesString()` in PHP, of which this is a port.\n\t * On the server, unpacking is done by `ResourceLoader::expandModuleNames()`.\n\t *\n\t * Note: This is only half of the logic, the other half has to be in #batchRequest(),\n\t * because its implementation needs to keep track of potential string size in order\n\t * to decide when to split the requests due to url size.\n\t *\n\t * @typedef {Object} ModuleString\n\t * @property {string} str Module query string\n\t * @property {Array} list List of module names in matching order\n\t *\n\t * @private\n\t * @param {Object} moduleMap Module map\n\t * @return {ModuleString}\n\t */\n\tfunction buildModulesString( moduleMap ) {\n\t\tvar str = [];\n\t\tvar list = [];\n\t\tvar p;\n\n\t\tfunction restore( suffix ) {\n\t\t\treturn p + suffix;\n\t\t}\n\n\t\tfor ( var prefix in moduleMap ) {\n\t\t\tp = prefix === '' ? '' : prefix + '.';\n\t\t\tstr.push( p + moduleMap[ prefix ].join( ',' ) );\n\t\t\tlist.push.apply( list, moduleMap[ prefix ].map( restore ) );\n\t\t}\n\t\treturn {\n\t\t\tstr: str.join( '|' ),\n\t\t\tlist: list\n\t\t};\n\t}\n\n\t/**\n\t * @private\n\t * @param {Object} params Map of parameter names to values\n\t * @return {string}\n\t */\n\tfunction makeQueryString( params ) {\n\t\t// Optimisation: This is a fairly hot code path with batchRequest() loops.\n\t\t// Avoid overhead from Object.keys and Array.forEach.\n\t\t// String concatenation is faster than array pushing and joining, see\n\t\t// https://phabricator.wikimedia.org/P19931\n\t\tvar str = '';\n\t\tfor ( var key in params ) {\n\t\t\t// Parameters are separated by &, added before all parameters other than\n\t\t\t// the first\n\t\t\tstr += ( str ? '&' : '' ) + encodeURIComponent( key ) + '=' +\n\t\t\t\tencodeURIComponent( params[ key ] );\n\t\t}\n\t\treturn str;\n\t}\n\n\t/**\n\t * Create network requests for a batch of modules.\n\t *\n\t * This is an internal method for #work(). This must not be called directly\n\t * unless the modules are already registered, and no request is in progress,\n\t * and the module state has already been set to `loading`.\n\t *\n\t * @private\n\t * @param {string[]} batch\n\t */\n\tfunction batchRequest( batch ) {\n\t\tif ( !batch.length ) {\n\t\t\treturn;\n\t\t}\n\n\t\tvar sourceLoadScript, currReqBase, moduleMap;\n\n\t\t/**\n\t\t * Start the currently drafted request to the server.\n\t\t *\n\t\t * @ignore\n\t\t */\n\t\tfunction doRequest() {\n\t\t\t// Optimisation: Inherit (Object.create), not copy ($.extend)\n\t\t\tvar query = Object.create( currReqBase ),\n\t\t\t\tpacked = buildModulesString( moduleMap );\n\t\t\tquery.modules = packed.str;\n\t\t\t// The packing logic can change the effective order, even if the input was\n\t\t\t// sorted. As such, the call to getCombinedVersion() must use this\n\t\t\t// effective order to ensure that the combined version will match the hash\n\t\t\t// expected by the server based on combining versions from the module\n\t\t\t// query string in-order. (T188076)\n\t\t\tquery.version = getCombinedVersion( packed.list );\n\t\t\tquery = sortQuery( query );\n\t\t\taddScript( sourceLoadScript + '?' + makeQueryString( query ), null, packed.list );\n\t\t}\n\n\t\t// Always order modules alphabetically to help reduce cache\n\t\t// misses for otherwise identical content.\n\t\tbatch.sort();\n\n\t\t// Query parameters common to all requests\n\t\tvar reqBase = $VARS.reqBase;\n\n\t\t// Split module list by source and by group.\n\t\tvar splits = Object.create( null );\n\t\tfor ( var b = 0; b < batch.length; b++ ) {\n\t\t\tvar bSource = registry[ batch[ b ] ].source;\n\t\t\tvar bGroup = registry[ batch[ b ] ].group;\n\t\t\tif ( !splits[ bSource ] ) {\n\t\t\t\tsplits[ bSource ] = Object.create( null );\n\t\t\t}\n\t\t\tif ( !splits[ bSource ][ bGroup ] ) {\n\t\t\t\tsplits[ bSource ][ bGroup ] = [];\n\t\t\t}\n\t\t\tsplits[ bSource ][ bGroup ].push( batch[ b ] );\n\t\t}\n\n\t\tfor ( var source in splits ) {\n\t\t\tsourceLoadScript = sources[ source ];\n\n\t\t\tfor ( var group in splits[ source ] ) {\n\n\t\t\t\t// Cache access to currently selected list of\n\t\t\t\t// modules for this group from this source.\n\t\t\t\tvar modules = splits[ source ][ group ];\n\n\t\t\t\t// Query parameters common to requests for this module group\n\t\t\t\t// Optimisation: Inherit (Object.create), not copy ($.extend)\n\t\t\t\tcurrReqBase = Object.create( reqBase );\n\t\t\t\t// User modules require a user name in the query string.\n\t\t\t\tif ( group === $VARS.groupUser && mw.config.get( 'wgUserName' ) !== null ) {\n\t\t\t\t\tcurrReqBase.user = mw.config.get( 'wgUserName' );\n\t\t\t\t}\n\n\t\t\t\t// In addition to currReqBase, doRequest() will also add 'modules' and 'version'.\n\t\t\t\t// > '&modules='.length === 9\n\t\t\t\t// > '&version=12345'.length === 14\n\t\t\t\t// > 9 + 14 = 23\n\t\t\t\tvar currReqBaseLength = makeQueryString( currReqBase ).length + 23;\n\n\t\t\t\t// We may need to split up the request to honor the query string length limit,\n\t\t\t\t// so build it piece by piece. `length` does not include the characters from\n\t\t\t\t// the request base, see below\n\t\t\t\tvar length = 0;\n\t\t\t\tmoduleMap = Object.create( null ); // { prefix: [ suffixes ] }\n\n\t\t\t\tfor ( var i = 0; i < modules.length; i++ ) {\n\t\t\t\t\t// Determine how many bytes this module would add to the query string\n\t\t\t\t\tvar lastDotIndex = modules[ i ].lastIndexOf( '.' ),\n\t\t\t\t\t\tprefix = modules[ i ].slice( 0, Math.max( 0, lastDotIndex ) ),\n\t\t\t\t\t\tsuffix = modules[ i ].slice( lastDotIndex + 1 ),\n\t\t\t\t\t\tbytesAdded = moduleMap[ prefix ] ?\n\t\t\t\t\t\t\tsuffix.length + 3 : // '%2C'.length == 3\n\t\t\t\t\t\t\tmodules[ i ].length + 3; // '%7C'.length == 3\n\n\t\t\t\t\t// If the url would become too long, create a new one, but don't create empty requests.\n\t\t\t\t\t// The value of `length` only reflects the request-specific bytes relating to the\n\t\t\t\t\t// accumulated entries in moduleMap so far. It does not include the base length,\n\t\t\t\t\t// which we account for separately with `currReqBaseLength` so that length is 0\n\t\t\t\t\t// when moduleMap is empty.\n\t\t\t\t\tif ( length && length + currReqBaseLength + bytesAdded > mw.loader.maxQueryLength ) {\n\t\t\t\t\t\t// Dispatch what we've got...\n\t\t\t\t\t\tdoRequest();\n\t\t\t\t\t\t// .. and start preparing a new request.\n\t\t\t\t\t\tlength = 0;\n\t\t\t\t\t\tmoduleMap = Object.create( null );\n\t\t\t\t\t}\n\t\t\t\t\tif ( !moduleMap[ prefix ] ) {\n\t\t\t\t\t\tmoduleMap[ prefix ] = [];\n\t\t\t\t\t}\n\t\t\t\t\tlength += bytesAdded;\n\t\t\t\t\tmoduleMap[ prefix ].push( suffix );\n\t\t\t\t}\n\t\t\t\t// Optimization: Skip `length` check.\n\t\t\t\t// moduleMap will contain at least one module here. The loop above leaves the last module\n\t\t\t\t// undispatched (and maybe some before it), so for moduleMap to be empty here, there must\n\t\t\t\t// have been no modules to iterate in the current group to start with, but we only create\n\t\t\t\t// a group in `splits` when the first module in the group is seen, so there are always\n\t\t\t\t// modules in the group when this code is reached.\n\t\t\t\tdoRequest();\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * @private\n\t * @param {string[]} implementations Array containing pieces of JavaScript code in the\n\t * form of calls to mw.loader#impl().\n\t * @param {Function} cb Callback in case of failure\n\t * @param {Error} cb.err\n\t * @param {number} [offset] Integer offset into implementations to start at\n\t */\n\tfunction asyncEval( implementations, cb, offset ) {\n\t\tif ( !implementations.length ) {\n\t\t\treturn;\n\t\t}\n\t\toffset = offset || 0;\n\t\tmw.requestIdleCallback( function ( deadline ) {\n\t\t\tasyncEvalTask( deadline, implementations, cb, offset );\n\t\t} );\n\t}\n\n\t/**\n\t * Idle callback for asyncEval\n\t *\n\t * @private\n\t * @param {IdleDeadline} deadline\n\t * @param {string[]} implementations\n\t * @param {Function} cb\n\t * @param {Error} cb.err\n\t * @param {number} offset\n\t */\n\tfunction asyncEvalTask( deadline, implementations, cb, offset ) {\n\t\tfor ( var i = offset; i < implementations.length; i++ ) {\n\t\t\tif ( deadline.timeRemaining() <= 0 ) {\n\t\t\t\tasyncEval( implementations, cb, i );\n\t\t\t\treturn;\n\t\t\t}\n\t\t\ttry {\n\t\t\t\tindirectEval( implementations[ i ] );\n\t\t\t} catch ( err ) {\n\t\t\t\tcb( err );\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Make a versioned key for a specific module.\n\t *\n\t * @private\n\t * @param {string} module Module name\n\t * @return {string|null} Module key in format '`[name]@[version]`',\n\t * or null if the module does not exist\n\t */\n\tfunction getModuleKey( module ) {\n\t\treturn module in registry ? ( module + '@' + registry[ module ].version ) : null;\n\t}\n\n\t/**\n\t * @private\n\t * @param {string} key Module name or '`[name]@[version]`'\n\t * @return {Object}\n\t */\n\tfunction splitModuleKey( key ) {\n\t\t// Module names may contain '@' but version strings may not, so the last '@' is the delimiter\n\t\tvar index = key.lastIndexOf( '@' );\n\t\t// If the key doesn't contain '@' or starts with it, the whole thing is the module name\n\t\tif ( index === -1 || index === 0 ) {\n\t\t\treturn {\n\t\t\t\tname: key,\n\t\t\t\tversion: ''\n\t\t\t};\n\t\t}\n\t\treturn {\n\t\t\tname: key.slice( 0, index ),\n\t\t\tversion: key.slice( index + 1 )\n\t\t};\n\t}\n\n\t/**\n\t * @private\n\t * @param {string} module\n\t * @param {string} [version]\n\t * @param {string[]} [dependencies]\n\t * @param {string} [group]\n\t * @param {string} [source]\n\t * @param {string} [skip]\n\t */\n\tfunction registerOne( module, version, dependencies, group, source, skip ) {\n\t\tif ( module in registry ) {\n\t\t\tthrow new Error( 'module already registered: ' + module );\n\t\t}\n\n\t\tregistry[ module ] = {\n\t\t\t// Exposed to execute() for mw.loader.impl() closures.\n\t\t\t// Import happens via require().\n\t\t\tmodule: {\n\t\t\t\texports: {}\n\t\t\t},\n\t\t\t// module.export objects for each package file inside this module\n\t\t\tpackageExports: {},\n\t\t\tversion: version || '',\n\t\t\tdependencies: dependencies || [],\n\t\t\tgroup: typeof group === 'undefined' ? null : group,\n\t\t\tsource: typeof source === 'string' ? source : 'local',\n\t\t\tstate: 'registered',\n\t\t\tskip: typeof skip === 'string' ? skip : null\n\t\t};\n\t}\n\n\t/* Public Members */\n\n\tmw.loader = {\n\t\t/**\n\t\t * The module registry is exposed as an aid for debugging and inspecting page\n\t\t * state; it is not a public interface for modifying the registry.\n\t\t *\n\t\t * @see #registry\n\t\t * @property {Object}\n\t\t * @private\n\t\t */\n\t\tmoduleRegistry: registry,\n\n\t\t/**\n\t\t * Exposed for testing and debugging only.\n\t\t *\n\t\t * @see #batchRequest\n\t\t * @property {number}\n\t\t * @private\n\t\t */\n\t\tmaxQueryLength: $VARS.maxQueryLength,\n\n\t\taddStyleTag: newStyleTag,\n\n\t\t// Exposed for internal use only. Documented as @private.\n\t\taddScriptTag: addScript,\n\t\t// Exposed for internal use only. Documented as @private.\n\t\taddLinkTag: addLink,\n\n\t\t// Exposed for internal use only. Documented as @private.\n\t\tenqueue: enqueue,\n\n\t\t// Exposed for internal use only. Documented as @private.\n\t\tresolve: resolve,\n\n\t\t/**\n\t\t * Start loading of all queued module dependencies.\n\t\t *\n\t\t * @private\n\t\t */\n\t\twork: function () {\n\t\t\tstore.init();\n\n\t\t\tvar q = queue.length,\n\t\t\t\tstoredImplementations = [],\n\t\t\t\tstoredNames = [],\n\t\t\t\trequestNames = [],\n\t\t\t\tbatch = new Set();\n\n\t\t\t// Iterate the list of requested modules, and do one of three things:\n\t\t\t// - 1) Nothing (if already loaded or being loaded).\n\t\t\t// - 2) Eval the cached implementation from the module store.\n\t\t\t// - 3) Request from network.\n\t\t\twhile ( q-- ) {\n\t\t\t\tvar module = queue[ q ];\n\t\t\t\t// Only consider modules which are the initial 'registered' state,\n\t\t\t\t// and ignore duplicates\n\t\t\t\tif ( mw.loader.getState( module ) === 'registered' &&\n\t\t\t\t\t!batch.has( module )\n\t\t\t\t) {\n\t\t\t\t\t// Progress the state machine\n\t\t\t\t\tregistry[ module ].state = 'loading';\n\t\t\t\t\tbatch.add( module );\n\n\t\t\t\t\tvar implementation = store.get( module );\n\t\t\t\t\tif ( implementation ) {\n\t\t\t\t\t\t// Module store enabled and contains this module/version\n\t\t\t\t\t\tstoredImplementations.push( implementation );\n\t\t\t\t\t\tstoredNames.push( module );\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// Module store disabled or doesn't have this module/version\n\t\t\t\t\t\trequestNames.push( module );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Now that the queue has been processed into a batch, clear the queue.\n\t\t\t// This MUST happen before we initiate any eval or network request. Otherwise,\n\t\t\t// it is possible for a cached script to instantly trigger the same work queue\n\t\t\t// again; all before we've cleared it causing each request to include modules\n\t\t\t// which are already loaded.\n\t\t\tqueue = [];\n\n\t\t\tasyncEval( storedImplementations, function ( err ) {\n\t\t\t\t// Not good, the cached mw.loader.impl calls failed! This should\n\t\t\t\t// never happen, barring ResourceLoader bugs, browser bugs and PEBKACs.\n\t\t\t\t// Depending on how corrupt the string is, it is likely that some\n\t\t\t\t// modules' impl() succeeded while the ones after the error will\n\t\t\t\t// never run and leave their modules in the 'loading' state forever.\n\t\t\t\tstore.stats.failed++;\n\n\t\t\t\t// Since this is an error not caused by an individual module but by\n\t\t\t\t// something that infected the implement call itself, don't take any\n\t\t\t\t// risks and clear everything in this cache.\n\t\t\t\tstore.clear();\n\n\t\t\t\tmw.trackError( {\n\t\t\t\t\texception: err,\n\t\t\t\t\tsource: 'store-eval'\n\t\t\t\t} );\n\t\t\t\t// For any failed ones, fallback to requesting from network\n\t\t\t\tvar failed = storedNames.filter( function ( name ) {\n\t\t\t\t\treturn registry[ name ].state === 'loading';\n\t\t\t\t} );\n\t\t\t\tbatchRequest( failed );\n\t\t\t} );\n\n\t\t\tbatchRequest( requestNames );\n\t\t},\n\n\t\t/**\n\t\t * Register a source.\n\t\t *\n\t\t * The #work() method will use this information to split up requests by source.\n\t\t *\n\t\t * @example\n\t\t * mw.loader.addSource( { mediawikiwiki: 'https://www.mediawiki.org/w/load.php' } );\n\t\t *\n\t\t * @private\n\t\t * @param {Object} ids An object mapping ids to load.php end point urls\n\t\t * @throws {Error} If source id is already registered\n\t\t */\n\t\taddSource: function ( ids ) {\n\t\t\tfor ( var id in ids ) {\n\t\t\t\tif ( id in sources ) {\n\t\t\t\t\tthrow new Error( 'source already registered: ' + id );\n\t\t\t\t}\n\t\t\t\tsources[ id ] = ids[ id ];\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Register a module, letting the system know about it and its properties.\n\t\t *\n\t\t * The startup module calls this method.\n\t\t *\n\t\t * When using multiple module registration by passing an array, dependencies that\n\t\t * are specified as references to modules within the array will be resolved before\n\t\t * the modules are registered.\n\t\t *\n\t\t * @param {string|Array} modules Module name or array of arrays, each containing\n\t\t * a list of arguments compatible with this method\n\t\t * @param {string} [version] Module version hash (falls backs to empty string)\n\t\t * @param {string[]} [dependencies] Array of module names on which this module depends.\n\t\t * @param {string} [group=null] Group which the module is in\n\t\t * @param {string} [source='local'] Name of the source\n\t\t * @param {string} [skip=null] Script body of the skip function\n\t\t * @private\n\t\t */\n\t\tregister: function ( modules ) {\n\t\t\tif ( typeof modules !== 'object' ) {\n\t\t\t\tregisterOne.apply( null, arguments );\n\t\t\t\treturn;\n\t\t\t}\n\t\t\t// Need to resolve indexed dependencies:\n\t\t\t// ResourceLoader uses an optimisation to save space which replaces module\n\t\t\t// names in dependency lists with the index of that module within the\n\t\t\t// array of module registration data if it exists. The benefit is a significant\n\t\t\t// reduction in the data size of the startup module. This loop changes\n\t\t\t// those dependency lists back to arrays of strings.\n\t\t\tfunction resolveIndex( dep ) {\n\t\t\t\treturn typeof dep === 'number' ? modules[ dep ][ 0 ] : dep;\n\t\t\t}\n\n\t\t\tfor ( var i = 0; i < modules.length; i++ ) {\n\t\t\t\tvar deps = modules[ i ][ 2 ];\n\t\t\t\tif ( deps ) {\n\t\t\t\t\tfor ( var j = 0; j < deps.length; j++ ) {\n\t\t\t\t\t\tdeps[ j ] = resolveIndex( deps[ j ] );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t// Optimisation: Up to 55% faster.\n\t\t\t\t// Typically register() is called exactly once on a page, and with a batch.\n\t\t\t\t// See <https://gist.github.com/Krinkle/f06fdb3de62824c6c16f02a0e6ce0e66>\n\t\t\t\t// Benchmarks taught us that the code for adding an object to `registry`\n\t\t\t\t// should be in a function that has only one signature and does no arguments\n\t\t\t\t// manipulation.\n\t\t\t\t// JS semantics make it hard to optimise recursion to a different\n\t\t\t\t// signature of itself, hence we moved this out.\n\t\t\t\tregisterOne.apply( null, modules[ i ] );\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Implement a module given the components of the module.\n\t\t *\n\t\t * See #impl for a full description of the parameters.\n\t\t *\n\t\t * Prior to MW 1.41, this was used internally, but now it is only kept\n\t\t * for backwards compatibility.\n\t\t *\n\t\t * Does not support mw.loader.store caching.\n\t\t *\n\t\t * @param {string} module\n\t\t * @param {Function|Array|string|Object} [script]\n\t\t * @param {Object} [style]\n\t\t * @param {Object} [messages] List of key/value pairs to be added to mw#messages.\n\t\t * @param {Object} [templates] List of key/value pairs to be added to mw#templates.\n\t\t * @param {string|null} [deprecationWarning] Deprecation warning if any\n\t\t * @private\n\t\t */\n\t\timplement: function ( module, script, style, messages, templates, deprecationWarning ) {\n\t\t\tvar split = splitModuleKey( module ),\n\t\t\t\tname = split.name,\n\t\t\t\tversion = split.version;\n\n\t\t\t// Automatically register module\n\t\t\tif ( !( name in registry ) ) {\n\t\t\t\tmw.loader.register( name );\n\t\t\t}\n\t\t\t// Check for duplicate implementation\n\t\t\tif ( registry[ name ].script !== undefined ) {\n\t\t\t\tthrow new Error( 'module already implemented: ' + name );\n\t\t\t}\n\t\t\tregistry[ name ].version = version;\n\t\t\tregistry[ name ].declarator = null; // not supported\n\t\t\tregistry[ name ].script = script;\n\t\t\tregistry[ name ].style = style;\n\t\t\tregistry[ name ].messages = messages;\n\t\t\tregistry[ name ].templates = templates;\n\t\t\tregistry[ name ].deprecationWarning = deprecationWarning;\n\t\t\t// The module may already have been marked as erroneous\n\t\t\tif ( registry[ name ].state !== 'error' && registry[ name ].state !== 'missing' ) {\n\t\t\t\tsetAndPropagate( name, 'loaded' );\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Implement a module given a function which returns the components of the module\n\t\t *\n\t\t * @param {Function} declarator\n\t\t *\n\t\t * The declarator should return an array with the following keys:\n\t\t *\n\t\t * - 0. {string} module Name of module and current module version. Formatted\n\t\t * as '`[name]@[version]`\". This version should match the requested version\n\t\t * (from #batchRequest and #registry). This avoids race conditions (T117587).\n\t\t *\n\t\t * - 1. {Function|Array|string|Object} [script] Module code. This can be a function,\n\t\t * a list of URLs to load via `<script src>`, a string for `globalEval()`, or an\n\t\t * object like {\"files\": {\"foo.js\":function, \"bar.js\": function, ...}, \"main\": \"foo.js\"}.\n\t\t * If an object is provided, the main file will be executed immediately, and the other\n\t\t * files will only be executed if loaded via require(). If a function or string is\n\t\t * provided, it will be executed/evaluated immediately. If an array is provided, all\n\t\t * URLs in the array will be loaded immediately, and executed as soon as they arrive.\n\t\t *\n\t\t * - 2. {Object} [style] Should follow one of the following patterns:\n\t\t *\n\t\t * { \"css\": [css, ..] }\n\t\t * { \"url\": { (media): [url, ..] } }\n\t\t *\n\t\t * The reason css strings are not concatenated anymore is T33676. We now check\n\t\t * whether it's safe to extend the stylesheet.\n\t\t *\n\t\t * - 3. {Object} [messages] List of key/value pairs to be added to mw#messages.\n\t\t * - 4. {Object} [templates] List of key/value pairs to be added to mw#templates.\n\t\t * - 5. {String|null} [deprecationWarning] Deprecation warning if any\n\t\t *\n\t\t * The declarator must not use any scope variables, since it will be serialized with\n\t\t * Function.prototype.toString() and later restored and executed in the global scope.\n\t\t *\n\t\t * The elements are all optional except the name.\n\t\t * @private\n\t\t */\n\t\timpl: function ( declarator ) {\n\t\t\tvar data = declarator(),\n\t\t\t\tmodule = data[ 0 ],\n\t\t\t\tscript = data[ 1 ] || null,\n\t\t\t\tstyle = data[ 2 ] || null,\n\t\t\t\tmessages = data[ 3 ] || null,\n\t\t\t\ttemplates = data[ 4 ] || null,\n\t\t\t\tdeprecationWarning = data[ 5 ] || null,\n\t\t\t\tsplit = splitModuleKey( module ),\n\t\t\t\tname = split.name,\n\t\t\t\tversion = split.version;\n\n\t\t\t// Automatically register module\n\t\t\tif ( !( name in registry ) ) {\n\t\t\t\tmw.loader.register( name );\n\t\t\t}\n\t\t\t// Check for duplicate implementation\n\t\t\tif ( registry[ name ].script !== undefined ) {\n\t\t\t\tthrow new Error( 'module already implemented: ' + name );\n\t\t\t}\n\t\t\t// Without this reset, if there is a version mismatch between the\n\t\t\t// requested and received module version, then mw.loader.store would\n\t\t\t// cache the response under the requested key. Thus poisoning the cache\n\t\t\t// indefinitely with a stale value. (T117587)\n\t\t\tregistry[ name ].version = version;\n\t\t\t// Attach components\n\t\t\tregistry[ name ].declarator = declarator;\n\t\t\tregistry[ name ].script = script;\n\t\t\tregistry[ name ].style = style;\n\t\t\tregistry[ name ].messages = messages;\n\t\t\tregistry[ name ].templates = templates;\n\t\t\tregistry[ name ].deprecationWarning = deprecationWarning;\n\t\t\t// The module may already have been marked as erroneous\n\t\t\tif ( registry[ name ].state !== 'error' && registry[ name ].state !== 'missing' ) {\n\t\t\t\tsetAndPropagate( name, 'loaded' );\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Load an external script or one or more modules.\n\t\t *\n\t\t * This method takes a list of unrelated modules. Use cases:\n\t\t *\n\t\t * - A web page will be composed of many different widgets. These widgets independently\n\t\t * queue their ResourceLoader modules (`OutputPage::addModules()`). If any of them\n\t\t * have problems, or are no longer known (e.g. cached HTML), the other modules\n\t\t * should still be loaded.\n\t\t * - This method is used for preloading, which must not throw. Later code that\n\t\t * calls #using() will handle the error.\n\t\t *\n\t\t * @param {string|Array} modules Either the name of a module, array of modules,\n\t\t * or a URL of an external script or style\n\t\t * @param {string} [type='text/javascript'] MIME type to use if calling with a URL of an\n\t\t * external script or style; acceptable values are \"text/css\" and\n\t\t * \"text/javascript\"; if no type is provided, text/javascript is assumed.\n\t\t * @throws {Error} If type is invalid\n\t\t */\n\t\tload: function ( modules, type ) {\n\n\t\t\tif ( typeof modules === 'string' && /^(https?:)?\\/?\\//.test( modules ) ) {\n\t\t\t\t// Called with a url like so:\n\t\t\t\t// - \"https://example.org/x.js\"\n\t\t\t\t// - \"http://example.org/x.js\"\n\t\t\t\t// - \"//example.org/x.js\"\n\t\t\t\t// - \"/x.js\"\n\t\t\t\tif ( type === 'text/css' ) {\n\t\t\t\t\taddLink( modules );\n\t\t\t\t} else if ( type === 'text/javascript' || type === undefined ) {\n\t\t\t\t\taddScript( modules );\n\t\t\t\t} else {\n\t\t\t\t\t// Unknown type\n\t\t\t\t\tthrow new Error( 'Invalid type ' + type );\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// One or more modules\n\t\t\t\tmodules = typeof modules === 'string' ? [ modules ] : modules;\n\t\t\t\t// Resolve modules into a flat list for internal queuing.\n\t\t\t\t// This also filters out unknown modules and modules with\n\t\t\t\t// unknown dependencies, allowing the rest to continue. (T36853)\n\t\t\t\t// Omit ready and error parameters, we don't have callbacks\n\t\t\t\tenqueue( resolveStubbornly( modules ) );\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Change the state of one or more modules.\n\t\t *\n\t\t * @param {Object} states Object of module name/state pairs\n\t\t * @private\n\t\t */\n\t\tstate: function ( states ) {\n\t\t\tfor ( var module in states ) {\n\t\t\t\tif ( !( module in registry ) ) {\n\t\t\t\t\tmw.loader.register( module );\n\t\t\t\t}\n\t\t\t\tsetAndPropagate( module, states[ module ] );\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Get the state of a module.\n\t\t *\n\t\t * Possible states for the public API:\n\t\t *\n\t\t * - `registered`: The module is available for loading but not yet requested.\n\t\t * - `loading`, `loaded`, or `executing`: The module is currently being loaded.\n\t\t * - `ready`: The module was successfully and fully loaded.\n\t\t * - `error`: The module or one its dependencies has failed to load, e.g. due to\n\t\t * uncaught error from the module's script files.\n\t\t * - `missing`: The module was requested but is not defined according to the server.\n\t\t *\n\t\t * Internal mw.loader state machine:\n\t\t *\n\t\t * - `registered`:\n\t\t * The module is known to the system but not yet required.\n\t\t * Meta data is stored by `register()`.\n\t\t * Calls to that method are generated server-side by StartupModule.\n\t\t * - `loading`:\n\t\t * The module was required through mw.loader (either directly or as dependency of\n\t\t * another module). The client will fetch module contents from mw.loader.store\n\t\t * or from the server. The contents should later be received by `implement()`.\n\t\t * - `loaded`:\n\t\t * The module has been received by `implement()`.\n\t\t * Once the module has no more dependencies in-flight, the module will be executed,\n\t\t * controlled via `setAndPropagate()` and `doPropagation()`.\n\t\t * - `executing`:\n\t\t * The module is being executed (apply messages and stylesheets, execute scripts)\n\t\t * by `execute()`.\n\t\t * - `ready`:\n\t\t * The module has been successfully executed.\n\t\t * - `error`:\n\t\t * The module (or one of its dependencies) produced an uncaught error during execution.\n\t\t * - `missing`:\n\t\t * The module was registered client-side and requested, but the server denied knowledge\n\t\t * of the module's existence.\n\t\t *\n\t\t * @param {string} module Name of module\n\t\t * @return {string|null} The state, or null if the module (or its state) is not\n\t\t * in the registry.\n\t\t */\n\t\tgetState: function ( module ) {\n\t\t\treturn module in registry ? registry[ module ].state : null;\n\t\t},\n\n\t\t/**\n\t\t * Get the exported value of a module.\n\t\t *\n\t\t * This static method is publicly exposed for debugging purposes\n\t\t * only and must not be used in production code. In production code,\n\t\t * please use the dynamically provided `require()` function instead.\n\t\t *\n\t\t * In case of lazy-loaded modules via mw.loader#using(), the returned\n\t\t * Promise provides the function, see #using() for examples.\n\t\t *\n\t\t * @private\n\t\t * @since 1.27\n\t\t * @param {string} moduleName Module name\n\t\t * @return {any} Exported value\n\t\t */\n\t\trequire: function ( moduleName ) {\n\t\t\tif ( moduleName.startsWith( './' ) || moduleName.startsWith( '../' ) ) {\n\t\t\t\tthrow new Error( 'Module names cannot start with \"./\" or \"../\". Did you mean to use Package files?' );\n\t\t\t}\n\n\t\t\tvar path;\n\t\t\tif ( window.QUnit ) {\n\t\t\t\t// Comply with Node specification\n\t\t\t\t// https://nodejs.org/docs/v20.1.0/api/modules.html#all-together\n\t\t\t\t//\n\t\t\t\t// > Interpret X as a combination of NAME and SUBPATH, where the NAME\n\t\t\t\t// > may have a \"@scope/\" prefix and the subpath begins with a slash (`/`).\n\t\t\t\t//\n\t\t\t\t// Regex inspired by Node [1], but simplified to suite our purposes\n\t\t\t\t// and split in two in order to keep the Regex Star Height under 2,\n\t\t\t\t// as per ESLint security/detect-unsafe-regex.\n\t\t\t\t//\n\t\t\t\t// These patterns match \"@scope/module/dir/file.js\" and \"module/dir/file.js\"\n\t\t\t\t// respectively. They must not match \"module.name\" or \"@scope/module.name\".\n\t\t\t\t//\n\t\t\t\t// [1] https://github.com/nodejs/node/blob/v20.1.0/lib/internal/modules/cjs/loader.js#L554-L560\n\t\t\t\tvar paths = moduleName.startsWith( '@' ) ?\n\t\t\t\t\t/^(@[^/]+\\/[^/]+)\\/(.*)$/.exec( moduleName ) :\n\t\t\t\t\t// eslint-disable-next-line no-mixed-spaces-and-tabs\n\t\t\t\t\t /^([^/]+)\\/(.*)$/.exec( moduleName );\n\t\t\t\tif ( paths ) {\n\t\t\t\t\tmoduleName = paths[ 1 ];\n\t\t\t\t\tpath = paths[ 2 ];\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Only ready modules can be required\n\t\t\tif ( mw.loader.getState( moduleName ) !== 'ready' ) {\n\t\t\t\t// Module may've forgotten to declare a dependency\n\t\t\t\tthrow new Error( 'Module \"' + moduleName + '\" is not loaded' );\n\t\t\t}\n\n\t\t\treturn path ?\n\t\t\t\tmakeRequireFunction( registry[ moduleName ], '' )( './' + path ) :\n\t\t\t\tregistry[ moduleName ].module.exports;\n\t\t}\n\t};\n\n\tvar hasPendingFlush = false,\n\t\thasPendingWrites = false;\n\n\t/**\n\t * Actually update the store\n\t *\n\t * @see #requestUpdate\n\t * @private\n\t */\n\tfunction flushWrites() {\n\t\t// Process queued module names, serialise their contents to the in-memory store.\n\t\twhile ( store.queue.length ) {\n\t\t\tstore.set( store.queue.shift() );\n\t\t}\n\n\t\t// Optimization: Don't reserialize the entire store and rewrite localStorage,\n\t\t// if no module was added or changed.\n\t\tif ( hasPendingWrites ) {\n\t\t\t// Remove anything from the in-memory store that came from previous page\n\t\t\t// loads that no longer corresponds with current module names and versions.\n\t\t\tstore.prune();\n\n\t\t\ttry {\n\t\t\t\t// Replacing the content of the module store might fail if the new\n\t\t\t\t// contents would exceed the browser's localStorage size limit. To\n\t\t\t\t// avoid clogging the browser with stale data, always remove the old\n\t\t\t\t// value before attempting to store a new one.\n\t\t\t\tlocalStorage.removeItem( store.key );\n\t\t\t\tlocalStorage.setItem( store.key, JSON.stringify( {\n\t\t\t\t\titems: store.items,\n\t\t\t\t\tvary: store.vary,\n\t\t\t\t\t// Store with 1e7 ms accuracy (1e4 seconds, or ~ 2.7 hours),\n\t\t\t\t\t// which is enough for the purpose of expiring after ~ 30 days.\n\t\t\t\t\tasOf: Math.ceil( Date.now() / 1e7 )\n\t\t\t\t} ) );\n\t\t\t} catch ( e ) {\n\t\t\t\tmw.trackError( {\n\t\t\t\t\texception: e,\n\t\t\t\t\tsource: 'store-localstorage-update'\n\t\t\t\t} );\n\t\t\t}\n\t\t}\n\n\t\t// Let the next call to requestUpdate() create a new timer.\n\t\thasPendingFlush = hasPendingWrites = false;\n\t}\n\n\t// We use a local variable `store` so that its easier to access, but also need to set\n\t// this in mw.loader so its exported - combine the two\n\n\t/**\n\t * On browsers that implement the localStorage API, the module store serves as a\n\t * smart complement to the browser cache. Unlike the browser cache, the module store\n\t * can slice a concatenated response from ResourceLoader into its constituent\n\t * modules and cache each of them separately, using each module's versioning scheme\n\t * to determine when the cache should be invalidated.\n\t *\n\t * @private\n\t * @singleton\n\t * @class mw.loader.store\n\t * @ignore\n\t */\n\tmw.loader.store = store = {\n\t\t// Whether the store is in use on this page.\n\t\tenabled: null,\n\n\t\t// The contents of the store, mapping '[name]@[version]' keys\n\t\t// to module implementations.\n\t\titems: {},\n\n\t\t// Names of modules to be stored during the next update.\n\t\t// See add() and update().\n\t\tqueue: [],\n\n\t\t// Cache hit stats\n\t\tstats: { hits: 0, misses: 0, expired: 0, failed: 0 },\n\n\t\t/**\n\t\t * The localStorage key for the entire module store. The key references\n\t\t * $wgDBname to prevent clashes between wikis which share a common host.\n\t\t *\n\t\t * @property {string}\n\t\t */\n\t\tkey: $VARS.storeKey,\n\n\t\t/**\n\t\t * A string containing various factors by which the module cache should vary.\n\t\t *\n\t\t * Defined by ResourceLoader\\StartupModule::getStoreVary() in PHP.\n\t\t *\n\t\t * @property {string}\n\t\t */\n\t\tvary: $VARS.storeVary,\n\n\t\t/**\n\t\t * Initialize the store.\n\t\t *\n\t\t * Retrieves store from localStorage and (if successfully retrieved) decoding\n\t\t * the stored JSON value to a plain object.\n\t\t */\n\t\tinit: function () {\n\t\t\t// Init only once per page\n\t\t\tif ( this.enabled === null ) {\n\t\t\t\tthis.enabled = false;\n\t\t\t\tif ( $VARS.storeEnabled ) {\n\t\t\t\t\tthis.load();\n\t\t\t\t} else {\n\t\t\t\t\t// Clear any previous store to free up space. (T66721)\n\t\t\t\t\tthis.clear();\n\t\t\t\t}\n\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Internal helper for init(). Separated for ease of testing.\n\t\t */\n\t\tload: function () {\n\t\t\t// These are the scenarios to think about:\n\t\t\t//\n\t\t\t// 1. localStorage is disallowed by the browser.\n\t\t\t// This means `localStorage.getItem` throws.\n\t\t\t// The store stays disabled.\n\t\t\t//\n\t\t\t// 2. localStorage did not contain our store key.\n\t\t\t// This usually means the browser has a cold cache for this site,\n\t\t\t// and thus localStorage.getItem returns null.\n\t\t\t// The store will be enabled, and `items` starts fresh.\n\t\t\t//\n\t\t\t// 3. localStorage contains parseable data, but it's not usable.\n\t\t\t// This means the data is too old, or is not valid for mw.loader.store.vary\n\t\t\t// (e.g. user switched skin or language).\n\t\t\t// The store will be enabled, and `items` starts fresh.\n\t\t\t//\n\t\t\t// 4. localStorage contains invalid JSON data.\n\t\t\t// This means the data was corrupted, and `JSON.parse` throws.\n\t\t\t// The store will be enabled, and `items` starts fresh.\n\t\t\t//\n\t\t\t// 5. localStorage contains valid and usable JSON.\n\t\t\t// This means we have a warm cache from a previous visit.\n\t\t\t// The store will be enabled, and `items` starts with the stored data.\n\n\t\t\ttry {\n\t\t\t\tvar raw = localStorage.getItem( this.key );\n\n\t\t\t\t// If we make it here, localStorage is enabled and available.\n\t\t\t\t// The rest of the function may fail, but that only affects what we load from\n\t\t\t\t// the cache. We'll still enable the store to allow storing new modules.\n\t\t\t\tthis.enabled = true;\n\n\t\t\t\t// If getItem returns null, JSON.parse() will cast to string and re-parse, still null.\n\t\t\t\tvar data = JSON.parse( raw );\n\t\t\t\tif ( data &&\n\t\t\t\t\tdata.vary === this.vary &&\n\t\t\t\t\tdata.items &&\n\t\t\t\t\t// Only use if it's been less than 30 days since the data was written\n\t\t\t\t\t// 30 days = 2,592,000 s = 2,592,000,000 ms = ± 259e7 ms\n\t\t\t\t\tDate.now() < ( data.asOf * 1e7 ) + 259e7\n\t\t\t\t) {\n\t\t\t\t\t// The data is not corrupt, matches our vary context, and has not expired.\n\t\t\t\t\tthis.items = data.items;\n\t\t\t\t}\n\t\t\t} catch ( e ) {\n\t\t\t\t// Ignore error from localStorage or JSON.parse.\n\t\t\t\t// Don't print any warning (T195647).\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Retrieve a module from the store and update cache hit stats.\n\t\t *\n\t\t * @param {string} module Module name\n\t\t * @return {string|boolean} Module implementation or false if unavailable\n\t\t */\n\t\tget: function ( module ) {\n\t\t\tif ( this.enabled ) {\n\t\t\t\tvar key = getModuleKey( module );\n\t\t\t\tif ( key in this.items ) {\n\t\t\t\t\tthis.stats.hits++;\n\t\t\t\t\treturn this.items[ key ];\n\t\t\t\t}\n\n\t\t\t\tthis.stats.misses++;\n\t\t\t}\n\n\t\t\treturn false;\n\t\t},\n\n\t\t/**\n\t\t * Queue the name of a module that the next update should consider storing.\n\t\t *\n\t\t * @since 1.32\n\t\t * @param {string} module Module name\n\t\t */\n\t\tadd: function ( module ) {\n\t\t\tif ( this.enabled ) {\n\t\t\t\tthis.queue.push( module );\n\t\t\t\tthis.requestUpdate();\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Add the contents of the named module to the in-memory store.\n\t\t *\n\t\t * This method does not guarantee that the module will be stored.\n\t\t * Inspection of the module's meta data and size will ultimately decide that.\n\t\t *\n\t\t * This method is considered internal to mw.loader.store and must only\n\t\t * be called if the store is enabled.\n\t\t *\n\t\t * @private\n\t\t * @param {string} module Module name\n\t\t */\n\t\tset: function ( module ) {\n\t\t\tvar descriptor = registry[ module ],\n\t\t\t\tkey = getModuleKey( module );\n\n\t\t\tif (\n\t\t\t\t// Already stored a copy of this exact version\n\t\t\t\tkey in this.items ||\n\t\t\t\t// Module failed to load\n\t\t\t\t!descriptor ||\n\t\t\t\tdescriptor.state !== 'ready' ||\n\t\t\t\t// Unversioned, private, or site-/user-specific\n\t\t\t\t!descriptor.version ||\n\t\t\t\tdescriptor.group === $VARS.groupPrivate ||\n\t\t\t\tdescriptor.group === $VARS.groupUser ||\n\t\t\t\t// Legacy descriptor, registered with mw.loader.implement\n\t\t\t\t!descriptor.declarator\n\t\t\t) {\n\t\t\t\t// Decline to store\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tvar script = String( descriptor.declarator );\n\t\t\t// Modules whose serialised form exceeds 100 kB won't be stored (T66721).\n\t\t\tif ( script.length > 1e5 ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tvar srcParts = [\n\t\t\t\t'mw.loader.impl(',\n\t\t\t\tscript,\n\t\t\t\t');\\n'\n\t\t\t];\n\t\t\tif ( $VARS.sourceMapLinks ) {\n\t\t\t\tsrcParts.push( '// Saved in localStorage at ', ( new Date() ).toISOString(), '\\n' );\n\t\t\t\tvar sourceLoadScript = sources[ descriptor.source ];\n\t\t\t\tvar query = Object.create( $VARS.reqBase );\n\t\t\t\tquery.modules = module;\n\t\t\t\tquery.version = getCombinedVersion( [ module ] );\n\t\t\t\tquery = sortQuery( query );\n\t\t\t\tsrcParts.push(\n\t\t\t\t\t'//# sourceURL=',\n\t\t\t\t\t// Use absolute URL so that Firefox console stack trace links will work\n\t\t\t\t\t( new URL( sourceLoadScript, location ) ).href,\n\t\t\t\t\t'?',\n\t\t\t\t\tmakeQueryString( query ),\n\t\t\t\t\t'\\n'\n\t\t\t\t);\n\n\t\t\t\tquery.sourcemap = '1';\n\t\t\t\tquery = sortQuery( query );\n\t\t\t\tsrcParts.push(\n\t\t\t\t\t'//# sourceMappingURL=',\n\t\t\t\t\tsourceLoadScript,\n\t\t\t\t\t'?',\n\t\t\t\t\tmakeQueryString( query )\n\t\t\t\t);\n\t\t\t}\n\t\t\tthis.items[ key ] = srcParts.join( '' );\n\t\t\thasPendingWrites = true;\n\t\t},\n\n\t\t/**\n\t\t * Iterate through the module store, removing any item that does not correspond\n\t\t * (in name and version) to an item in the module registry.\n\t\t */\n\t\tprune: function () {\n\t\t\tfor ( var key in this.items ) {\n\t\t\t\t// key is in the form [name]@[version], slice to get just the name\n\t\t\t\t// to provide to getModuleKey, which will return a key in the same\n\t\t\t\t// form but with the latest version\n\t\t\t\tif ( getModuleKey( splitModuleKey( key ).name ) !== key ) {\n\t\t\t\t\tthis.stats.expired++;\n\t\t\t\t\tdelete this.items[ key ];\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Clear the entire module store right now.\n\t\t */\n\t\tclear: function () {\n\t\t\tthis.items = {};\n\t\t\ttry {\n\t\t\t\tlocalStorage.removeItem( this.key );\n\t\t\t} catch ( e ) {}\n\t\t},\n\n\t\t/**\n\t\t * Request a sync of the in-memory store back to persisted localStorage.\n\t\t *\n\t\t * This function debounces updates. The debouncing logic should account\n\t\t * for the following factors:\n\t\t *\n\t\t * - Writing to localStorage is an expensive operation that must not happen\n\t\t * during the critical path of initialising and executing module code.\n\t\t * Instead, it should happen at a later time after modules have been given\n\t\t * time and priority to do their thing first.\n\t\t *\n\t\t * - This method is called from mw.loader.store.add(), which will be called\n\t\t * hundreds of times on a typical page, including within the same call-stack\n\t\t * and eventloop-tick. This is because responses from load.php happen in\n\t\t * batches. As such, we want to allow all modules from the same load.php\n\t\t * response to be written to disk with a single flush, not many.\n\t\t *\n\t\t * - Repeatedly deleting and creating timers is non-trivial.\n\t\t *\n\t\t * - localStorage is shared by all pages from the same origin, if multiple\n\t\t * pages are loaded with different module sets, the possibility exists that\n\t\t * modules saved by one page will be clobbered by another. The impact of\n\t\t * this is minor, it merely causes a less efficient cache use, and the\n\t\t * problem would be corrected by subsequent page views.\n\t\t *\n\t\t * This method is considered internal to mw.loader.store and must only\n\t\t * be called if the store is enabled.\n\t\t *\n\t\t * @private\n\t\t * @method\n\t\t */\n\t\trequestUpdate: function () {\n\t\t\t// On the first call to requestUpdate(), create a timer that\n\t\t\t// waits at least two seconds, then calls onTimeout.\n\t\t\t// The main purpose is to allow the current batch of load.php\n\t\t\t// responses to complete before we do anything. This batch can\n\t\t\t// trigger many hundreds of calls to requestUpdate().\n\t\t\tif ( !hasPendingFlush ) {\n\t\t\t\thasPendingFlush = setTimeout(\n\t\t\t\t\t// Defer the actual write via requestIdleCallback\n\t\t\t\t\tfunction () {\n\t\t\t\t\t\tmw.requestIdleCallback( flushWrites );\n\t\t\t\t\t},\n\t\t\t\t\t2000\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t};\n}() );\n","usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/startup/mediawiki.requestIdleCallback.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/startup/profiler.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/startup/startup.js","messages":[],"suppressedMessages":[{"ruleId":"no-implicit-globals","severity":2,"message":"Unexpected function declaration in the global scope, wrap in an IIFE for a local variable, assign as global property for a global variable.","line":27,"column":1,"nodeType":"FunctionDeclaration","messageId":"globalNonLexicalBinding","endLine":80,"endColumn":2,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"es-x/no-promise-prototype-finally","severity":2,"message":"ES2018 'Promise.prototype.finally' method is forbidden.","line":53,"column":36,"nodeType":"MemberExpression","messageId":"forbidden","endLine":53,"endColumn":66,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"dot-notation","severity":2,"message":"[\"finally\"] is better written in dot notation.","line":53,"column":55,"nodeType":"Literal","messageId":"useDot","endLine":53,"endColumn":64,"fix":{"range":[1802,1815],"text":".finally"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-new","severity":2,"message":"Do not use 'new' for side effects.","line":73,"column":5,"nodeType":"ExpressionStatement","messageId":"noNewStatement","endLine":73,"endColumn":43,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-new-func","severity":2,"message":"The Function constructor is eval.","line":73,"column":5,"nodeType":"NewExpression","messageId":"noFunctionConstructor","endLine":73,"endColumn":42,"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/vue/.eslintrc.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/vue/composition-api.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/vue/errorLogger.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/vue/i18n.js","messages":[],"suppressedMessages":[{"ruleId":"mediawiki/msg-doc","severity":1,"message":"All possible message keys should be documented. See https://w.wiki/4r9a for details.","line":33,"column":11,"nodeType":"CallExpression","endLine":33,"endColumn":43,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"mediawiki/msg-doc","severity":1,"message":"All possible message keys should be documented. See https://w.wiki/4r9a for details.","line":51,"column":15,"nodeType":"CallExpression","endLine":51,"endColumn":40,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"mediawiki/msg-doc","severity":1,"message":"All possible message keys should be documented. See https://w.wiki/4r9a for details.","line":57,"column":15,"nodeType":"CallExpression","endLine":57,"endColumn":57,"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/src/vue/index.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/sql/abstractSchemaChanges/patch-archive-drop-ar_sha1.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/sql/abstractSchemaChanges/patch-categorylinks-cl_timestamp_id.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/sql/abstractSchemaChanges/patch-categorylinks-drop-cl_to-cl_collation.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/sql/abstractSchemaChanges/patch-categorylinks-pk.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/sql/abstractSchemaChanges/patch-categorylinks-target_id.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/sql/abstractSchemaChanges/patch-change_tag-ct_rc_id.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/sql/abstractSchemaChanges/patch-drop-cl_collation_ext.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/sql/abstractSchemaChanges/patch-externallinks-drop-el_to.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/sql/abstractSchemaChanges/patch-externallinks-el_to_default.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/sql/abstractSchemaChanges/patch-externallinks-el_to_path.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/sql/abstractSchemaChanges/patch-filearchive-fa_size_to_bigint.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/sql/abstractSchemaChanges/patch-image-img_size_to_bigint.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/sql/abstractSchemaChanges/patch-ipblocks-ipb_id.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/sql/abstractSchemaChanges/patch-ipblocks_restrictions-ir_ipb_id.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/sql/abstractSchemaChanges/patch-iwlinks-drop-iwl_prefix_from_title.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/sql/abstractSchemaChanges/patch-oldimage-oi_size_to_bigint.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/sql/abstractSchemaChanges/patch-page-drop-page_restrictions.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/sql/abstractSchemaChanges/patch-page-page_links_updated-noinfinite.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/sql/abstractSchemaChanges/patch-pagelinks-drop-pl_title.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/sql/abstractSchemaChanges/patch-pagelinks-target_id.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/sql/abstractSchemaChanges/patch-recentchanges-drop-rc_new.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/sql/abstractSchemaChanges/patch-recentchanges-drop-rc_type.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/sql/abstractSchemaChanges/patch-recentchanges-rc_id-bigint.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/sql/abstractSchemaChanges/patch-recentchanges-rc_name_source_patrolled_timestamp.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/sql/abstractSchemaChanges/patch-recentchanges-rc_source_name_timestamp.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/sql/abstractSchemaChanges/patch-revision-cleanup.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/sql/abstractSchemaChanges/patch-revision-drop-rev_sha1.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/sql/abstractSchemaChanges/patch-searchindex-pk-titlelength.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/sql/abstractSchemaChanges/patch-sites-drop_indexes.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/sql/abstractSchemaChanges/patch-templatelinks-drop-tl_title.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/sql/abstractSchemaChanges/patch-templatelinks-tl_title-nullable.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/sql/abstractSchemaChanges/patch-uploadstash-us_size_to_bigint.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/sql/abstractSchemaChanges/patch-user-user_editcount.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/sql/abstractSchemaChanges/patch-user-user_is_temp.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/sql/abstractSchemaChanges/patch-user_autocreate_serial-uas_year.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/sql/tables.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/api-testing/.api-testing-quibble.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/api-testing/.eslintrc.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/api-testing/REST/CreationLegacy.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-len","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/api-testing/REST/PageHistory.js","messages":[],"suppressedMessages":[{"ruleId":"no-unused-expressions","severity":2,"message":"Expected an assignment or function call and instead saw an expression.","line":143,"column":4,"nodeType":"ExpressionStatement","messageId":"unusedExpression","endLine":143,"endColumn":36,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-unused-expressions","severity":2,"message":"Expected an assignment or function call and instead saw an expression.","line":167,"column":4,"nodeType":"ExpressionStatement","messageId":"unusedExpression","endLine":167,"endColumn":45,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-unused-expressions","severity":2,"message":"Expected an assignment or function call and instead saw an expression.","line":174,"column":4,"nodeType":"ExpressionStatement","messageId":"unusedExpression","endLine":174,"endColumn":47,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-unused-expressions","severity":2,"message":"Expected an assignment or function call and instead saw an expression.","line":195,"column":4,"nodeType":"ExpressionStatement","messageId":"unusedExpression","endLine":195,"endColumn":45,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-unused-expressions","severity":2,"message":"Expected an assignment or function call and instead saw an expression.","line":202,"column":4,"nodeType":"ExpressionStatement","messageId":"unusedExpression","endLine":202,"endColumn":47,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-unused-expressions","severity":2,"message":"Expected an assignment or function call and instead saw an expression.","line":214,"column":4,"nodeType":"ExpressionStatement","messageId":"unusedExpression","endLine":214,"endColumn":36,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-unused-expressions","severity":2,"message":"Expected an assignment or function call and instead saw an expression.","line":228,"column":5,"nodeType":"ExpressionStatement","messageId":"unusedExpression","endLine":228,"endColumn":37,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-unused-expressions","severity":2,"message":"Expected an assignment or function call and instead saw an expression.","line":258,"column":4,"nodeType":"ExpressionStatement","messageId":"unusedExpression","endLine":258,"endColumn":36,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-unused-expressions","severity":2,"message":"Expected an assignment or function call and instead saw an expression.","line":270,"column":4,"nodeType":"ExpressionStatement","messageId":"unusedExpression","endLine":270,"endColumn":36,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-unused-expressions","severity":2,"message":"Expected an assignment or function call and instead saw an expression.","line":291,"column":4,"nodeType":"ExpressionStatement","messageId":"unusedExpression","endLine":291,"endColumn":36,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-unused-expressions","severity":2,"message":"Expected an assignment or function call and instead saw an expression.","line":304,"column":4,"nodeType":"ExpressionStatement","messageId":"unusedExpression","endLine":304,"endColumn":36,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-unused-expressions","severity":2,"message":"Expected an assignment or function call and instead saw an expression.","line":316,"column":4,"nodeType":"ExpressionStatement","messageId":"unusedExpression","endLine":316,"endColumn":36,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-unused-expressions","severity":2,"message":"Expected an assignment or function call and instead saw an expression.","line":328,"column":4,"nodeType":"ExpressionStatement","messageId":"unusedExpression","endLine":328,"endColumn":36,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-unused-expressions","severity":2,"message":"Expected an assignment or function call and instead saw an expression.","line":350,"column":4,"nodeType":"ExpressionStatement","messageId":"unusedExpression","endLine":350,"endColumn":36,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-unused-expressions","severity":2,"message":"Expected an assignment or function call and instead saw an expression.","line":362,"column":4,"nodeType":"ExpressionStatement","messageId":"unusedExpression","endLine":362,"endColumn":36,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-unused-expressions","severity":2,"message":"Expected an assignment or function call and instead saw an expression.","line":374,"column":4,"nodeType":"ExpressionStatement","messageId":"unusedExpression","endLine":374,"endColumn":36,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-unused-expressions","severity":2,"message":"Expected an assignment or function call and instead saw an expression.","line":389,"column":4,"nodeType":"ExpressionStatement","messageId":"unusedExpression","endLine":389,"endColumn":36,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-unused-expressions","severity":2,"message":"Expected an assignment or function call and instead saw an expression.","line":404,"column":4,"nodeType":"ExpressionStatement","messageId":"unusedExpression","endLine":404,"endColumn":36,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-unused-expressions","severity":2,"message":"Expected an assignment or function call and instead saw an expression.","line":419,"column":4,"nodeType":"ExpressionStatement","messageId":"unusedExpression","endLine":419,"endColumn":36,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-unused-expressions","severity":2,"message":"Expected an assignment or function call and instead saw an expression.","line":432,"column":4,"nodeType":"ExpressionStatement","messageId":"unusedExpression","endLine":432,"endColumn":36,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-unused-expressions","severity":2,"message":"Expected an assignment or function call and instead saw an expression.","line":461,"column":4,"nodeType":"ExpressionStatement","messageId":"unusedExpression","endLine":461,"endColumn":38,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-unused-expressions","severity":2,"message":"Expected an assignment or function call and instead saw an expression.","line":463,"column":4,"nodeType":"ExpressionStatement","messageId":"unusedExpression","endLine":463,"endColumn":38,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-unused-expressions","severity":2,"message":"Expected an assignment or function call and instead saw an expression.","line":474,"column":4,"nodeType":"ExpressionStatement","messageId":"unusedExpression","endLine":474,"endColumn":37,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-unused-expressions","severity":2,"message":"Expected an assignment or function call and instead saw an expression.","line":494,"column":4,"nodeType":"ExpressionStatement","messageId":"unusedExpression","endLine":494,"endColumn":36,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-unused-expressions","severity":2,"message":"Expected an assignment or function call and instead saw an expression.","line":512,"column":4,"nodeType":"ExpressionStatement","messageId":"unusedExpression","endLine":512,"endColumn":36,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-unused-expressions","severity":2,"message":"Expected an assignment or function call and instead saw an expression.","line":529,"column":4,"nodeType":"ExpressionStatement","messageId":"unusedExpression","endLine":529,"endColumn":36,"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-len","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/api-testing/REST/PageLanguageLinks.js","messages":[],"suppressedMessages":[{"ruleId":"no-unused-expressions","severity":2,"message":"Expected an assignment or function call and instead saw an expression.","line":35,"column":4,"nodeType":"ExpressionStatement","messageId":"unusedExpression","endLine":35,"endColumn":36,"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-len","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/api-testing/REST/PageLegacy.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-len","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/api-testing/REST/PageMediaLinks.js","messages":[],"suppressedMessages":[{"ruleId":"no-unused-expressions","severity":2,"message":"Expected an assignment or function call and instead saw an expression.","line":35,"column":4,"nodeType":"ExpressionStatement","messageId":"unusedExpression","endLine":35,"endColumn":36,"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-len","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/api-testing/REST/RevisionCompare.js","messages":[],"suppressedMessages":[{"ruleId":"no-unused-expressions","severity":2,"message":"Expected an assignment or function call and instead saw an expression.","line":51,"column":4,"nodeType":"ExpressionStatement","messageId":"unusedExpression","endLine":51,"endColumn":41,"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-len","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/api-testing/REST/RevisionLegacy.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-len","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/api-testing/REST/Search.js","messages":[],"suppressedMessages":[{"ruleId":"no-unused-expressions","severity":2,"message":"Expected an assignment or function call and instead saw an expression.","line":48,"column":4,"nodeType":"ExpressionStatement","messageId":"unusedExpression","endLine":48,"endColumn":36,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-unused-expressions","severity":2,"message":"Expected an assignment or function call and instead saw an expression.","line":73,"column":4,"nodeType":"ExpressionStatement","messageId":"unusedExpression","endLine":73,"endColumn":36,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-unused-expressions","severity":2,"message":"Expected an assignment or function call and instead saw an expression.","line":91,"column":4,"nodeType":"ExpressionStatement","messageId":"unusedExpression","endLine":91,"endColumn":36,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-unused-expressions","severity":2,"message":"Expected an assignment or function call and instead saw an expression.","line":108,"column":4,"nodeType":"ExpressionStatement","messageId":"unusedExpression","endLine":108,"endColumn":36,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-unused-expressions","severity":2,"message":"Expected an assignment or function call and instead saw an expression.","line":119,"column":4,"nodeType":"ExpressionStatement","messageId":"unusedExpression","endLine":119,"endColumn":36,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-unused-expressions","severity":2,"message":"Expected an assignment or function call and instead saw an expression.","line":127,"column":4,"nodeType":"ExpressionStatement","messageId":"unusedExpression","endLine":127,"endColumn":36,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-unused-expressions","severity":2,"message":"Expected an assignment or function call and instead saw an expression.","line":144,"column":4,"nodeType":"ExpressionStatement","messageId":"unusedExpression","endLine":144,"endColumn":36,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-unused-expressions","severity":2,"message":"Expected an assignment or function call and instead saw an expression.","line":164,"column":4,"nodeType":"ExpressionStatement","messageId":"unusedExpression","endLine":164,"endColumn":36,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-unused-expressions","severity":2,"message":"Expected an assignment or function call and instead saw an expression.","line":176,"column":4,"nodeType":"ExpressionStatement","messageId":"unusedExpression","endLine":176,"endColumn":36,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-unused-expressions","severity":2,"message":"Expected an assignment or function call and instead saw an expression.","line":184,"column":4,"nodeType":"ExpressionStatement","messageId":"unusedExpression","endLine":184,"endColumn":36,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-unused-expressions","severity":2,"message":"Expected an assignment or function call and instead saw an expression.","line":206,"column":4,"nodeType":"ExpressionStatement","messageId":"unusedExpression","endLine":206,"endColumn":36,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-unused-expressions","severity":2,"message":"Expected an assignment or function call and instead saw an expression.","line":217,"column":4,"nodeType":"ExpressionStatement","messageId":"unusedExpression","endLine":217,"endColumn":36,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-unused-expressions","severity":2,"message":"Expected an assignment or function call and instead saw an expression.","line":225,"column":4,"nodeType":"ExpressionStatement","messageId":"unusedExpression","endLine":225,"endColumn":36,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-unused-expressions","severity":2,"message":"Expected an assignment or function call and instead saw an expression.","line":242,"column":4,"nodeType":"ExpressionStatement","messageId":"unusedExpression","endLine":242,"endColumn":36,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-unused-expressions","severity":2,"message":"Expected an assignment or function call and instead saw an expression.","line":264,"column":4,"nodeType":"ExpressionStatement","messageId":"unusedExpression","endLine":264,"endColumn":36,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-unused-expressions","severity":2,"message":"Expected an assignment or function call and instead saw an expression.","line":287,"column":4,"nodeType":"ExpressionStatement","messageId":"unusedExpression","endLine":287,"endColumn":36,"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-len","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/api-testing/REST/Transform.js","messages":[],"suppressedMessages":[{"ruleId":"no-unused-expressions","severity":2,"message":"Expected an assignment or function call and instead saw an expression.","line":95,"column":2,"nodeType":"ExpressionStatement","messageId":"unusedExpression","endLine":95,"endColumn":39,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"security/detect-non-literal-fs-filename","severity":1,"message":"Found readFileSync from package \"fs\" with non literal argument at index 0","line":1233,"column":10,"nodeType":"CallExpression","endLine":1233,"endColumn":78,"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-len","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/api-testing/REST/UpdateLegacy.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-len","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/api-testing/REST/content/v1/Creation.js","messages":[],"suppressedMessages":[{"ruleId":"no-unused-expressions","severity":2,"message":"Expected an assignment or function call and instead saw an expression.","line":83,"column":4,"nodeType":"ExpressionStatement","messageId":"unusedExpression","endLine":83,"endColumn":40,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-unused-expressions","severity":2,"message":"Expected an assignment or function call and instead saw an expression.","line":105,"column":4,"nodeType":"ExpressionStatement","messageId":"unusedExpression","endLine":105,"endColumn":36,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-unused-expressions","severity":2,"message":"Expected an assignment or function call and instead saw an expression.","line":129,"column":4,"nodeType":"ExpressionStatement","messageId":"unusedExpression","endLine":129,"endColumn":40,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-unused-expressions","severity":2,"message":"Expected an assignment or function call and instead saw an expression.","line":139,"column":4,"nodeType":"ExpressionStatement","messageId":"unusedExpression","endLine":139,"endColumn":36,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"mocha/no-exports","severity":2,"message":"Unexpected export from a test file","line":305,"column":1,"nodeType":"AssignmentExpression","messageId":"unexpectedExport","endLine":309,"endColumn":2,"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-len","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/api-testing/REST/content/v1/Page.js","messages":[],"suppressedMessages":[{"ruleId":"no-unused-expressions","severity":2,"message":"Expected an assignment or function call and instead saw an expression.","line":100,"column":4,"nodeType":"ExpressionStatement","messageId":"unusedExpression","endLine":100,"endColumn":36,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-unused-expressions","severity":2,"message":"Expected an assignment or function call and instead saw an expression.","line":115,"column":4,"nodeType":"ExpressionStatement","messageId":"unusedExpression","endLine":115,"endColumn":36,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-unused-expressions","severity":2,"message":"Expected an assignment or function call and instead saw an expression.","line":171,"column":4,"nodeType":"ExpressionStatement","messageId":"unusedExpression","endLine":171,"endColumn":36,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-unused-expressions","severity":2,"message":"Expected an assignment or function call and instead saw an expression.","line":185,"column":4,"nodeType":"ExpressionStatement","messageId":"unusedExpression","endLine":185,"endColumn":36,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-unused-expressions","severity":2,"message":"Expected an assignment or function call and instead saw an expression.","line":282,"column":4,"nodeType":"ExpressionStatement","messageId":"unusedExpression","endLine":282,"endColumn":36,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-unused-expressions","severity":2,"message":"Expected an assignment or function call and instead saw an expression.","line":295,"column":4,"nodeType":"ExpressionStatement","messageId":"unusedExpression","endLine":295,"endColumn":36,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-unused-expressions","severity":2,"message":"Expected an assignment or function call and instead saw an expression.","line":319,"column":4,"nodeType":"ExpressionStatement","messageId":"unusedExpression","endLine":319,"endColumn":36,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-unused-expressions","severity":2,"message":"Expected an assignment or function call and instead saw an expression.","line":345,"column":4,"nodeType":"ExpressionStatement","messageId":"unusedExpression","endLine":345,"endColumn":36,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-unused-expressions","severity":2,"message":"Expected an assignment or function call and instead saw an expression.","line":438,"column":4,"nodeType":"ExpressionStatement","messageId":"unusedExpression","endLine":438,"endColumn":36,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-unused-expressions","severity":2,"message":"Expected an assignment or function call and instead saw an expression.","line":453,"column":4,"nodeType":"ExpressionStatement","messageId":"unusedExpression","endLine":453,"endColumn":36,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-unused-expressions","severity":2,"message":"Expected an assignment or function call and instead saw an expression.","line":470,"column":4,"nodeType":"ExpressionStatement","messageId":"unusedExpression","endLine":470,"endColumn":36,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"mocha/no-exports","severity":2,"message":"Unexpected export from a test file","line":539,"column":1,"nodeType":"AssignmentExpression","messageId":"unexpectedExport","endLine":543,"endColumn":2,"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-len","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/api-testing/REST/content/v1/Revision.js","messages":[],"suppressedMessages":[{"ruleId":"no-unused-expressions","severity":2,"message":"Expected an assignment or function call and instead saw an expression.","line":55,"column":4,"nodeType":"ExpressionStatement","messageId":"unusedExpression","endLine":55,"endColumn":36,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-unused-expressions","severity":2,"message":"Expected an assignment or function call and instead saw an expression.","line":83,"column":4,"nodeType":"ExpressionStatement","messageId":"unusedExpression","endLine":83,"endColumn":36,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-unused-expressions","severity":2,"message":"Expected an assignment or function call and instead saw an expression.","line":147,"column":4,"nodeType":"ExpressionStatement","messageId":"unusedExpression","endLine":147,"endColumn":36,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"mocha/no-exports","severity":2,"message":"Unexpected export from a test file","line":227,"column":1,"nodeType":"AssignmentExpression","messageId":"unexpectedExport","endLine":231,"endColumn":2,"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-len","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/api-testing/REST/content/v1/Update.js","messages":[],"suppressedMessages":[{"ruleId":"no-unused-expressions","severity":2,"message":"Expected an assignment or function call and instead saw an expression.","line":77,"column":4,"nodeType":"ExpressionStatement","messageId":"unusedExpression","endLine":77,"endColumn":36,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-unused-expressions","severity":2,"message":"Expected an assignment or function call and instead saw an expression.","line":98,"column":4,"nodeType":"ExpressionStatement","messageId":"unusedExpression","endLine":98,"endColumn":40,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-unused-expressions","severity":2,"message":"Expected an assignment or function call and instead saw an expression.","line":108,"column":4,"nodeType":"ExpressionStatement","messageId":"unusedExpression","endLine":108,"endColumn":39,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-unused-expressions","severity":2,"message":"Expected an assignment or function call and instead saw an expression.","line":135,"column":4,"nodeType":"ExpressionStatement","messageId":"unusedExpression","endLine":135,"endColumn":40,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-unused-expressions","severity":2,"message":"Expected an assignment or function call and instead saw an expression.","line":143,"column":4,"nodeType":"ExpressionStatement","messageId":"unusedExpression","endLine":143,"endColumn":39,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-unused-expressions","severity":2,"message":"Expected an assignment or function call and instead saw an expression.","line":169,"column":4,"nodeType":"ExpressionStatement","messageId":"unusedExpression","endLine":169,"endColumn":37,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-unused-expressions","severity":2,"message":"Expected an assignment or function call and instead saw an expression.","line":198,"column":4,"nodeType":"ExpressionStatement","messageId":"unusedExpression","endLine":198,"endColumn":36,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"mocha/no-exports","severity":2,"message":"Unexpected export from a test file","line":423,"column":1,"nodeType":"AssignmentExpression","messageId":"unexpectedExport","endLine":427,"endColumn":2,"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-len","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/api-testing/REST/specs/v0/Swagger.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-len","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/api-testing/action/Autopatrolling.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-len","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/api-testing/action/Backlinks.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-len","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/api-testing/action/Block.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-len","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/api-testing/action/Categories.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-len","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/api-testing/action/Delete.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-len","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/api-testing/action/DiffCompare.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-len","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/api-testing/action/Edit.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-len","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/api-testing/action/ExternalLinks.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-len","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/api-testing/action/Links.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-len","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/api-testing/action/ListUsers.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-len","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/api-testing/action/Move.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-len","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/api-testing/action/NewTalkNotification.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-len","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/api-testing/action/PageProtection.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-len","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/api-testing/action/Parse.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-len","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/api-testing/action/Patrolling.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-len","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/api-testing/action/Preferences.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-len","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/api-testing/action/PrefixSearch.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-len","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/api-testing/action/RecentChanges.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-len","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/api-testing/action/ReparseDependentPages.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-len","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/api-testing/action/Revision.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-len","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/api-testing/action/Rollback.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-len","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/api-testing/action/SiteStats.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-len","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/api-testing/action/Tag.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-len","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/api-testing/action/Undo.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-len","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/api-testing/action/UserBlock.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-len","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/api-testing/action/UserContribs.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-len","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/api-testing/action/UserInfo.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-len","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/api-testing/action/Watchlist.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-len","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/jest/.eslintrc.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/jest/__mocks__/mediawiki.DateFormatter.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/jest/jest.config.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/jest/jest.setup.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/jest/mediawiki.skinning.typeaheadSearch/App.test.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/jest/mediawiki.skinning.typeaheadSearch/fetch.test.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/jest/mediawiki.skinning.typeaheadSearch/instrumentation.test.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/jest/mediawiki.skinning.typeaheadSearch/restSearchClient.test.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/jest/mediawiki.skinning.typeaheadSearch/urlGenerator.test.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/jest/mediawiki.special.block/AdditionalDetailsField.test.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/jest/mediawiki.special.block/BlockDetailsField.test.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/jest/mediawiki.special.block/BlockLog.test.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/jest/mediawiki.special.block/ExpiryField.test.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/jest/mediawiki.special.block/NamespacesField.test.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/jest/mediawiki.special.block/ReasonField.test.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/jest/mediawiki.special.block/SpecialBlock.setup.js","messages":[],"suppressedMessages":[{"ruleId":"camelcase","severity":2,"message":"Identifier 'user_talk' is not in camel case.","line":58,"column":4,"nodeType":"Identifier","messageId":"notCamelCase","endLine":58,"endColumn":13,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'page_ns' is not in camel case.","line":608,"column":11,"nodeType":"Identifier","messageId":"notCamelCase","endLine":608,"endColumn":18,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'page_title' is not in camel case.","line":610,"column":11,"nodeType":"Identifier","messageId":"notCamelCase","endLine":610,"endColumn":21,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-console","severity":2,"message":"Unexpected console statement.","line":821,"column":4,"nodeType":"MemberExpression","messageId":"unexpected","endLine":821,"endColumn":16,"suggestions":[{"messageId":"removeConsole","data":{"propertyName":"warn"},"fix":{"range":[18976,19029],"text":""},"desc":"Remove the console.warn()."}],"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-console","severity":2,"message":"Unexpected console statement.","line":830,"column":4,"nodeType":"MemberExpression","messageId":"unexpected","endLine":830,"endColumn":16,"suggestions":[{"messageId":"removeConsole","data":{"propertyName":"warn"},"fix":{"range":[19342,19387],"text":""},"desc":"Remove the console.warn()."}],"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/jest/mediawiki.special.block/SpecialBlock.test.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/jest/mediawiki.special.block/UserLookup.test.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/jest/mediawiki.special.block/init.test.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/jest/mediawiki.special.block/stores/block.test.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/jest/mediawiki.special.block/util.test.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/.eslintrc.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/Content/1.45-CssContent-basic.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/Content/1.45-CssContent-redirect.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/Content/1.45-JavaScriptContent-basic.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/Content/1.45-JavaScriptContent-redirect.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/Content/1.45-WikitextContent-basic.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/Content/1.45-WikitextContent-withPstFlags.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/LockFileChecker/composer-testcase1.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/LockFileChecker/composer-testcase2.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/LockFileChecker/composer-testcase3.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/Message/en.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/Message/ru.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/MessageValue/1.43-DataMessageValue-empty.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/MessageValue/1.43-DataMessageValue-withCode.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/MessageValue/1.43-DataMessageValue-withData.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/MessageValue/1.43-DataMessageValue-withParam.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/MessageValue/1.43-ListParam-andList.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/MessageValue/1.43-ListParam-commaList.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/MessageValue/1.43-MessageValue-empty.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/MessageValue/1.43-MessageValue-withScalarParam.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/MessageValue/1.43-MessageValue-withText.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/MessageValue/1.43-ScalarParam-num.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/MessageValue/1.43-ScalarParam-plain.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/MessageValue/1.43-ScalarParam-text.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/MessageValue/1.45_implicit_scalar-DataMessageValue-empty.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/MessageValue/1.45_implicit_scalar-DataMessageValue-withCode.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/MessageValue/1.45_implicit_scalar-DataMessageValue-withData.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/MessageValue/1.45_implicit_scalar-DataMessageValue-withParam.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/MessageValue/1.45_implicit_scalar-ListParam-andList.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/MessageValue/1.45_implicit_scalar-ListParam-commaList.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/MessageValue/1.45_implicit_scalar-MessageValue-empty.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/MessageValue/1.45_implicit_scalar-MessageValue-withScalarParam.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/MessageValue/1.45_implicit_scalar-MessageValue-withText.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/MessageValue/1.45_implicit_scalar-ScalarParam-T377912.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/MessageValue/1.45_implicit_scalar-ScalarParam-num.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/MessageValue/1.45_implicit_scalar-ScalarParam-plain.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/MessageValue/1.45_implicit_scalar-ScalarParam-text.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/MessageValue/1.45_terse-DataMessageValue-empty.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/MessageValue/1.45_terse-DataMessageValue-withCode.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/MessageValue/1.45_terse-DataMessageValue-withData.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/MessageValue/1.45_terse-DataMessageValue-withParam.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/MessageValue/1.45_terse-ListParam-andList.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/MessageValue/1.45_terse-ListParam-commaList.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/MessageValue/1.45_terse-MessageValue-empty.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/MessageValue/1.45_terse-MessageValue-withListParam.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/MessageValue/1.45_terse-MessageValue-withMessageValue.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/MessageValue/1.45_terse-MessageValue-withScalarParam.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/MessageValue/1.45_terse-MessageValue-withText.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/MessageValue/1.45_terse-ScalarParam-T377912.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/MessageValue/1.45_terse-ScalarParam-num.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/MessageValue/1.45_terse-ScalarParam-plain.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/MessageValue/1.45_terse-ScalarParam-text.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/OutputTransform/i18n/en.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.39-ParserOutput-binaryPageProperties.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.39-ParserOutput-cacheTime.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.39-ParserOutput-empty.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.39-ParserOutput-extensionData.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.39-ParserOutput-pageProperties.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.39-ParserOutput-text.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.39-ParserOutput-usedOptions.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.39-ParserOutput-withFalsyProperties.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.39-ParserOutput-withMetadata.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.39-ParserOutput-withMetadataPost1_31.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.39-ParserOutput-withMetadataPost1_34.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.40-CacheTime-cacheExpiry.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.40-CacheTime-cacheRevisionId.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.40-CacheTime-cacheTime.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.40-CacheTime-empty.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.40-CacheTime-usedOptions.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.40-ParserOutput-binaryPageProperties.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.40-ParserOutput-cacheTime.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.40-ParserOutput-empty.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.40-ParserOutput-extensionData.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.40-ParserOutput-pageProperties.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.40-ParserOutput-text.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.40-ParserOutput-usedOptions.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.40-ParserOutput-withFalsyProperties.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.40-ParserOutput-withMetadata.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.40-ParserOutput-withMetadataPost1_31.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.40-ParserOutput-withMetadataPost1_34.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.40-ParserOutput-withSections.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.42-CacheTime-cacheExpiry.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.42-CacheTime-cacheRevisionId.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.42-CacheTime-cacheTime.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.42-CacheTime-empty.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.42-CacheTime-usedOptions.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.42-ParserOutput-binaryPageProperties.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.42-ParserOutput-cacheTime.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.42-ParserOutput-empty.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.42-ParserOutput-extensionData.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.42-ParserOutput-pageProperties.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.42-ParserOutput-text.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.42-ParserOutput-usedOptions.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.42-ParserOutput-withFalsyProperties.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.42-ParserOutput-withMetadata.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.42-ParserOutput-withMetadataPost1_31.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.42-ParserOutput-withMetadataPost1_34.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.42-ParserOutput-withSections.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.43_wmf.10-ParserOutput-codecableExtensionData.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.43_wmf.11-CacheTime-cacheExpiry.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.43_wmf.11-CacheTime-cacheRevisionId.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.43_wmf.11-CacheTime-cacheTime.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.43_wmf.11-CacheTime-empty.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.43_wmf.11-CacheTime-usedOptions.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.43_wmf.11-ParserOutput-binaryPageProperties.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.43_wmf.11-ParserOutput-cacheTime.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.43_wmf.11-ParserOutput-codecableExtensionData.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.43_wmf.11-ParserOutput-empty.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.43_wmf.11-ParserOutput-extensionData.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.43_wmf.11-ParserOutput-pageProperties.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.43_wmf.11-ParserOutput-text.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.43_wmf.11-ParserOutput-usedOptions.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.43_wmf.11-ParserOutput-withFalsyProperties.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.43_wmf.11-ParserOutput-withMetadata.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.43_wmf.11-ParserOutput-withMetadataPost1_31.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.43_wmf.11-ParserOutput-withMetadataPost1_34.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.43_wmf.11-ParserOutput-withSections.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.43_wmf.3-CacheTime-cacheExpiry.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.43_wmf.3-CacheTime-cacheRevisionId.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.43_wmf.3-CacheTime-cacheTime.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.43_wmf.3-CacheTime-empty.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.43_wmf.3-CacheTime-usedOptions.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.43_wmf.3-ParserOutput-binaryPageProperties.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.43_wmf.3-ParserOutput-cacheTime.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.43_wmf.3-ParserOutput-empty.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.43_wmf.3-ParserOutput-extensionData.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.43_wmf.3-ParserOutput-pageProperties.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.43_wmf.3-ParserOutput-text.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.43_wmf.3-ParserOutput-usedOptions.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.43_wmf.3-ParserOutput-withFalsyProperties.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.43_wmf.3-ParserOutput-withMetadata.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.43_wmf.3-ParserOutput-withMetadataPost1_31.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.43_wmf.3-ParserOutput-withMetadataPost1_34.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.43_wmf.3-ParserOutput-withSections.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.45-CacheTime-cacheExpiry.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.45-CacheTime-cacheRevisionId.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.45-CacheTime-cacheTime.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.45-CacheTime-empty.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.45-CacheTime-usedOptions.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.45-ParserOutput-binaryPageProperties.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.45-ParserOutput-cacheTime.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.45-ParserOutput-codecableExtensionData.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.45-ParserOutput-empty.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.45-ParserOutput-extensionData.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.45-ParserOutput-pageProperties.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.45-ParserOutput-text.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.45-ParserOutput-usedOptions.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.45-ParserOutput-withFalsyProperties.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.45-ParserOutput-withMetadata1_45.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.45-ParserOutput-withMetadataPost1_31.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.45-ParserOutput-withMetadataPost1_34.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.45-ParserOutput-withMetadataPost1_44.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.45-ParserOutput-withSections.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.45_outputflags-CacheTime-cacheExpiry.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.45_outputflags-CacheTime-cacheRevisionId.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.45_outputflags-CacheTime-cacheTime.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.45_outputflags-CacheTime-empty.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.45_outputflags-CacheTime-usedOptions.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.45_outputflags-ParserOutput-binaryPageProperties.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.45_outputflags-ParserOutput-cacheTime.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.45_outputflags-ParserOutput-codecableExtensionData.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.45_outputflags-ParserOutput-empty.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.45_outputflags-ParserOutput-extensionData.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.45_outputflags-ParserOutput-pageProperties1_45.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.45_outputflags-ParserOutput-text.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.45_outputflags-ParserOutput-usedOptions.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.45_outputflags-ParserOutput-withEmptyToC.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.45_outputflags-ParserOutput-withFalsyProperties1_45.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.45_outputflags-ParserOutput-withMetadataPost1_31.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.45_outputflags-ParserOutput-withMetadataPost1_34.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.45_outputflags-ParserOutput-withMetadataPost1_44.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.45_outputflags-ParserOutput-withMetadataPost1_45.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.45_outputflags-ParserOutput-withSections.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.45_with_messages-CacheTime-cacheExpiry.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.45_with_messages-CacheTime-cacheRevisionId.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.45_with_messages-CacheTime-cacheTime.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.45_with_messages-CacheTime-empty.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.45_with_messages-CacheTime-usedOptions.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.45_with_messages-ParserOutput-binaryPageProperties.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.45_with_messages-ParserOutput-cacheTime.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.45_with_messages-ParserOutput-codecableExtensionData.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.45_with_messages-ParserOutput-empty.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.45_with_messages-ParserOutput-extensionData.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.45_with_messages-ParserOutput-pageProperties1_45.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.45_with_messages-ParserOutput-text.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.45_with_messages-ParserOutput-usedOptions.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.45_with_messages-ParserOutput-withEmptyToC.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.45_with_messages-ParserOutput-withFalsyProperties1_45.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.45_with_messages-ParserOutput-withMetadata1_45.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.45_with_messages-ParserOutput-withMetadataPost1_31.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.45_with_messages-ParserOutput-withMetadataPost1_34.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.45_with_messages-ParserOutput-withMetadataPost1_44.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.45_with_messages-ParserOutput-withSections.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.45_with_tocdata-CacheTime-cacheExpiry.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.45_with_tocdata-CacheTime-cacheRevisionId.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.45_with_tocdata-CacheTime-cacheTime.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.45_with_tocdata-CacheTime-empty.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.45_with_tocdata-CacheTime-usedOptions.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.45_with_tocdata-ParserOutput-binaryPageProperties.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.45_with_tocdata-ParserOutput-cacheTime.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.45_with_tocdata-ParserOutput-codecableExtensionData.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.45_with_tocdata-ParserOutput-empty.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.45_with_tocdata-ParserOutput-extensionData.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.45_with_tocdata-ParserOutput-pageProperties1_45.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.45_with_tocdata-ParserOutput-text.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.45_with_tocdata-ParserOutput-usedOptions.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.45_with_tocdata-ParserOutput-withEmptyToC.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.45_with_tocdata-ParserOutput-withFalsyProperties1_45.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.45_with_tocdata-ParserOutput-withMetadataPost1_31.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.45_with_tocdata-ParserOutput-withMetadataPost1_34.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.45_with_tocdata-ParserOutput-withMetadataPost1_44.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/ParserCache/1.45_with_tocdata-ParserOutput-withSections.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/composer/composer.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/composer/installed-v2.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/db/patch-drop-ct_tag.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/db/tables.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/gitinfo/extension/gitinfo.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/gitinfo/info-testValidJsonData.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/languageConverter/.eslintrc.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/languageConverter/conversionData.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/localisationcache/ba.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/localisationcache/en.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/localisationcache/ru.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/localisationcache/translation-alias/en.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/localisationcache/translation-alias/fr.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/localisationcache/translation-alias/nl.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/localisationcache/translation-alias/pt.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/registration/attribute.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/registration/autoload_namespaces.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/registration/bad_spdx.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/registration/bad_url.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/registration/bad_url2.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/registration/example-basic.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/registration/example-edgecases1.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/registration/example-edgecases2.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/registration/good.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/registration/good_with_license_expressions.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/registration/good_with_version.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/registration/invalid.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/registration/newer_manifest_version.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/registration/no_manifest_version.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/registration/old_manifest_version.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/resourceloader-b/script-nosemi.js","messages":[],"suppressedMessages":[{"ruleId":"semi","severity":2,"message":"Missing semicolon.","line":2,"column":9,"nodeType":"ExpressionStatement","messageId":"missingSemi","endLine":3,"endColumn":1,"fix":{"range":[29,29],"text":";"},"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/resourceloader/oouiimagemodule/apex/icons.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/resourceloader/oouiimagemodule/wikimediaui/icons.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/resourceloader/sample.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/resourceloader/script-comment-nonl.js","messages":[],"suppressedMessages":[{"ruleId":"semi","severity":2,"message":"Missing semicolon.","line":2,"column":9,"nodeType":"ExpressionStatement","messageId":"missingSemi","endLine":3,"endColumn":1,"fix":{"range":[29,29],"text":";"},"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/resourceloader/script-comment.js","messages":[],"suppressedMessages":[{"ruleId":"semi","severity":2,"message":"Missing semicolon.","line":2,"column":9,"nodeType":"ExpressionStatement","messageId":"missingSemi","endLine":3,"endColumn":1,"fix":{"range":[29,29],"text":";"},"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/resourceloader/script-nosemi-nonl.js","messages":[],"suppressedMessages":[{"ruleId":"semi","severity":2,"message":"Missing semicolon.","line":2,"column":9,"nodeType":"ExpressionStatement","messageId":"missingSemi","fix":{"range":[29,29],"text":";"},"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/resourceloader/script-nosemi.js","messages":[],"suppressedMessages":[{"ruleId":"semi","severity":2,"message":"Missing semicolon.","line":2,"column":9,"nodeType":"ExpressionStatement","messageId":"missingSemi","endLine":3,"endColumn":1,"fix":{"range":[29,29],"text":";"},"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/resourceloader/vue-component.vue","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"vue/component-tags-order","replacedBy":["block-order"]},{"ruleId":"vue/no-invalid-model-keys","replacedBy":["valid-model-definition"]},{"ruleId":"vue/v-on-function-call","replacedBy":["v-on-handler-style"]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/rlfilepath/script.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/schema-maintenance/extensions/FooExt/db_patches/patch.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/schema-maintenance/patch-drop-ct_tag.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/schema-maintenance/patch-no_change.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/data/schema-maintenance/tables.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/includes/libs/Telemetry/expected-trace-data.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/integration/includes/Rest/Handler/SpecTestFlatRoutes.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/integration/includes/Rest/Handler/SpecTestModule.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/integration/includes/Rest/Handler/SpecTestRoutes.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/integration/includes/Rest/Handler/data/OpenApi-3.0.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/unit/includes/Composer/PhpUnitSplitter/fixtures/cache-results-large.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/unit/includes/Composer/PhpUnitSplitter/fixtures/results-cache.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/unit/includes/Rest/Module/deprecatedModuleTestRoutes.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/unit/includes/Rest/Module/moduleFlatRoutes.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/unit/includes/Rest/Module/moduleTestRoutes.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/unit/includes/Rest/testAdditionalRoutes.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/unit/includes/Rest/testRoutes.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/unit/includes/Settings/Source/fixtures/etcd/notadirectory.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/unit/includes/Settings/Source/fixtures/etcd/valid.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/unit/includes/Settings/Source/fixtures/settings.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/unit/includes/Settings/fixtures/default-schema.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/unit/includes/Settings/fixtures/settings-with-includes.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/unit/includes/Settings/fixtures/settings-with-self-includes.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/unit/includes/Settings/fixtures/settings.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/unit/includes/Settings/fixtures/sites/beta.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/unit/includes/Tidy/.eslintrc.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/unit/includes/Tidy/html5lib-tests.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/unit/tests/json/invalid1.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/unit/tests/json/invalid2.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/unit/tests/json/invalid3.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/unit/tests/json/schema1.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/unit/tests/json/schema2.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/unit/tests/json/schema3.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/unit/tests/json/valid1.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/phpunit/unit/tests/json/valid2.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/qunit/.eslintrc.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/qunit/data/.eslintrc.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/qunit/data/defineCallMwLoaderTestCallback.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/qunit/data/mediawiki.jqueryMsg.data.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/qunit/data/mediawiki.jqueryMsg.testdata.js","messages":[],"suppressedMessages":[{"ruleId":"security/detect-non-literal-require","severity":1,"message":"Found non-literal argument in require","line":5,"column":3,"nodeType":"CallExpression","endLine":5,"endColumn":37,"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/qunit/data/mediawiki.loader.getScript.example.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/qunit/data/mwLoaderTestCallback.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/qunit/data/requireCallMwLoaderTestCallback.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/qunit/data/sinonjs-local.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/qunit/data/testrunner.js","messages":[{"ruleId":"jsdoc/require-returns","severity":1,"message":"Missing JSDoc @return declaration.","line":112,"column":2,"nodeType":"Block","endLine":131,"endColumn":5}],"suppressedMessages":[{"ruleId":"no-underscore-dangle","severity":2,"message":"Unexpected dangling '_' in '_default'.","line":12,"column":2,"nodeType":"MemberExpression","messageId":"unexpectedUnderscore","endLine":12,"endColumn":22,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-unused-vars","severity":2,"message":"'object' is defined but never used.","line":57,"column":28,"nodeType":"Identifier","messageId":"unusedVar","endLine":57,"endColumn":34,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-unused-vars","severity":2,"message":"'property' is defined but never used.","line":57,"column":36,"nodeType":"Identifier","messageId":"unusedVar","endLine":57,"endColumn":44,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-unused-vars","severity":2,"message":"'types' is defined but never used.","line":57,"column":46,"nodeType":"Identifier","messageId":"unusedVar","endLine":57,"endColumn":51,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-console","severity":2,"message":"Unexpected console statement.","line":78,"column":5,"nodeType":"MemberExpression","messageId":"unexpected","endLine":78,"endColumn":17,"suggestions":[{"messageId":"removeConsole","data":{"propertyName":"warn"},"fix":{"range":[2359,2539],"text":""},"desc":"Remove the console.warn()."}],"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-each-util","severity":2,"message":"Prefer Array#forEach to $.each","line":197,"column":3,"nodeType":"CallExpression","endLine":204,"endColumn":6,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-each-util","severity":2,"message":"Prefer Array#forEach to $.each","line":228,"column":4,"nodeType":"CallExpression","endLine":230,"endColumn":7,"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"( function () {\n\t'use strict';\n\n\t// For each test that is asynchronous, allow this time to pass before\n\t// killing the test and assuming timeout failure.\n\tQUnit.config.testTimeout = 60 * 1000;\n\n\tQUnit.dump.maxDepth = QUnit.config.maxDepth = 20;\n\n\t// Reduce default animation duration from 400ms to 0ms for unit tests\n\t// eslint-disable-next-line no-underscore-dangle\n\t$.fx.speeds._default = 0;\n\n\t// Add a dropdown menu to the QUnit toolbar to only load test modules\n\t// from core or a given extension.\n\tconst values = {\n\t\t// List \"MediaWiki\" here so that it sorts first, and set a custom label\n\t\tMediaWiki: 'MediaWiki core'\n\t};\n\tfor ( const component of mw.config.get( 'wgTestModuleComponents' ) ) {\n\t\tvalues[ component ] = values[ component ] ?? component;\n\t}\n\tQUnit.config.urlConfig.push( {\n\t\tid: 'component',\n\t\tlabel: 'Component',\n\t\ttooltip: 'Only load tests from this MediaWiki component',\n\t\tvalue: values\n\t} );\n\n\t// Integrate SinonJS with QUnit\n\t//\n\t// - Add a Sinon sandbox to the test context that is automatically\n\t// restored at the end of each test.\n\t// - Forward sinon assertions to QUnit.\n\t//\n\t// Inspired by http://sinonjs.org/releases/sinon-qunit-1.0.0.js\n\tsinon.assert.fail = function ( msg ) {\n\t\tQUnit.assert.true( false, msg );\n\t};\n\tsinon.assert.pass = function ( msg ) {\n\t\tQUnit.assert.true( true, msg );\n\t};\n\n\tfunction createStubLegacy( obj, method, fn ) {\n\t\tif ( arguments.length > 2 ) {\n\t\t\tif ( typeof fn === 'function' ) {\n\t\t\t\treturn sinon.stub( obj, method ).callsFake( fn );\n\t\t\t} else {\n\t\t\t\treturn sinon.replace( obj, method, fn );\n\t\t\t}\n\t\t} else {\n\t\t\treturn sinon.stub.apply( null, arguments );\n\t\t}\n\t}\n\n\t// eslint-disable-next-line no-unused-vars\n\tfunction createSpyLegacy( object, property, types ) {\n\t\tconst spy = sinon.spy.apply( null, arguments );\n\t\tspy.reset = spy.resetHistory;\n\t\treturn spy;\n\t}\n\n\tQUnit.hooks.beforeEach( function () {\n\t\t// Sinon sandbox\n\t\tsinon.createSandbox( {\n\t\t\tinjectInto: this,\n\t\t\tproperties: [ 'spy', 'stub', 'mock', 'sandbox' ],\n\t\t\t// Don't fake timers by default\n\t\t\tuseFakeTimers: false,\n\t\t\tuseFakeServer: false\n\t\t} );\n\t\tthis.sandbox.stub = this.stub = createStubLegacy;\n\t\tthis.sandbox.spy = this.spy = createSpyLegacy;\n\t\tconst useFakeTimers = this.sandbox.useFakeTimers;\n\t\tthis.sandbox.useFakeTimers = function ( now ) {\n\t\t\tif ( arguments.length > 1 ) {\n\t\t\t\t// eslint-disable-next-line no-console\n\t\t\t\tconsole.warn( new Error( 'Use of `sinon.useFakeTimers(now, prop)` is deprecated, use `sinon.useFakeTimers(now)` or `sinon.useFakeTimers( { now, toFake } )` instead (T239271).' ) );\n\t\t\t\treturn useFakeTimers( {\n\t\t\t\t\tnow: now,\n\t\t\t\t\ttoFake: [].slice.call( arguments, 1 )\n\t\t\t\t} );\n\t\t\t} else {\n\t\t\t\treturn useFakeTimers.apply( null, arguments );\n\t\t\t}\n\t\t};\n\t} );\n\tQUnit.hooks.afterEach( function () {\n\t\tsinon.verifyAndRestore();\n\t\tthis.sandbox.verifyAndRestore();\n\t} );\n\n\tconst deepClone = typeof structuredClone === 'function' ? structuredClone : function ( obj ) {\n\t\treturn $.extend( /* deep */ true, {}, obj );\n\t};\n\n\tconst liveConfig = mw.config.values;\n\tconst liveMessages = mw.messages.values;\n\tconst liveWarnFn = mw.log.warn;\n\tconst liveErrorFn = mw.log.error;\n\tconst noopFn = function () {};\n\n\tfunction suppressWarnings() {\n\t\tmw.log.warn = mw.log.error = noopFn;\n\t}\n\n\tfunction restoreWarnings() {\n\t\tmw.log.warn = liveWarnFn;\n\t\tmw.log.error = liveErrorFn;\n\t}\n\n\t/**\n\t * Ensure mw.config and other `mw` singleton state is prestine for each test.\n\t *\n\t * Example:\n\t *\n\t * QUnit.module('mw.myModule', QUnit.newMwEnvironment() );\n\t *\n\t * QUnit.module('mw.myModule', QUnit.newMwEnvironment( {\n\t * config: {\n\t * wgServer: 'https://example.org'\n\t * },\n\t * messages: {\n\t * 'monday-short': 'Monday'\n\t * }\n\t * } );\n\t *\n\t * @param {Object} [localEnv]\n\t * @param {Object} [localEnv.config]\n\t * @param {Object} [localEnv.messages]\n\t */\n\tQUnit.newMwEnvironment = function newMwEnvironment( localEnv ) {\n\t\tlocalEnv = localEnv || {};\n\n\t\tconst orgBeforeEach = localEnv.beforeEach;\n\t\tconst orgAfterEach = localEnv.afterEach;\n\n\t\tlocalEnv.beforeEach = function () {\n\t\t\tmw.config.values = deepClone( liveConfig );\n\t\t\tif ( localEnv.config ) {\n\t\t\t\tmw.config.set( localEnv.config );\n\t\t\t}\n\n\t\t\t// Start with a clean message store.\n\t\t\t// Optimization: Use fast empty object instead of deep clone to preserve\n\t\t\t// server response (on mediawiki-wmf-quibble with 2000 tests, reduces\n\t\t\t// newMwEnvironment_beforeEach from 3.7s to 0.7s). ResourceLoader runs\n\t\t\t// tests with lang=qqx so tests shouldn't rely on these anyway.\n\t\t\tmw.messages.values = {};\n\t\t\tif ( localEnv.messages ) {\n\t\t\t\tmw.messages.set( localEnv.messages );\n\t\t\t}\n\n\t\t\tthis.suppressWarnings = suppressWarnings;\n\t\t\tthis.restoreWarnings = restoreWarnings;\n\n\t\t\tif ( orgBeforeEach ) {\n\t\t\t\treturn orgBeforeEach.apply( this, arguments );\n\t\t\t}\n\t\t};\n\t\tlocalEnv.afterEach = function () {\n\t\t\tlet ret;\n\t\t\tif ( orgAfterEach ) {\n\t\t\t\tret = orgAfterEach.apply( this, arguments );\n\t\t\t}\n\n\t\t\t// For convenience and to avoid leakage, always restore after each test.\n\t\t\t// Restoring earlier is allowed.\n\t\t\trestoreWarnings();\n\n\t\t\tmw.config.values = liveConfig;\n\t\t\tmw.messages.values = liveMessages;\n\n\t\t\t// Stop animations to ensure a clean start for the next test\n\t\t\t$.timers = [];\n\t\t\t$.fx.stop();\n\n\t\t\treturn ret;\n\t\t};\n\t\treturn localEnv;\n\t};\n\n\t/**\n\t * Wait for multiple promises to have finished.\n\t *\n\t * This differs from `$.when`, which stops as soon as one fails,\n\t * which makes sense in a production context, but not in a test\n\t * where we really do need to wait until all are finished before\n\t * moving on.\n\t *\n\t * @return {jQuery.Promise}\n\t */\n\tQUnit.whenPromisesComplete = function () {\n\t\tconst altPromises = [];\n\n\t\t// eslint-disable-next-line no-jquery/no-each-util\n\t\t$.each( arguments, ( i, arg ) => {\n\t\t\tconst alt = $.Deferred();\n\t\t\taltPromises.push( alt );\n\n\t\t\t// Whether this one fails or not, forwards it to\n\t\t\t// the 'done' (resolve) callback of the alternative promise.\n\t\t\targ.always( alt.resolve );\n\t\t} );\n\n\t\treturn $.when( ...altPromises );\n\t};\n\n\t/**\n\t * Recursively convert a node to a plain object representing its structure.\n\t * Only considers attributes and contents (elements and text nodes).\n\t * Attribute values are compared strictly and not normalised.\n\t *\n\t * @param {Node} node\n\t * @return {Object|string} Plain JavaScript value representing the node.\n\t */\n\tfunction getDomStructure( node ) {\n\t\tif ( node.nodeType === Node.ELEMENT_NODE ) {\n\t\t\tconst processedChildren = [];\n\t\t\t$( node ).contents().each( ( i, el ) => {\n\t\t\t\tif ( el.nodeType === Node.ELEMENT_NODE || el.nodeType === Node.TEXT_NODE ) {\n\t\t\t\t\tprocessedChildren.push( getDomStructure( el ) );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\tconst attribs = {};\n\t\t\t// eslint-disable-next-line no-jquery/no-each-util\n\t\t\t$.each( node.attributes, ( i, attrib ) => {\n\t\t\t\tattribs[ attrib.name ] = attrib.value;\n\t\t\t} );\n\n\t\t\treturn {\n\t\t\t\ttagName: node.tagName,\n\t\t\t\tattributes: attribs,\n\t\t\t\tcontents: processedChildren\n\t\t\t};\n\t\t} else {\n\t\t\t// Should be text node\n\t\t\treturn node.textContent;\n\t\t}\n\t}\n\n\t/**\n\t * Get structure of node for this HTML.\n\t *\n\t * @param {string} html HTML markup for one or more nodes.\n\t * @return {Object}\n\t */\n\tfunction getHtmlStructure( html ) {\n\t\tconst el = $( '<div>' ).append( html )[ 0 ];\n\t\treturn getDomStructure( el );\n\t}\n\n\tconst addons = {\n\n\t\t/**\n\t\t * Assert numerical value less than X\n\t\t *\n\t\t * @param {Mixed} actual\n\t\t * @param {number} expected\n\t\t * @param {string} [message]\n\t\t */\n\t\tlt: function ( actual, expected, message ) {\n\t\t\tthis.pushResult( {\n\t\t\t\tresult: actual < expected,\n\t\t\t\tactual: actual,\n\t\t\t\texpected: 'less than ' + expected,\n\t\t\t\tmessage: message\n\t\t\t} );\n\t\t},\n\n\t\t/**\n\t\t * Assert numerical value less than or equal to X\n\t\t *\n\t\t * @param {Mixed} actual\n\t\t * @param {number} expected\n\t\t * @param {string} [message]\n\t\t */\n\t\tltOrEq: function ( actual, expected, message ) {\n\t\t\tthis.pushResult( {\n\t\t\t\tresult: actual <= expected,\n\t\t\t\tactual: actual,\n\t\t\t\texpected: 'less than or equal to ' + expected,\n\t\t\t\tmessage: message\n\t\t\t} );\n\t\t},\n\n\t\t/**\n\t\t * Assert numerical value greater than X\n\t\t *\n\t\t * @param {Mixed} actual\n\t\t * @param {number} expected\n\t\t * @param {string} [message]\n\t\t */\n\t\tgt: function ( actual, expected, message ) {\n\t\t\tthis.pushResult( {\n\t\t\t\tresult: actual > expected,\n\t\t\t\tactual: actual,\n\t\t\t\texpected: 'greater than ' + expected,\n\t\t\t\tmessage: message\n\t\t\t} );\n\t\t},\n\n\t\t/**\n\t\t * Assert numerical value greater than or equal to X\n\t\t *\n\t\t * @param {Mixed} actual\n\t\t * @param {number} expected\n\t\t * @param {string} [message]\n\t\t */\n\t\tgtOrEq: function ( actual, expected, message ) {\n\t\t\tthis.pushResult( {\n\t\t\t\tresult: actual >= true,\n\t\t\t\tactual: actual,\n\t\t\t\texpected: 'greater than or equal to ' + expected,\n\t\t\t\tmessage: message\n\t\t\t} );\n\t\t},\n\n\t\t/**\n\t\t * Asserts that two DOM nodes are structurally equivalent.\n\t\t *\n\t\t * @param {HTMLElement} actual\n\t\t * @param {Object} expectedStruct\n\t\t * @param {string} message Assertion message.\n\t\t */\n\t\tdomEqual: function ( actual, expectedStruct, message ) {\n\t\t\tconst actualStruct = getDomStructure( actual );\n\t\t\tthis.pushResult( {\n\t\t\t\tresult: QUnit.equiv( actualStruct, expectedStruct ),\n\t\t\t\tactual: actualStruct,\n\t\t\t\texpected: expectedStruct,\n\t\t\t\tmessage: message\n\t\t\t} );\n\t\t},\n\n\t\t/**\n\t\t * Asserts that two HTML strings are structurally equivalent.\n\t\t *\n\t\t * @param {string} actualHtml Actual HTML markup.\n\t\t * @param {string} expectedHtml Expected HTML markup\n\t\t * @param {string} message Assertion message.\n\t\t */\n\t\thtmlEqual: function ( actualHtml, expectedHtml, message ) {\n\t\t\tconst actual = getHtmlStructure( actualHtml ),\n\t\t\t\texpected = getHtmlStructure( expectedHtml );\n\t\t\tthis.pushResult( {\n\t\t\t\tresult: QUnit.equiv( actual, expected ),\n\t\t\t\tactual: actual,\n\t\t\t\texpected: expected,\n\t\t\t\tmessage: message\n\t\t\t} );\n\t\t},\n\n\t\t/**\n\t\t * Asserts that two HTML strings are not structurally equivalent.\n\t\t *\n\t\t * @param {string} actualHtml Actual HTML markup.\n\t\t * @param {string} expectedHtml Expected HTML markup.\n\t\t * @param {string} message Assertion message.\n\t\t */\n\t\tnotHtmlEqual: function ( actualHtml, expectedHtml, message ) {\n\t\t\tconst actual = getHtmlStructure( actualHtml ),\n\t\t\t\texpected = getHtmlStructure( expectedHtml );\n\n\t\t\tthis.pushResult( {\n\t\t\t\tresult: !QUnit.equiv( actual, expected ),\n\t\t\t\tactual: actual,\n\t\t\t\texpected: expected,\n\t\t\t\tmessage: message,\n\t\t\t\tnegative: true\n\t\t\t} );\n\t\t}\n\t};\n\n\tObject.assign( QUnit.assert, addons );\n\n\tQUnit.begin( () => {\n\t\t// Run a few quick environment checks to make sure the above is all working correctly.\n\t\t// We run this as a plugin callback with QUnit.onUncaughtException() instead of as\n\t\t// a normal QUnit.module() or QUnit.test() because:\n\t\t//\n\t\t// 1. This way it always runs first, instead of out of order when using `seed`,\n\t\t// or when reloading which runs previously failed tests first.\n\t\t// 2. Reduce noise in the output.\n\t\t// 3. Makes it actually run instead of skipped when selecting a single module,\n\t\t// or re-running a single test.\n\t\tconst issues = [];\n\t\tfunction ensure( ok, issue ) {\n\t\t\tif ( !ok ) {\n\t\t\t\tissues.push( issue );\n\t\t\t}\n\t\t}\n\t\tconst env = QUnit.newMwEnvironment( {\n\t\t\tbeforeEach: function () {\n\t\t\t\tthis.mwHtmlLive = mw.html;\n\t\t\t\tmw.html = {\n\t\t\t\t\tescape: function () {\n\t\t\t\t\t\treturn 'mocked';\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t},\n\t\t\tafterEach: function () {\n\t\t\t\tmw.html = this.mwHtmlLive;\n\t\t\t},\n\t\t\tconfig: {\n\t\t\t\ttestVar: 'foo'\n\t\t\t},\n\t\t\tmessages: {\n\t\t\t\ttestMsg: 'Foo.'\n\t\t\t}\n\t\t} );\n\n\t\tenv.beforeEach();\n\t\tensure( mw.html.escape( 'foo' ) === 'mocked', 'newMwEnvironment did not call beforeEach()' );\n\t\tensure( mw.config.get( 'testVar' ) === 'foo', 'newMwEnvironment did not apply config' );\n\t\tensure( mw.messages.get( 'testMsg' ) === 'Foo.', 'newMwEnvironment did not apply messages' );\n\n\t\tmw.config.set( 'testVar', 'bar' );\n\t\tmw.messages.set( 'testMsg', 'Bar.' );\n\t\tenv.afterEach();\n\t\tenv.beforeEach();\n\t\tensure( mw.config.get( 'testVar' ) === 'foo', 'newMwEnvironment failed to restore config' );\n\t\tensure( mw.messages.get( 'testMsg' ) === 'Foo.', 'newMwEnvironment failed to restore messages' );\n\n\t\tenv.afterEach();\n\t\tensure( mw.html.escape( '<' ) === '<', 'newMwEnvironment did not call afterEach()' );\n\t\tensure( mw.config.get( 'testVar' ) === null, 'newMwEnvironment leaks config' );\n\t\tensure( mw.messages.get( 'testMsg' ) === null, 'newMwEnvironment leaks messages' );\n\n\t\tmw.loader.getModuleNames().forEach( ( name ) => {\n\t\t\tconst state = mw.loader.getState( name );\n\t\t\tif ( state === 'error' ) {\n\t\t\t\tissues.push( `Module \"${ name }\" in error state` );\n\t\t\t} else if ( state === 'missing' ) {\n\t\t\t\tissues.push( `Missing \"${ name }\" module dependency` );\n\t\t\t}\n\t\t} );\n\n\t\tif ( issues.length ) {\n\t\t\tQUnit.onUncaughtException( 'testrunner.js found the following issues:\\n * ' + issues.join( '\\n * ' ) );\n\t\t}\n\t} );\n}() );\n","usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/qunit/index.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/qunit/resources/jquery.highlightText.test.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/qunit/resources/jquery.lengthLimit.test.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/qunit/resources/jquery.makeCollapsible.test.js","messages":[],"suppressedMessages":[{"ruleId":"no-jquery/no-class-state","severity":2,"message":"Where possible, maintain application state in JS to avoid slower DOM queries","line":240,"column":16,"nodeType":"CallExpression","endLine":240,"endColumn":57,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-class-state","severity":2,"message":"Where possible, maintain application state in JS to avoid slower DOM queries","line":249,"column":16,"nodeType":"CallExpression","endLine":249,"endColumn":55,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-class-state","severity":2,"message":"Where possible, maintain application state in JS to avoid slower DOM queries","line":452,"column":17,"nodeType":"CallExpression","endLine":452,"endColumn":57,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-class-state","severity":2,"message":"Where possible, maintain application state in JS to avoid slower DOM queries","line":453,"column":18,"nodeType":"CallExpression","endLine":453,"endColumn":58,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-class-state","severity":2,"message":"Where possible, maintain application state in JS to avoid slower DOM queries","line":454,"column":17,"nodeType":"CallExpression","endLine":454,"endColumn":111,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-class-state","severity":2,"message":"Where possible, maintain application state in JS to avoid slower DOM queries","line":455,"column":18,"nodeType":"CallExpression","endLine":455,"endColumn":112,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-class-state","severity":2,"message":"Where possible, maintain application state in JS to avoid slower DOM queries","line":486,"column":16,"nodeType":"CallExpression","endLine":486,"endColumn":66,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-class-state","severity":2,"message":"Where possible, maintain application state in JS to avoid slower DOM queries","line":487,"column":16,"nodeType":"CallExpression","endLine":487,"endColumn":66,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-class-state","severity":2,"message":"Where possible, maintain application state in JS to avoid slower DOM queries","line":489,"column":17,"nodeType":"CallExpression","endLine":489,"endColumn":61,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-class-state","severity":2,"message":"Where possible, maintain application state in JS to avoid slower DOM queries","line":490,"column":18,"nodeType":"CallExpression","endLine":490,"endColumn":62,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-class-state","severity":2,"message":"Where possible, maintain application state in JS to avoid slower DOM queries","line":491,"column":17,"nodeType":"CallExpression","endLine":491,"endColumn":75,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-class-state","severity":2,"message":"Where possible, maintain application state in JS to avoid slower DOM queries","line":492,"column":18,"nodeType":"CallExpression","endLine":492,"endColumn":76,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-class-state","severity":2,"message":"Where possible, maintain application state in JS to avoid slower DOM queries","line":523,"column":16,"nodeType":"CallExpression","endLine":523,"endColumn":55,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-class-state","severity":2,"message":"Where possible, maintain application state in JS to avoid slower DOM queries","line":528,"column":17,"nodeType":"CallExpression","endLine":528,"endColumn":56,"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/qunit/resources/jquery.tablesorter.parsers.test.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/qunit/resources/jquery.tablesorter.test.js","messages":[],"suppressedMessages":[{"ruleId":"no-loop-func","severity":2,"message":"Function declared in a loop contains unsafe references to variable(s) '$tr'.","line":54,"column":23,"nodeType":"ArrowFunctionExpression","messageId":"unsafeRefs","endLine":57,"endColumn":5,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-class-state","severity":2,"message":"Where possible, maintain application state in JS to avoid slower DOM queries","line":431,"column":4,"nodeType":"CallExpression","endLine":431,"endColumn":36,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-class-state","severity":2,"message":"Where possible, maintain application state in JS to avoid slower DOM queries","line":431,"column":40,"nodeType":"CallExpression","endLine":431,"endColumn":74,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-sizzle","severity":2,"message":"Positional selector extensions are not allowed","line":607,"column":4,"nodeType":"CallExpression","endLine":607,"endColumn":38,"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/qunit/resources/jquery.textSelection.test.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/qunit/resources/mediawiki.DateFormatter/DateFormatter.test.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/qunit/resources/mediawiki.ForeignApi/mediawiki.ForeignApi.test.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/qunit/resources/mediawiki.ForeignApi/mediawiki.ForeignRest.test.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/qunit/resources/mediawiki.String.test.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/qunit/resources/mediawiki.Title.test.js","messages":[],"suppressedMessages":[{"ruleId":"camelcase","severity":2,"message":"Identifier 'user_talk' is not in camel case.","line":109,"column":5,"nodeType":"Identifier","messageId":"notCamelCase","endLine":109,"endColumn":14,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'wikipedia_talk' is not in camel case.","line":111,"column":5,"nodeType":"Identifier","messageId":"notCamelCase","endLine":111,"endColumn":19,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'file_talk' is not in camel case.","line":113,"column":5,"nodeType":"Identifier","messageId":"notCamelCase","endLine":113,"endColumn":14,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'mediawiki_talk' is not in camel case.","line":115,"column":5,"nodeType":"Identifier","messageId":"notCamelCase","endLine":115,"endColumn":19,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'template_talk' is not in camel case.","line":117,"column":5,"nodeType":"Identifier","messageId":"notCamelCase","endLine":117,"endColumn":18,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'help_talk' is not in camel case.","line":119,"column":5,"nodeType":"Identifier","messageId":"notCamelCase","endLine":119,"endColumn":14,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'category_talk' is not in camel case.","line":121,"column":5,"nodeType":"Identifier","messageId":"notCamelCase","endLine":121,"endColumn":18,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'image_talk' is not in camel case.","line":123,"column":5,"nodeType":"Identifier","messageId":"notCamelCase","endLine":123,"endColumn":15,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'project_talk' is not in camel case.","line":125,"column":5,"nodeType":"Identifier","messageId":"notCamelCase","endLine":125,"endColumn":17,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'antarctic_waterfowl' is not in camel case.","line":128,"column":5,"nodeType":"Identifier","messageId":"notCamelCase","endLine":128,"endColumn":24,"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/qunit/resources/mediawiki.Uri.test.js","messages":[],"suppressedMessages":[{"ruleId":"no-sparse-arrays","severity":2,"message":"Unexpected comma in middle of array.","line":258,"column":35,"nodeType":"ArrayExpression","messageId":"unexpectedSparseArray","endLine":258,"endColumn":49,"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/qunit/resources/mediawiki.api/mediawiki.api.category.test.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/qunit/resources/mediawiki.api/mediawiki.api.edit.test.js","messages":[],"suppressedMessages":[{"ruleId":"unicorn/no-useless-promise-resolve-reject","severity":2,"message":"Prefer `return value` over `return Promise.resolve(value)`.","line":113,"column":72,"nodeType":"MemberExpression","messageId":"resolve","endLine":113,"endColumn":87,"fix":{"range":[3399,3464],"text":"revision.content.replace( 'Async', 'Promise' )"},"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/qunit/resources/mediawiki.api/mediawiki.api.messages.test.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/qunit/resources/mediawiki.api/mediawiki.api.options.test.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/qunit/resources/mediawiki.api/mediawiki.api.parse.test.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/qunit/resources/mediawiki.api/mediawiki.api.test.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/qunit/resources/mediawiki.api/mediawiki.api.upload.test.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/qunit/resources/mediawiki.api/mediawiki.api.watch.test.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/qunit/resources/mediawiki.api/mediawiki.rest.test.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/qunit/resources/mediawiki.base/errorLogger.test.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/qunit/resources/mediawiki.base/html.test.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/qunit/resources/mediawiki.base/mediawiki.base.test.js","messages":[],"suppressedMessages":[{"ruleId":"no-unused-vars","severity":2,"message":"'one' is defined but never used.","line":26,"column":45,"nodeType":"Identifier","messageId":"unusedVar","endLine":26,"endColumn":48,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-unused-vars","severity":2,"message":"'two' is defined but never used.","line":26,"column":50,"nodeType":"Identifier","messageId":"unusedVar","endLine":26,"endColumn":53,"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/qunit/resources/mediawiki.base/track.test.js","messages":[],"suppressedMessages":[{"ruleId":"no-console","severity":2,"message":"Unexpected console statement.","line":73,"column":5,"nodeType":"MemberExpression","messageId":"unexpected","endLine":73,"endColumn":18,"suggestions":[{"messageId":"removeConsole","data":{"propertyName":"error"},"fix":{"range":[1958,2027],"text":""},"desc":"Remove the console.error()."}],"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/qunit/resources/mediawiki.cldr.test.js","messages":[],"suppressedMessages":[{"ruleId":"no-jquery/no-each-util","severity":2,"message":"Prefer Array#forEach to $.each","line":78,"column":2,"nodeType":"CallExpression","endLine":82,"endColumn":5,"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/qunit/resources/mediawiki.cookie.test.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/qunit/resources/mediawiki.deflate.test.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/qunit/resources/mediawiki.experiments.test.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/qunit/resources/mediawiki.inspect.test.js","messages":[],"suppressedMessages":[{"ruleId":"no-eval","severity":2,"message":"eval can be harmful.","line":6,"column":19,"nodeType":"CallExpression","messageId":"unexpected","endLine":6,"endColumn":23,"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/qunit/resources/mediawiki.jqueryMsg.test.js","messages":[],"suppressedMessages":[{"ruleId":"camelcase","severity":2,"message":"Identifier 'template_talk' is not in camel case.","line":66,"column":5,"nodeType":"Identifier","messageId":"notCamelCase","endLine":66,"endColumn":18,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'dyskusja_szablonu' is not in camel case.","line":69,"column":5,"nodeType":"Identifier","messageId":"notCamelCase","endLine":69,"endColumn":22,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"mediawiki/msg-doc","severity":1,"message":"All possible message keys should be documented. See https://w.wiki/4r9a for details.","line":837,"column":20,"nodeType":"CallExpression","endLine":837,"endColumn":37,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"mediawiki/msg-doc","severity":1,"message":"All possible message keys should be documented. See https://w.wiki/4r9a for details.","line":1364,"column":5,"nodeType":"CallExpression","endLine":1364,"endColumn":57,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-script-url","severity":2,"message":"Script URL is a form of eval.","line":1385,"column":38,"nodeType":"Literal","messageId":"unexpectedScriptURL","endLine":1385,"endColumn":59,"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/qunit/resources/mediawiki.language.test.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/qunit/resources/mediawiki.messagePoster/factory.test.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/qunit/resources/mediawiki.pager.codex/limitSelectors.test.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/qunit/resources/mediawiki.rcfilters/UriProcessor.test.js","messages":[],"suppressedMessages":[{"ruleId":"camelcase","severity":2,"message":"Identifier 'group1__filter1' is not in camel case.","line":87,"column":4,"nodeType":"Identifier","messageId":"notCamelCase","endLine":87,"endColumn":19,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group3__filter5' is not in camel case.","line":88,"column":4,"nodeType":"Identifier","messageId":"notCamelCase","endLine":88,"endColumn":19,"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/qunit/resources/mediawiki.rcfilters/dm.FilterItem.test.js","messages":[],"suppressedMessages":[{"ruleId":"camelcase","severity":2,"message":"Identifier 'group2__conflict1' is not in camel case.","line":96,"column":6,"nodeType":"Identifier","messageId":"notCamelCase","endLine":96,"endColumn":23,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group2__conflict2' is not in camel case.","line":97,"column":6,"nodeType":"Identifier","messageId":"notCamelCase","endLine":97,"endColumn":23,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group2__conflict3' is not in camel case.","line":98,"column":6,"nodeType":"Identifier","messageId":"notCamelCase","endLine":98,"endColumn":23,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group2__conflict1' is not in camel case.","line":105,"column":5,"nodeType":"Identifier","messageId":"notCamelCase","endLine":105,"endColumn":22,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group2__conflict2' is not in camel case.","line":106,"column":5,"nodeType":"Identifier","messageId":"notCamelCase","endLine":106,"endColumn":22,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group2__conflict3' is not in camel case.","line":107,"column":5,"nodeType":"Identifier","messageId":"notCamelCase","endLine":107,"endColumn":22,"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/qunit/resources/mediawiki.rcfilters/dm.FiltersViewModel.test.js","messages":[],"suppressedMessages":[{"ruleId":"camelcase","severity":2,"message":"Identifier 'group1__filter1_color' is not in camel case.","line":178,"column":4,"nodeType":"Identifier","messageId":"notCamelCase","endLine":178,"endColumn":25,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group1__filter2_color' is not in camel case.","line":179,"column":4,"nodeType":"Identifier","messageId":"notCamelCase","endLine":179,"endColumn":25,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group2__filter4_color' is not in camel case.","line":181,"column":4,"nodeType":"Identifier","messageId":"notCamelCase","endLine":181,"endColumn":25,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group2__filter5_color' is not in camel case.","line":182,"column":4,"nodeType":"Identifier","messageId":"notCamelCase","endLine":182,"endColumn":25,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group2__filter6_color' is not in camel case.","line":183,"column":4,"nodeType":"Identifier","messageId":"notCamelCase","endLine":183,"endColumn":25,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group3__filter7_color' is not in camel case.","line":184,"column":4,"nodeType":"Identifier","messageId":"notCamelCase","endLine":184,"endColumn":25,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group3__filter8_color' is not in camel case.","line":185,"column":4,"nodeType":"Identifier","messageId":"notCamelCase","endLine":185,"endColumn":25,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group3__filter9_color' is not in camel case.","line":186,"column":4,"nodeType":"Identifier","messageId":"notCamelCase","endLine":186,"endColumn":25,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group5__option1_color' is not in camel case.","line":190,"column":4,"nodeType":"Identifier","messageId":"notCamelCase","endLine":190,"endColumn":25,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group5__option2_color' is not in camel case.","line":191,"column":4,"nodeType":"Identifier","messageId":"notCamelCase","endLine":191,"endColumn":25,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group5__option3_color' is not in camel case.","line":192,"column":4,"nodeType":"Identifier","messageId":"notCamelCase","endLine":192,"endColumn":25,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group6__group6option1_color' is not in camel case.","line":193,"column":4,"nodeType":"Identifier","messageId":"notCamelCase","endLine":193,"endColumn":31,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group6__group6option2_color' is not in camel case.","line":194,"column":4,"nodeType":"Identifier","messageId":"notCamelCase","endLine":194,"endColumn":31,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group6__group6option3_color' is not in camel case.","line":195,"column":4,"nodeType":"Identifier","messageId":"notCamelCase","endLine":195,"endColumn":31,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group7__group7option1_color' is not in camel case.","line":196,"column":4,"nodeType":"Identifier","messageId":"notCamelCase","endLine":196,"endColumn":31,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group7__group7option2_color' is not in camel case.","line":197,"column":4,"nodeType":"Identifier","messageId":"notCamelCase","endLine":197,"endColumn":31,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group7__group7option3_color' is not in camel case.","line":198,"column":4,"nodeType":"Identifier","messageId":"notCamelCase","endLine":198,"endColumn":31,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'namespace__0_color' is not in camel case.","line":199,"column":4,"nodeType":"Identifier","messageId":"notCamelCase","endLine":199,"endColumn":22,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'namespace__1_color' is not in camel case.","line":200,"column":4,"nodeType":"Identifier","messageId":"notCamelCase","endLine":200,"endColumn":22,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'namespace__2_color' is not in camel case.","line":201,"column":4,"nodeType":"Identifier","messageId":"notCamelCase","endLine":201,"endColumn":22,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'namespace__3_color' is not in camel case.","line":202,"column":4,"nodeType":"Identifier","messageId":"notCamelCase","endLine":202,"endColumn":22,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group1__filter1' is not in camel case.","line":205,"column":4,"nodeType":"Identifier","messageId":"notCamelCase","endLine":205,"endColumn":19,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group1__filter2' is not in camel case.","line":206,"column":4,"nodeType":"Identifier","messageId":"notCamelCase","endLine":206,"endColumn":19,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group1__filter3' is not in camel case.","line":207,"column":4,"nodeType":"Identifier","messageId":"notCamelCase","endLine":207,"endColumn":19,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group2__filter4' is not in camel case.","line":208,"column":4,"nodeType":"Identifier","messageId":"notCamelCase","endLine":208,"endColumn":19,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group2__filter5' is not in camel case.","line":209,"column":4,"nodeType":"Identifier","messageId":"notCamelCase","endLine":209,"endColumn":19,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group2__filter6' is not in camel case.","line":210,"column":4,"nodeType":"Identifier","messageId":"notCamelCase","endLine":210,"endColumn":19,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group3__filter7' is not in camel case.","line":211,"column":4,"nodeType":"Identifier","messageId":"notCamelCase","endLine":211,"endColumn":19,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group3__filter8' is not in camel case.","line":212,"column":4,"nodeType":"Identifier","messageId":"notCamelCase","endLine":212,"endColumn":19,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group3__filter9' is not in camel case.","line":213,"column":4,"nodeType":"Identifier","messageId":"notCamelCase","endLine":213,"endColumn":19,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group4__option1' is not in camel case.","line":216,"column":4,"nodeType":"Identifier","messageId":"notCamelCase","endLine":216,"endColumn":19,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group4__option2' is not in camel case.","line":217,"column":4,"nodeType":"Identifier","messageId":"notCamelCase","endLine":217,"endColumn":19,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group4__option3' is not in camel case.","line":218,"column":4,"nodeType":"Identifier","messageId":"notCamelCase","endLine":218,"endColumn":19,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group5__option1' is not in camel case.","line":219,"column":4,"nodeType":"Identifier","messageId":"notCamelCase","endLine":219,"endColumn":19,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group5__option2' is not in camel case.","line":220,"column":4,"nodeType":"Identifier","messageId":"notCamelCase","endLine":220,"endColumn":19,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group5__option3' is not in camel case.","line":221,"column":4,"nodeType":"Identifier","messageId":"notCamelCase","endLine":221,"endColumn":19,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group6__group6option1' is not in camel case.","line":222,"column":4,"nodeType":"Identifier","messageId":"notCamelCase","endLine":222,"endColumn":25,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group6__group6option2' is not in camel case.","line":223,"column":4,"nodeType":"Identifier","messageId":"notCamelCase","endLine":223,"endColumn":25,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group6__group6option3' is not in camel case.","line":224,"column":4,"nodeType":"Identifier","messageId":"notCamelCase","endLine":224,"endColumn":25,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group7__group7option1' is not in camel case.","line":225,"column":4,"nodeType":"Identifier","messageId":"notCamelCase","endLine":225,"endColumn":25,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group7__group7option2' is not in camel case.","line":226,"column":4,"nodeType":"Identifier","messageId":"notCamelCase","endLine":226,"endColumn":25,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group7__group7option3' is not in camel case.","line":227,"column":4,"nodeType":"Identifier","messageId":"notCamelCase","endLine":227,"endColumn":25,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'namespace__0' is not in camel case.","line":228,"column":4,"nodeType":"Identifier","messageId":"notCamelCase","endLine":228,"endColumn":16,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'namespace__1' is not in camel case.","line":229,"column":4,"nodeType":"Identifier","messageId":"notCamelCase","endLine":229,"endColumn":16,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'namespace__2' is not in camel case.","line":230,"column":4,"nodeType":"Identifier","messageId":"notCamelCase","endLine":230,"endColumn":16,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'namespace__3' is not in camel case.","line":231,"column":4,"nodeType":"Identifier","messageId":"notCamelCase","endLine":231,"endColumn":16,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group1__filter1' is not in camel case.","line":234,"column":4,"nodeType":"Identifier","messageId":"notCamelCase","endLine":234,"endColumn":19,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group1__filter2' is not in camel case.","line":235,"column":4,"nodeType":"Identifier","messageId":"notCamelCase","endLine":235,"endColumn":19,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group1__filter3' is not in camel case.","line":236,"column":4,"nodeType":"Identifier","messageId":"notCamelCase","endLine":236,"endColumn":19,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group2__filter4' is not in camel case.","line":237,"column":4,"nodeType":"Identifier","messageId":"notCamelCase","endLine":237,"endColumn":19,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group2__filter5' is not in camel case.","line":238,"column":4,"nodeType":"Identifier","messageId":"notCamelCase","endLine":238,"endColumn":19,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group2__filter6' is not in camel case.","line":239,"column":4,"nodeType":"Identifier","messageId":"notCamelCase","endLine":239,"endColumn":19,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group3__filter7' is not in camel case.","line":240,"column":4,"nodeType":"Identifier","messageId":"notCamelCase","endLine":240,"endColumn":19,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group3__filter8' is not in camel case.","line":241,"column":4,"nodeType":"Identifier","messageId":"notCamelCase","endLine":241,"endColumn":19,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group3__filter9' is not in camel case.","line":242,"column":4,"nodeType":"Identifier","messageId":"notCamelCase","endLine":242,"endColumn":19,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group4__option1' is not in camel case.","line":243,"column":4,"nodeType":"Identifier","messageId":"notCamelCase","endLine":243,"endColumn":19,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group4__option2' is not in camel case.","line":244,"column":4,"nodeType":"Identifier","messageId":"notCamelCase","endLine":244,"endColumn":19,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group4__option3' is not in camel case.","line":245,"column":4,"nodeType":"Identifier","messageId":"notCamelCase","endLine":245,"endColumn":19,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group5__option1' is not in camel case.","line":246,"column":4,"nodeType":"Identifier","messageId":"notCamelCase","endLine":246,"endColumn":19,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group5__option2' is not in camel case.","line":247,"column":4,"nodeType":"Identifier","messageId":"notCamelCase","endLine":247,"endColumn":19,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group5__option3' is not in camel case.","line":248,"column":4,"nodeType":"Identifier","messageId":"notCamelCase","endLine":248,"endColumn":19,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group6__group6option1' is not in camel case.","line":249,"column":4,"nodeType":"Identifier","messageId":"notCamelCase","endLine":249,"endColumn":25,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group6__group6option2' is not in camel case.","line":250,"column":4,"nodeType":"Identifier","messageId":"notCamelCase","endLine":250,"endColumn":25,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group6__group6option3' is not in camel case.","line":251,"column":4,"nodeType":"Identifier","messageId":"notCamelCase","endLine":251,"endColumn":25,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group7__group7option1' is not in camel case.","line":252,"column":4,"nodeType":"Identifier","messageId":"notCamelCase","endLine":252,"endColumn":25,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group7__group7option2' is not in camel case.","line":253,"column":4,"nodeType":"Identifier","messageId":"notCamelCase","endLine":253,"endColumn":25,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group7__group7option3' is not in camel case.","line":254,"column":4,"nodeType":"Identifier","messageId":"notCamelCase","endLine":254,"endColumn":25,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'namespace__0' is not in camel case.","line":255,"column":4,"nodeType":"Identifier","messageId":"notCamelCase","endLine":255,"endColumn":16,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'namespace__1' is not in camel case.","line":256,"column":4,"nodeType":"Identifier","messageId":"notCamelCase","endLine":256,"endColumn":16,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'namespace__2' is not in camel case.","line":257,"column":4,"nodeType":"Identifier","messageId":"notCamelCase","endLine":257,"endColumn":16,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'namespace__3' is not in camel case.","line":258,"column":4,"nodeType":"Identifier","messageId":"notCamelCase","endLine":258,"endColumn":16,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group1__filter1' is not in camel case.","line":297,"column":4,"nodeType":"Identifier","messageId":"notCamelCase","endLine":297,"endColumn":19,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group2__filter5' is not in camel case.","line":298,"column":4,"nodeType":"Identifier","messageId":"notCamelCase","endLine":298,"endColumn":19,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group3__filter7' is not in camel case.","line":299,"column":4,"nodeType":"Identifier","messageId":"notCamelCase","endLine":299,"endColumn":19,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group1__filter1' is not in camel case.","line":304,"column":5,"nodeType":"Identifier","messageId":"notCamelCase","endLine":304,"endColumn":20,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group2__filter5' is not in camel case.","line":305,"column":5,"nodeType":"Identifier","messageId":"notCamelCase","endLine":305,"endColumn":20,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group3__filter7' is not in camel case.","line":306,"column":5,"nodeType":"Identifier","messageId":"notCamelCase","endLine":306,"endColumn":20,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group1__filter1_color' is not in camel case.","line":354,"column":7,"nodeType":"Identifier","messageId":"notCamelCase","endLine":354,"endColumn":28,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group1__filter1_color' is not in camel case.","line":366,"column":7,"nodeType":"Identifier","messageId":"notCamelCase","endLine":366,"endColumn":28,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group1__filter1_color' is not in camel case.","line":369,"column":7,"nodeType":"Identifier","messageId":"notCamelCase","endLine":369,"endColumn":28,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group1__filter1_color' is not in camel case.","line":375,"column":7,"nodeType":"Identifier","messageId":"notCamelCase","endLine":375,"endColumn":28,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group1__filter3_color' is not in camel case.","line":376,"column":7,"nodeType":"Identifier","messageId":"notCamelCase","endLine":376,"endColumn":28,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group1__filter1_color' is not in camel case.","line":379,"column":7,"nodeType":"Identifier","messageId":"notCamelCase","endLine":379,"endColumn":28,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group1__filter1' is not in camel case.","line":418,"column":4,"nodeType":"Identifier","messageId":"notCamelCase","endLine":418,"endColumn":19,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group3__filter7' is not in camel case.","line":419,"column":4,"nodeType":"Identifier","messageId":"notCamelCase","endLine":419,"endColumn":19,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group1__filter1' is not in camel case.","line":560,"column":4,"nodeType":"Identifier","messageId":"notCamelCase","endLine":560,"endColumn":19,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group1__filter1' is not in camel case.","line":575,"column":4,"nodeType":"Identifier","messageId":"notCamelCase","endLine":575,"endColumn":19,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group1__filter2' is not in camel case.","line":576,"column":4,"nodeType":"Identifier","messageId":"notCamelCase","endLine":576,"endColumn":19,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group1__filter1' is not in camel case.","line":590,"column":4,"nodeType":"Identifier","messageId":"notCamelCase","endLine":590,"endColumn":19,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group1__filter2' is not in camel case.","line":591,"column":4,"nodeType":"Identifier","messageId":"notCamelCase","endLine":591,"endColumn":19,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group1__filter3' is not in camel case.","line":592,"column":4,"nodeType":"Identifier","messageId":"notCamelCase","endLine":592,"endColumn":19,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group3__filter7' is not in camel case.","line":603,"column":4,"nodeType":"Identifier","messageId":"notCamelCase","endLine":603,"endColumn":19,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group3__filter8' is not in camel case.","line":604,"column":4,"nodeType":"Identifier","messageId":"notCamelCase","endLine":604,"endColumn":19,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group3__filter9' is not in camel case.","line":605,"column":4,"nodeType":"Identifier","messageId":"notCamelCase","endLine":605,"endColumn":19,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group3__filter7' is not in camel case.","line":618,"column":4,"nodeType":"Identifier","messageId":"notCamelCase","endLine":618,"endColumn":19,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group3__filter8' is not in camel case.","line":619,"column":4,"nodeType":"Identifier","messageId":"notCamelCase","endLine":619,"endColumn":19,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group3__filter9' is not in camel case.","line":620,"column":4,"nodeType":"Identifier","messageId":"notCamelCase","endLine":620,"endColumn":19,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group3__filter7' is not in camel case.","line":633,"column":4,"nodeType":"Identifier","messageId":"notCamelCase","endLine":633,"endColumn":19,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group3__filter8' is not in camel case.","line":634,"column":4,"nodeType":"Identifier","messageId":"notCamelCase","endLine":634,"endColumn":19,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group3__filter9' is not in camel case.","line":635,"column":4,"nodeType":"Identifier","messageId":"notCamelCase","endLine":635,"endColumn":19,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group4__option2' is not in camel case.","line":652,"column":4,"nodeType":"Identifier","messageId":"notCamelCase","endLine":652,"endColumn":19,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group4__option3' is not in camel case.","line":665,"column":4,"nodeType":"Identifier","messageId":"notCamelCase","endLine":665,"endColumn":19,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group1__hidefilter1' is not in camel case.","line":736,"column":7,"nodeType":"Identifier","messageId":"notCamelCase","endLine":736,"endColumn":26,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group1__hidefilter2' is not in camel case.","line":737,"column":7,"nodeType":"Identifier","messageId":"notCamelCase","endLine":737,"endColumn":26,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group1__hidefilter3' is not in camel case.","line":738,"column":7,"nodeType":"Identifier","messageId":"notCamelCase","endLine":738,"endColumn":26,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group2__hidefilter4' is not in camel case.","line":739,"column":7,"nodeType":"Identifier","messageId":"notCamelCase","endLine":739,"endColumn":26,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group2__hidefilter5' is not in camel case.","line":740,"column":7,"nodeType":"Identifier","messageId":"notCamelCase","endLine":740,"endColumn":26,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group2__hidefilter6' is not in camel case.","line":741,"column":7,"nodeType":"Identifier","messageId":"notCamelCase","endLine":741,"endColumn":26,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group3__filter7' is not in camel case.","line":742,"column":7,"nodeType":"Identifier","messageId":"notCamelCase","endLine":742,"endColumn":22,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group3__filter8' is not in camel case.","line":743,"column":7,"nodeType":"Identifier","messageId":"notCamelCase","endLine":743,"endColumn":22,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group3__filter9' is not in camel case.","line":744,"column":7,"nodeType":"Identifier","messageId":"notCamelCase","endLine":744,"endColumn":22,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group1__hidefilter1' is not in camel case.","line":758,"column":7,"nodeType":"Identifier","messageId":"notCamelCase","endLine":758,"endColumn":26,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group4__filter10' is not in camel case.","line":769,"column":7,"nodeType":"Identifier","messageId":"notCamelCase","endLine":769,"endColumn":23,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group4__filter10' is not in camel case.","line":778,"column":7,"nodeType":"Identifier","messageId":"notCamelCase","endLine":778,"endColumn":23,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group4__filter11' is not in camel case.","line":779,"column":7,"nodeType":"Identifier","messageId":"notCamelCase","endLine":779,"endColumn":23,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group1__filter1' is not in camel case.","line":832,"column":5,"nodeType":"Identifier","messageId":"notCamelCase","endLine":832,"endColumn":20,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group1__filter2' is not in camel case.","line":833,"column":5,"nodeType":"Identifier","messageId":"notCamelCase","endLine":833,"endColumn":20,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group1__filter3' is not in camel case.","line":834,"column":5,"nodeType":"Identifier","messageId":"notCamelCase","endLine":834,"endColumn":20,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group1__filter1' is not in camel case.","line":846,"column":5,"nodeType":"Identifier","messageId":"notCamelCase","endLine":846,"endColumn":20,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group1__filter2' is not in camel case.","line":847,"column":5,"nodeType":"Identifier","messageId":"notCamelCase","endLine":847,"endColumn":20,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group1__filter3' is not in camel case.","line":848,"column":5,"nodeType":"Identifier","messageId":"notCamelCase","endLine":848,"endColumn":20,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group2__filter4' is not in camel case.","line":878,"column":5,"nodeType":"Identifier","messageId":"notCamelCase","endLine":878,"endColumn":20,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group2__filter5' is not in camel case.","line":879,"column":5,"nodeType":"Identifier","messageId":"notCamelCase","endLine":879,"endColumn":20,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group2__filter6' is not in camel case.","line":880,"column":5,"nodeType":"Identifier","messageId":"notCamelCase","endLine":880,"endColumn":20,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group3__filter7' is not in camel case.","line":897,"column":5,"nodeType":"Identifier","messageId":"notCamelCase","endLine":897,"endColumn":20,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group3__filter8' is not in camel case.","line":898,"column":5,"nodeType":"Identifier","messageId":"notCamelCase","endLine":898,"endColumn":20,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group3__filter9' is not in camel case.","line":899,"column":5,"nodeType":"Identifier","messageId":"notCamelCase","endLine":899,"endColumn":20,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group3__filter7' is not in camel case.","line":912,"column":5,"nodeType":"Identifier","messageId":"notCamelCase","endLine":912,"endColumn":20,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group3__filter8' is not in camel case.","line":913,"column":5,"nodeType":"Identifier","messageId":"notCamelCase","endLine":913,"endColumn":20,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group3__filter9' is not in camel case.","line":914,"column":5,"nodeType":"Identifier","messageId":"notCamelCase","endLine":914,"endColumn":20,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group3__filter7' is not in camel case.","line":927,"column":5,"nodeType":"Identifier","messageId":"notCamelCase","endLine":927,"endColumn":20,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group3__filter8' is not in camel case.","line":928,"column":5,"nodeType":"Identifier","messageId":"notCamelCase","endLine":928,"endColumn":20,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group3__filter9' is not in camel case.","line":929,"column":5,"nodeType":"Identifier","messageId":"notCamelCase","endLine":929,"endColumn":20,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group3__filter7' is not in camel case.","line":942,"column":5,"nodeType":"Identifier","messageId":"notCamelCase","endLine":942,"endColumn":20,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group3__filter8' is not in camel case.","line":943,"column":5,"nodeType":"Identifier","messageId":"notCamelCase","endLine":943,"endColumn":20,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group3__filter9' is not in camel case.","line":944,"column":5,"nodeType":"Identifier","messageId":"notCamelCase","endLine":944,"endColumn":20,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group3__filter7' is not in camel case.","line":957,"column":5,"nodeType":"Identifier","messageId":"notCamelCase","endLine":957,"endColumn":20,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group3__filter8' is not in camel case.","line":958,"column":5,"nodeType":"Identifier","messageId":"notCamelCase","endLine":958,"endColumn":20,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group3__filter9' is not in camel case.","line":959,"column":5,"nodeType":"Identifier","messageId":"notCamelCase","endLine":959,"endColumn":20,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group4__option1' is not in camel case.","line":972,"column":5,"nodeType":"Identifier","messageId":"notCamelCase","endLine":972,"endColumn":20,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group4__option2' is not in camel case.","line":973,"column":5,"nodeType":"Identifier","messageId":"notCamelCase","endLine":973,"endColumn":20,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group4__option2' is not in camel case.","line":1001,"column":5,"nodeType":"Identifier","messageId":"notCamelCase","endLine":1001,"endColumn":20,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group1__filter1' is not in camel case.","line":1038,"column":4,"nodeType":"Identifier","messageId":"notCamelCase","endLine":1038,"endColumn":19,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group1__filter1' is not in camel case.","line":1045,"column":5,"nodeType":"Identifier","messageId":"notCamelCase","endLine":1045,"endColumn":20,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group1__filter2' is not in camel case.","line":1046,"column":5,"nodeType":"Identifier","messageId":"notCamelCase","endLine":1046,"endColumn":20,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group1__filter3' is not in camel case.","line":1047,"column":5,"nodeType":"Identifier","messageId":"notCamelCase","endLine":1047,"endColumn":20,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group2__filter4' is not in camel case.","line":1049,"column":5,"nodeType":"Identifier","messageId":"notCamelCase","endLine":1049,"endColumn":20,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group2__filter5' is not in camel case.","line":1050,"column":5,"nodeType":"Identifier","messageId":"notCamelCase","endLine":1050,"endColumn":20,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group2__filter6' is not in camel case.","line":1051,"column":5,"nodeType":"Identifier","messageId":"notCamelCase","endLine":1051,"endColumn":20,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group1__filter2' is not in camel case.","line":1058,"column":4,"nodeType":"Identifier","messageId":"notCamelCase","endLine":1058,"endColumn":19,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group1__filter1' is not in camel case.","line":1064,"column":5,"nodeType":"Identifier","messageId":"notCamelCase","endLine":1064,"endColumn":20,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group1__filter2' is not in camel case.","line":1065,"column":5,"nodeType":"Identifier","messageId":"notCamelCase","endLine":1065,"endColumn":20,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group1__filter3' is not in camel case.","line":1066,"column":5,"nodeType":"Identifier","messageId":"notCamelCase","endLine":1066,"endColumn":20,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group2__filter6' is not in camel case.","line":1068,"column":5,"nodeType":"Identifier","messageId":"notCamelCase","endLine":1068,"endColumn":20,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group1__filter1' is not in camel case.","line":1075,"column":4,"nodeType":"Identifier","messageId":"notCamelCase","endLine":1075,"endColumn":19,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group1__filter2' is not in camel case.","line":1081,"column":5,"nodeType":"Identifier","messageId":"notCamelCase","endLine":1081,"endColumn":20,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group1__filter3' is not in camel case.","line":1082,"column":5,"nodeType":"Identifier","messageId":"notCamelCase","endLine":1082,"endColumn":20,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group2__filter6' is not in camel case.","line":1084,"column":5,"nodeType":"Identifier","messageId":"notCamelCase","endLine":1084,"endColumn":20,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group1__filter2' is not in camel case.","line":1090,"column":4,"nodeType":"Identifier","messageId":"notCamelCase","endLine":1090,"endColumn":19,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group1__filter1' is not in camel case.","line":1116,"column":6,"nodeType":"Identifier","messageId":"notCamelCase","endLine":1116,"endColumn":21,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group1__filter2' is not in camel case.","line":1117,"column":6,"nodeType":"Identifier","messageId":"notCamelCase","endLine":1117,"endColumn":21,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group1__filter3' is not in camel case.","line":1118,"column":6,"nodeType":"Identifier","messageId":"notCamelCase","endLine":1118,"endColumn":21,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group2__filter4' is not in camel case.","line":1119,"column":6,"nodeType":"Identifier","messageId":"notCamelCase","endLine":1119,"endColumn":21,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group2__filter5' is not in camel case.","line":1120,"column":6,"nodeType":"Identifier","messageId":"notCamelCase","endLine":1120,"endColumn":21,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group2__filter6' is not in camel case.","line":1121,"column":6,"nodeType":"Identifier","messageId":"notCamelCase","endLine":1121,"endColumn":21,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group1__filter1' is not in camel case.","line":1125,"column":5,"nodeType":"Identifier","messageId":"notCamelCase","endLine":1125,"endColumn":20,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group1__filter2' is not in camel case.","line":1126,"column":5,"nodeType":"Identifier","messageId":"notCamelCase","endLine":1126,"endColumn":20,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group1__filter3' is not in camel case.","line":1127,"column":5,"nodeType":"Identifier","messageId":"notCamelCase","endLine":1127,"endColumn":20,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group2__filter4' is not in camel case.","line":1128,"column":5,"nodeType":"Identifier","messageId":"notCamelCase","endLine":1128,"endColumn":20,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group2__filter5' is not in camel case.","line":1129,"column":5,"nodeType":"Identifier","messageId":"notCamelCase","endLine":1129,"endColumn":20,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group2__filter6' is not in camel case.","line":1130,"column":5,"nodeType":"Identifier","messageId":"notCamelCase","endLine":1130,"endColumn":20,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group1__filter1' is not in camel case.","line":1144,"column":4,"nodeType":"Identifier","messageId":"notCamelCase","endLine":1144,"endColumn":19,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group1__filter2' is not in camel case.","line":1145,"column":4,"nodeType":"Identifier","messageId":"notCamelCase","endLine":1145,"endColumn":19,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group2__filter4' is not in camel case.","line":1146,"column":4,"nodeType":"Identifier","messageId":"notCamelCase","endLine":1146,"endColumn":19,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group2__filter5' is not in camel case.","line":1147,"column":4,"nodeType":"Identifier","messageId":"notCamelCase","endLine":1147,"endColumn":19,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group2__filter6' is not in camel case.","line":1159,"column":4,"nodeType":"Identifier","messageId":"notCamelCase","endLine":1159,"endColumn":19,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group2__filter4' is not in camel case.","line":1166,"column":5,"nodeType":"Identifier","messageId":"notCamelCase","endLine":1166,"endColumn":20,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group2__filter5' is not in camel case.","line":1167,"column":5,"nodeType":"Identifier","messageId":"notCamelCase","endLine":1167,"endColumn":20,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group2__filter6' is not in camel case.","line":1168,"column":5,"nodeType":"Identifier","messageId":"notCamelCase","endLine":1168,"endColumn":20,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group1__filter3' is not in camel case.","line":1175,"column":4,"nodeType":"Identifier","messageId":"notCamelCase","endLine":1175,"endColumn":19,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group2__filter4' is not in camel case.","line":1182,"column":5,"nodeType":"Identifier","messageId":"notCamelCase","endLine":1182,"endColumn":20,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group2__filter5' is not in camel case.","line":1183,"column":5,"nodeType":"Identifier","messageId":"notCamelCase","endLine":1183,"endColumn":20,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group2__filter6' is not in camel case.","line":1184,"column":5,"nodeType":"Identifier","messageId":"notCamelCase","endLine":1184,"endColumn":20,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group1__filter3' is not in camel case.","line":1191,"column":4,"nodeType":"Identifier","messageId":"notCamelCase","endLine":1191,"endColumn":19,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group2__filter5' is not in camel case.","line":1192,"column":4,"nodeType":"Identifier","messageId":"notCamelCase","endLine":1192,"endColumn":19,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group1__filter1' is not in camel case.","line":1214,"column":4,"nodeType":"Identifier","messageId":"notCamelCase","endLine":1214,"endColumn":19,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group1__filter1' is not in camel case.","line":1222,"column":5,"nodeType":"Identifier","messageId":"notCamelCase","endLine":1222,"endColumn":20,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group2__filter4' is not in camel case.","line":1223,"column":5,"nodeType":"Identifier","messageId":"notCamelCase","endLine":1223,"endColumn":20,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group2__filter5' is not in camel case.","line":1224,"column":5,"nodeType":"Identifier","messageId":"notCamelCase","endLine":1224,"endColumn":20,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group2__filter6' is not in camel case.","line":1225,"column":5,"nodeType":"Identifier","messageId":"notCamelCase","endLine":1225,"endColumn":20,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group1__filter2' is not in camel case.","line":1227,"column":5,"nodeType":"Identifier","messageId":"notCamelCase","endLine":1227,"endColumn":20,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group1__filter3' is not in camel case.","line":1228,"column":5,"nodeType":"Identifier","messageId":"notCamelCase","endLine":1228,"endColumn":20,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group2__filter4' is not in camel case.","line":1235,"column":4,"nodeType":"Identifier","messageId":"notCamelCase","endLine":1235,"endColumn":19,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group1__filter1' is not in camel case.","line":1242,"column":5,"nodeType":"Identifier","messageId":"notCamelCase","endLine":1242,"endColumn":20,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group2__filter4' is not in camel case.","line":1243,"column":5,"nodeType":"Identifier","messageId":"notCamelCase","endLine":1243,"endColumn":20,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group2__filter5' is not in camel case.","line":1244,"column":5,"nodeType":"Identifier","messageId":"notCamelCase","endLine":1244,"endColumn":20,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group2__filter6' is not in camel case.","line":1245,"column":5,"nodeType":"Identifier","messageId":"notCamelCase","endLine":1245,"endColumn":20,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group1__filter2' is not in camel case.","line":1247,"column":5,"nodeType":"Identifier","messageId":"notCamelCase","endLine":1247,"endColumn":20,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group1__filter3' is not in camel case.","line":1248,"column":5,"nodeType":"Identifier","messageId":"notCamelCase","endLine":1248,"endColumn":20,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group1__filter2' is not in camel case.","line":1259,"column":4,"nodeType":"Identifier","messageId":"notCamelCase","endLine":1259,"endColumn":19,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group1__filter2' is not in camel case.","line":1266,"column":5,"nodeType":"Identifier","messageId":"notCamelCase","endLine":1266,"endColumn":20,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group2__filter6' is not in camel case.","line":1267,"column":5,"nodeType":"Identifier","messageId":"notCamelCase","endLine":1267,"endColumn":20,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group1__filter3' is not in camel case.","line":1269,"column":5,"nodeType":"Identifier","messageId":"notCamelCase","endLine":1269,"endColumn":20,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group2__filter6' is not in camel case.","line":1276,"column":4,"nodeType":"Identifier","messageId":"notCamelCase","endLine":1276,"endColumn":19,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group1__filter2' is not in camel case.","line":1284,"column":5,"nodeType":"Identifier","messageId":"notCamelCase","endLine":1284,"endColumn":20,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group2__filter6' is not in camel case.","line":1285,"column":5,"nodeType":"Identifier","messageId":"notCamelCase","endLine":1285,"endColumn":20,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group1__filter1' is not in camel case.","line":1291,"column":5,"nodeType":"Identifier","messageId":"notCamelCase","endLine":1291,"endColumn":20,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group1__filter3' is not in camel case.","line":1294,"column":5,"nodeType":"Identifier","messageId":"notCamelCase","endLine":1294,"endColumn":20,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group2__filter5' is not in camel case.","line":1301,"column":4,"nodeType":"Identifier","messageId":"notCamelCase","endLine":1301,"endColumn":19,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group1__filter2' is not in camel case.","line":1309,"column":5,"nodeType":"Identifier","messageId":"notCamelCase","endLine":1309,"endColumn":20,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group2__filter6' is not in camel case.","line":1310,"column":5,"nodeType":"Identifier","messageId":"notCamelCase","endLine":1310,"endColumn":20,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group2__filter5' is not in camel case.","line":1311,"column":5,"nodeType":"Identifier","messageId":"notCamelCase","endLine":1311,"endColumn":20,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group1__filter3' is not in camel case.","line":1318,"column":5,"nodeType":"Identifier","messageId":"notCamelCase","endLine":1318,"endColumn":20,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group1__filter2' is not in camel case.","line":1328,"column":4,"nodeType":"Identifier","messageId":"notCamelCase","endLine":1328,"endColumn":19,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group1__filter1' is not in camel case.","line":1336,"column":5,"nodeType":"Identifier","messageId":"notCamelCase","endLine":1336,"endColumn":20,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group2__filter6' is not in camel case.","line":1337,"column":5,"nodeType":"Identifier","messageId":"notCamelCase","endLine":1337,"endColumn":20,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group2__filter5' is not in camel case.","line":1338,"column":5,"nodeType":"Identifier","messageId":"notCamelCase","endLine":1338,"endColumn":20,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group1__filter1' is not in camel case.","line":1345,"column":4,"nodeType":"Identifier","messageId":"notCamelCase","endLine":1345,"endColumn":19,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group1__filter1' is not in camel case.","line":1353,"column":5,"nodeType":"Identifier","messageId":"notCamelCase","endLine":1353,"endColumn":20,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group2__filter6' is not in camel case.","line":1354,"column":5,"nodeType":"Identifier","messageId":"notCamelCase","endLine":1354,"endColumn":20,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group2__filter5' is not in camel case.","line":1355,"column":5,"nodeType":"Identifier","messageId":"notCamelCase","endLine":1355,"endColumn":20,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group2__filter4' is not in camel case.","line":1356,"column":5,"nodeType":"Identifier","messageId":"notCamelCase","endLine":1356,"endColumn":20,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group1__filter2' is not in camel case.","line":1358,"column":5,"nodeType":"Identifier","messageId":"notCamelCase","endLine":1358,"endColumn":20,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group1__filter3' is not in camel case.","line":1359,"column":5,"nodeType":"Identifier","messageId":"notCamelCase","endLine":1359,"endColumn":20,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group1__filter2' is not in camel case.","line":1371,"column":4,"nodeType":"Identifier","messageId":"notCamelCase","endLine":1371,"endColumn":19,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group1__filter2' is not in camel case.","line":1379,"column":5,"nodeType":"Identifier","messageId":"notCamelCase","endLine":1379,"endColumn":20,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group2__filter6' is not in camel case.","line":1380,"column":5,"nodeType":"Identifier","messageId":"notCamelCase","endLine":1380,"endColumn":20,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group1__filter3' is not in camel case.","line":1382,"column":5,"nodeType":"Identifier","messageId":"notCamelCase","endLine":1382,"endColumn":20,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group1__filter3' is not in camel case.","line":1388,"column":4,"nodeType":"Identifier","messageId":"notCamelCase","endLine":1388,"endColumn":19,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group1__filter2' is not in camel case.","line":1396,"column":5,"nodeType":"Identifier","messageId":"notCamelCase","endLine":1396,"endColumn":20,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group1__filter3' is not in camel case.","line":1398,"column":5,"nodeType":"Identifier","messageId":"notCamelCase","endLine":1398,"endColumn":20,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group1__filter1' is not in camel case.","line":1514,"column":4,"nodeType":"Identifier","messageId":"notCamelCase","endLine":1514,"endColumn":19,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group2__filter4' is not in camel case.","line":1515,"column":4,"nodeType":"Identifier","messageId":"notCamelCase","endLine":1515,"endColumn":19,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group3__filter5' is not in camel case.","line":1516,"column":4,"nodeType":"Identifier","messageId":"notCamelCase","endLine":1516,"endColumn":19,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group3__filter5' is not in camel case.","line":1524,"column":5,"nodeType":"Identifier","messageId":"notCamelCase","endLine":1524,"endColumn":20,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group3__filter6' is not in camel case.","line":1525,"column":5,"nodeType":"Identifier","messageId":"notCamelCase","endLine":1525,"endColumn":20,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group3__filter5' is not in camel case.","line":1539,"column":4,"nodeType":"Identifier","messageId":"notCamelCase","endLine":1539,"endColumn":19,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group1__filter1' is not in camel case.","line":1544,"column":4,"nodeType":"Identifier","messageId":"notCamelCase","endLine":1544,"endColumn":19,"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/qunit/resources/mediawiki.rcfilters/dm.SavedQueriesModel.test.js","messages":[],"suppressedMessages":[{"ruleId":"camelcase","severity":2,"message":"Identifier 'group1__filter3' is not in camel case.","line":70,"column":8,"nodeType":"Identifier","messageId":"notCamelCase","endLine":70,"endColumn":23,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group2__filter4' is not in camel case.","line":71,"column":8,"nodeType":"Identifier","messageId":"notCamelCase","endLine":71,"endColumn":23,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group3__group3option1' is not in camel case.","line":72,"column":8,"nodeType":"Identifier","messageId":"notCamelCase","endLine":72,"endColumn":29,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group1__filter1' is not in camel case.","line":76,"column":8,"nodeType":"Identifier","messageId":"notCamelCase","endLine":76,"endColumn":23,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group3__group3option1' is not in camel case.","line":77,"column":8,"nodeType":"Identifier","messageId":"notCamelCase","endLine":77,"endColumn":29,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group1__filter1_color' is not in camel case.","line":99,"column":8,"nodeType":"Identifier","messageId":"notCamelCase","endLine":99,"endColumn":29,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group3__group3option1_color' is not in camel case.","line":100,"column":8,"nodeType":"Identifier","messageId":"notCamelCase","endLine":100,"endColumn":35,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group1__filter3_color' is not in camel case.","line":128,"column":9,"nodeType":"Identifier","messageId":"notCamelCase","endLine":128,"endColumn":30,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group2__filter5_color' is not in camel case.","line":188,"column":72,"nodeType":"Identifier","messageId":"notCamelCase","endLine":188,"endColumn":93,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group2__filter5_color' is not in camel case.","line":189,"column":77,"nodeType":"Identifier","messageId":"notCamelCase","endLine":189,"endColumn":98,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group1__filter1_color' is not in camel case.","line":228,"column":8,"nodeType":"Identifier","messageId":"notCamelCase","endLine":228,"endColumn":29,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group1__filter3_color' is not in camel case.","line":229,"column":8,"nodeType":"Identifier","messageId":"notCamelCase","endLine":229,"endColumn":29,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group1__filter1_color' is not in camel case.","line":243,"column":10,"nodeType":"Identifier","messageId":"notCamelCase","endLine":243,"endColumn":31,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group1__filter3_color' is not in camel case.","line":244,"column":10,"nodeType":"Identifier","messageId":"notCamelCase","endLine":244,"endColumn":31,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group1__filter1_color' is not in camel case.","line":262,"column":8,"nodeType":"Identifier","messageId":"notCamelCase","endLine":262,"endColumn":29,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group1__filter1_color' is not in camel case.","line":276,"column":10,"nodeType":"Identifier","messageId":"notCamelCase","endLine":276,"endColumn":31,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group1__filter1_color' is not in camel case.","line":332,"column":5,"nodeType":"Identifier","messageId":"notCamelCase","endLine":332,"endColumn":26,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group3__group3option1_color' is not in camel case.","line":333,"column":5,"nodeType":"Identifier","messageId":"notCamelCase","endLine":333,"endColumn":32,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group1__filter1_color' is not in camel case.","line":363,"column":6,"nodeType":"Identifier","messageId":"notCamelCase","endLine":363,"endColumn":27,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group3__group3option1_color' is not in camel case.","line":364,"column":6,"nodeType":"Identifier","messageId":"notCamelCase","endLine":364,"endColumn":33,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group1__filter1_color' is not in camel case.","line":417,"column":5,"nodeType":"Identifier","messageId":"notCamelCase","endLine":417,"endColumn":26,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group3__group3option1_color' is not in camel case.","line":418,"column":5,"nodeType":"Identifier","messageId":"notCamelCase","endLine":418,"endColumn":32,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group1__filter1_color' is not in camel case.","line":433,"column":5,"nodeType":"Identifier","messageId":"notCamelCase","endLine":433,"endColumn":26,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group3__group3option1_color' is not in camel case.","line":434,"column":5,"nodeType":"Identifier","messageId":"notCamelCase","endLine":434,"endColumn":32,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group1__filter3' is not in camel case.","line":489,"column":4,"nodeType":"Identifier","messageId":"notCamelCase","endLine":489,"endColumn":19,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'invertGroup__invert' is not in camel case.","line":490,"column":4,"nodeType":"Identifier","messageId":"notCamelCase","endLine":490,"endColumn":23,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group1__filter3' is not in camel case.","line":518,"column":4,"nodeType":"Identifier","messageId":"notCamelCase","endLine":518,"endColumn":19,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'invertGroup__invert' is not in camel case.","line":519,"column":4,"nodeType":"Identifier","messageId":"notCamelCase","endLine":519,"endColumn":23,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'namespace__1' is not in camel case.","line":520,"column":4,"nodeType":"Identifier","messageId":"notCamelCase","endLine":520,"endColumn":16,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group1__filter3' is not in camel case.","line":550,"column":4,"nodeType":"Identifier","messageId":"notCamelCase","endLine":550,"endColumn":19,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'invertTagsGroup__inverttags' is not in camel case.","line":551,"column":4,"nodeType":"Identifier","messageId":"notCamelCase","endLine":551,"endColumn":31,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'group1__filter3' is not in camel case.","line":579,"column":4,"nodeType":"Identifier","messageId":"notCamelCase","endLine":579,"endColumn":19,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'invertTagsGroup__inverttags' is not in camel case.","line":580,"column":4,"nodeType":"Identifier","messageId":"notCamelCase","endLine":580,"endColumn":31,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'tagfilter__foo' is not in camel case.","line":581,"column":4,"nodeType":"Identifier","messageId":"notCamelCase","endLine":581,"endColumn":18,"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/qunit/resources/mediawiki.rcfilters/dm.SavedQueryItemModel.test.js","messages":[],"suppressedMessages":[{"ruleId":"camelcase","severity":2,"message":"Identifier 'param1_color' is not in camel case.","line":11,"column":4,"nodeType":"Identifier","messageId":"notCamelCase","endLine":11,"endColumn":16,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'param2_color' is not in camel case.","line":12,"column":4,"nodeType":"Identifier","messageId":"notCamelCase","endLine":12,"endColumn":16,"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/qunit/resources/mediawiki.router.test.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/qunit/resources/mediawiki.special.block/AdditionalDetailsField.test.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/qunit/resources/mediawiki.storage.test.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/qunit/resources/mediawiki.template.mustache.test.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/qunit/resources/mediawiki.template.test.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/qunit/resources/mediawiki.toc.test.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/qunit/resources/mediawiki.user.test.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/qunit/resources/mediawiki.util/accessKeyLabel.test.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/qunit/resources/mediawiki.util/util.test.js","messages":[],"suppressedMessages":[{"ruleId":"no-sparse-arrays","severity":2,"message":"Unexpected comma in middle of array.","line":248,"column":27,"nodeType":"ArrayExpression","messageId":"unexpectedSparseArray","endLine":248,"endColumn":41,"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/qunit/resources/mediawiki.visibleTimeout.test.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/qunit/resources/mediawiki.widgets/MediaSearch/mediawiki.widgets.APIResultsQueue.test.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/qunit/resources/mediawiki.widgets/NamespaceInput/mediawiki.widgets.NamespaceInputWidget.test.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/qunit/resources/mediawiki.widgets/Table/mediawiki.widgets.TableWidget.test.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/qunit/resources/mediawiki.widgets/UserInputWidget/mediawiki.widgets.UserInputWidget.test.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/qunit/resources/startup/clientprefs.test.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/qunit/resources/startup/jscompat.test.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/qunit/resources/startup/mediawiki.test.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/qunit/resources/startup/mw.Map.test.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/qunit/resources/startup/mw.loader.test.js","messages":[{"ruleId":"mediawiki/no-storage","severity":1,"message":"Avoid direct access to localStorage. Use mw.storage instead.","line":30,"column":5,"nodeType":"Identifier","messageId":"noStorage","endLine":30,"endColumn":17},{"ruleId":"mediawiki/no-storage","severity":1,"message":"Avoid direct access to localStorage. Use mw.storage instead.","line":1072,"column":3,"nodeType":"Identifier","messageId":"noStorage","endLine":1072,"endColumn":15},{"ruleId":"mediawiki/no-storage","severity":1,"message":"Avoid direct access to localStorage. Use mw.storage instead.","line":1081,"column":3,"nodeType":"Identifier","messageId":"noStorage","endLine":1081,"endColumn":15},{"ruleId":"mediawiki/no-storage","severity":1,"message":"Avoid direct access to localStorage. Use mw.storage instead.","line":1090,"column":3,"nodeType":"Identifier","messageId":"noStorage","endLine":1090,"endColumn":15},{"ruleId":"mediawiki/no-storage","severity":1,"message":"Avoid direct access to localStorage. Use mw.storage instead.","line":1103,"column":3,"nodeType":"Identifier","messageId":"noStorage","endLine":1103,"endColumn":15}],"suppressedMessages":[{"ruleId":"no-unused-expressions","severity":2,"message":"Expected an assignment or function call and instead saw an expression.","line":81,"column":4,"nodeType":"ExpressionStatement","messageId":"unusedExpression","endLine":81,"endColumn":17,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"mediawiki/class-doc","severity":1,"message":"All possible CSS classes should be documented. See https://w.wiki/PS2 for details.","line":83,"column":4,"nodeType":"AssignmentExpression","endLine":83,"endColumn":31,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-self-assign","severity":2,"message":"'el.className' is assigned to itself.","line":83,"column":19,"nodeType":"MemberExpression","messageId":"selfAssignment","endLine":83,"endColumn":31,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-unused-expressions","severity":2,"message":"Expected an assignment or function call and instead saw an expression.","line":85,"column":4,"nodeType":"ExpressionStatement","messageId":"unusedExpression","endLine":85,"endColumn":42,"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":5,"fixableErrorCount":0,"fixableWarningCount":0,"source":"( function () {\n\tQUnit.module( 'mw.loader', QUnit.newMwEnvironment( {\n\t\tbeforeEach: function ( assert ) {\n\t\t\t// Expose for load.mock.php\n\t\t\tmw.loader.testFail = function ( reason ) {\n\t\t\t\tassert.true( false, reason );\n\t\t\t};\n\n\t\t\tthis.resetStore = false;\n\t\t\tthis.stubStore = function () {\n\t\t\t\tthis.resetStore = true;\n\t\t\t\tmw.loader.store.items = {};\n\t\t\t\t// Like mw.loader.store.init()\n\t\t\t\tmw.loader.store.enabled = false;\n\t\t\t};\n\n\t\t\tthis.useStubClock = function () {\n\t\t\t\tthis.clock = this.sandbox.useFakeTimers();\n\t\t\t\tthis.tick = function ( forward ) {\n\t\t\t\t\treturn this.clock.tick( forward || 1 );\n\t\t\t\t};\n\t\t\t\tthis.sandbox.stub( mw, 'requestIdleCallback', mw.requestIdleCallbackInternal );\n\t\t\t};\n\t\t},\n\t\tafterEach: function () {\n\t\t\tmw.loader.maxQueryLength = 2000;\n\t\t\tif ( this.resetStore ) {\n\t\t\t\tmw.loader.store.enabled = null;\n\t\t\t\tmw.loader.store.items = {};\n\t\t\t\tlocalStorage.removeItem( mw.loader.store.key );\n\t\t\t}\n\t\t\t// Remove any remaining temporary static state\n\t\t\t// exposed for mocking and stubbing.\n\t\t\tdelete mw.loader.testCallback;\n\t\t\tdelete mw.loader.testFail;\n\t\t\tdelete mw.getScriptExampleScriptLoaded;\n\t\t}\n\t} ) );\n\n\t// Full URL to $wgScriptPath with trailing slash.\n\t// * $wgScriptPath is usually path-only, so we expand relative to $wgServer\n\t// to ensure consistent and portable results (even when tested through Karma).\n\t// * $wgScriptPath is an empty string when installed at the document root\n\t// (as the case when using `composer serve`), we normalize to trailing slash.\n\tconst SCRIPT_PATH_URL = new URL(\n\t\tmw.config.get( 'wgScriptPath' ) + '/',\n\t\tmw.config.get( 'wgServer' )\n\t).toString();\n\n\tmw.loader.addSource( {\n\t\ttestloader: SCRIPT_PATH_URL + 'tests/qunit/data/load.mock.php'\n\t} );\n\n\t/**\n\t * The sync style load test, for @import. This is, in a way, also an open bug for\n\t * ResourceLoader (\"execute js after styles are loaded\"), but browsers don't offer a\n\t * way to get a callback from when a stylesheet is loaded (that is, including any\n\t * `@import` rules inside). To work around this, we'll have a little time loop to check\n\t * if the styles apply.\n\t *\n\t * Note: This test originally used new Image() and onerror to get a callback\n\t * when the url is loaded, but that is fragile since it doesn't monitor the\n\t * same request as the css @import, and Safari 4 has issues with\n\t * onerror/onload not being fired at all in weird cases like this.\n\t *\n\t * @param {Object} assert QUnit test assertion context\n\t * @param {jQuery} $element\n\t * @param {string} prop\n\t * @param {string} val\n\t * @param {Function} fn\n\t */\n\tfunction assertStyleAsync( assert, $element, prop, val, fn ) {\n\t\tlet styleTestStart = null;\n\t\tconst el = $element.get( 0 ),\n\t\t\tstyleTestTimeout = ( QUnit.config.testTimeout || 5000 ) - 200;\n\n\t\tfunction isCssImportApplied() {\n\t\t\t// Trigger reflow, repaint, redraw, whatever (cross-browser)\n\t\t\t$element.css( 'height' );\n\t\t\t// eslint-disable-next-line no-unused-expressions\n\t\t\tel.innerHTML;\n\t\t\t// eslint-disable-next-line no-self-assign, mediawiki/class-doc\n\t\t\tel.className = el.className;\n\t\t\t// eslint-disable-next-line no-unused-expressions\n\t\t\tdocument.documentElement.clientHeight;\n\n\t\t\treturn $element.css( prop ) === val;\n\t\t}\n\n\t\tfunction styleTestLoop() {\n\t\t\tconst styleTestSince = Date.now() - styleTestStart;\n\t\t\t// If it is passing or if we timed out, run the real test and stop the loop\n\t\t\tif ( isCssImportApplied() || styleTestSince > styleTestTimeout ) {\n\t\t\t\tassert.strictEqual( $element.css( prop ), val,\n\t\t\t\t\t'style \"' + prop + ': ' + val + '\" from url is applied (after ' + styleTestSince + 'ms)'\n\t\t\t\t);\n\n\t\t\t\tif ( fn ) {\n\t\t\t\t\tfn();\n\t\t\t\t}\n\n\t\t\t\treturn;\n\t\t\t}\n\t\t\t// Otherwise, keep polling\n\t\t\tsetTimeout( styleTestLoop );\n\t\t}\n\n\t\t// Start the loop\n\t\tstyleTestStart = Date.now();\n\t\tstyleTestLoop();\n\t}\n\n\tfunction urlStyleTest( selector, prop, val ) {\n\t\treturn SCRIPT_PATH_URL + 'tests/qunit/data/styleTest.css.php?' +\n\t\t\t$.param( {\n\t\t\t\tselector: selector,\n\t\t\t\tprop: prop,\n\t\t\t\tval: val\n\t\t\t} );\n\t}\n\n\tQUnit.test( '.using( .., Function callback ) Promise', ( assert ) => {\n\t\tlet script = 0, callback = 0;\n\t\tmw.loader.testCallback = function () {\n\t\t\tscript++;\n\t\t};\n\t\tmw.loader.implement( 'test.promise', [ SCRIPT_PATH_URL + 'tests/qunit/data/mwLoaderTestCallback.js' ] );\n\n\t\treturn mw.loader.using( 'test.promise', () => {\n\t\t\tcallback++;\n\t\t} ).then( () => {\n\t\t\tassert.strictEqual( script, 1, 'module script ran' );\n\t\t\tassert.strictEqual( callback, 1, 'using() callback ran' );\n\t\t} );\n\t} );\n\n\tQUnit.test( 'Prototype method as module name', ( assert ) => {\n\t\tlet call = 0;\n\t\tmw.loader.testCallback = function () {\n\t\t\tcall++;\n\t\t};\n\t\tmw.loader.implement( 'hasOwnProperty', [ SCRIPT_PATH_URL + 'tests/qunit/data/mwLoaderTestCallback.js' ], {}, {} );\n\n\t\treturn mw.loader.using( 'hasOwnProperty', () => {\n\t\t\tassert.strictEqual( call, 1, 'module script ran' );\n\t\t} );\n\t} );\n\n\t// Covers mw.loader#sortDependencies (with native Set)\n\tQUnit.test( '.using() - Error: Circular dependency [Set]', ( assert ) => {\n\t\tconst done = assert.async();\n\n\t\tmw.loader.register( [\n\t\t\t[ 'test.set.circleA', '0', [ 'test.set.circleB' ] ],\n\t\t\t[ 'test.set.circleB', '0', [ 'test.set.circleC' ] ],\n\t\t\t[ 'test.set.circleC', '0', [ 'test.set.circleA' ] ]\n\t\t] );\n\t\tmw.loader.using( 'test.set.circleC' ).then(\n\t\t\t() => {\n\t\t\t\tassert.true( false, 'Unexpected resolution, expected error.' );\n\t\t\t},\n\t\t\t( e ) => {\n\t\t\t\tassert.true( /Circular/.test( String( e ) ), 'Detect circular dependency' );\n\t\t\t}\n\t\t)\n\t\t\t.always( done );\n\t} );\n\n\tQUnit.test( '.load() - Error: Circular dependency', function ( assert ) {\n\t\tconst capture = [];\n\t\tmw.loader.register( [\n\t\t\t[ 'test.load.circleA', '0', [ 'test.load.circleB' ] ],\n\t\t\t[ 'test.load.circleB', '0', [ 'test.load.circleC' ] ],\n\t\t\t[ 'test.load.circleC', '0', [ 'test.load.circleA' ] ]\n\t\t] );\n\t\tthis.sandbox.stub( mw, 'trackError', ( data ) => {\n\t\t\tcapture.push( {\n\t\t\t\terror: data.exception && data.exception.message,\n\t\t\t\tsource: data.source\n\t\t\t} );\n\t\t} );\n\t\tthis.suppressWarnings(); // Skipped unavailable module\n\n\t\tmw.loader.load( 'test.load.circleC' );\n\t\tassert.deepEqual(\n\t\t\tcapture,\n\t\t\t[ {\n\t\t\t\terror: 'Circular reference detected: test.load.circleB -> test.load.circleC',\n\t\t\t\tsource: 'resolve'\n\t\t\t} ],\n\t\t\t'Detect circular dependency'\n\t\t);\n\t} );\n\n\tQUnit.test( '.load() - Error: Circular dependency (direct)', function ( assert ) {\n\t\tconst capture = [];\n\t\tmw.loader.register( [\n\t\t\t[ 'test.load.circleDirect', '0', [ 'test.load.circleDirect' ] ]\n\t\t] );\n\t\tthis.sandbox.stub( mw, 'trackError', ( data ) => {\n\t\t\tcapture.push( {\n\t\t\t\terror: data.exception && data.exception.message,\n\t\t\t\tsource: data.source\n\t\t\t} );\n\t\t} );\n\t\tthis.suppressWarnings(); // Skipped unavailable module\n\n\t\tmw.loader.load( 'test.load.circleDirect' );\n\t\tassert.deepEqual(\n\t\t\tcapture,\n\t\t\t[ {\n\t\t\t\terror: 'Circular reference detected: test.load.circleDirect -> test.load.circleDirect',\n\t\t\t\tsource: 'resolve'\n\t\t\t} ],\n\t\t\t'Detect a direct self-dependency'\n\t\t);\n\t} );\n\n\tQUnit.test( '.using() - Error: Unregistered', ( assert ) => {\n\t\tconst done = assert.async();\n\n\t\tmw.loader.using( 'test.using.unreg' ).then(\n\t\t\t() => {\n\t\t\t\tassert.true( false, 'Unexpected resolution, expected error.' );\n\t\t\t},\n\t\t\t( e ) => {\n\t\t\t\tassert.true( /Unknown/.test( String( e ) ), 'Detect unknown dependency' );\n\t\t\t}\n\t\t).always( done );\n\t} );\n\n\tQUnit.test( '.load() - Error: Unregistered', function ( assert ) {\n\t\tconst capture = [];\n\t\tthis.sandbox.stub( mw.log, 'warn', ( str ) => {\n\t\t\tcapture.push( str );\n\t\t} );\n\n\t\tmw.loader.load( 'test.load.unreg' );\n\t\tassert.deepEqual( capture, [ 'Skipped unavailable module test.load.unreg' ] );\n\t} );\n\n\t// Regression test for T36853\n\tQUnit.test( '.load() - Error: Missing dependency', function ( assert ) {\n\t\tconst capture = [];\n\t\tthis.sandbox.stub( mw, 'trackError', ( data ) => {\n\t\t\tcapture.push( {\n\t\t\t\terror: data.exception && data.exception.message,\n\t\t\t\tsource: data.source\n\t\t\t} );\n\t\t} );\n\t\tthis.suppressWarnings(); // Skipped unavailable module\n\n\t\tmw.loader.register( [\n\t\t\t[ 'test.load.missingdep1', '0', [ 'test.load.missingdep2' ] ],\n\t\t\t[ 'test.load.missingdep', '0', [ 'test.load.missingdep1' ] ]\n\t\t] );\n\t\tmw.loader.load( 'test.load.missingdep' );\n\t\tassert.deepEqual(\n\t\t\tcapture,\n\t\t\t[ {\n\t\t\t\terror: 'Unknown module: test.load.missingdep2',\n\t\t\t\tsource: 'resolve'\n\t\t\t} ]\n\t\t);\n\t} );\n\n\tQUnit.test( '.implement( styles={ \"css\": [text, ..] } )', ( assert ) => {\n\t\tconst $element = $( '<div class=\"mw-test-implement-a\"></div>' ).appendTo( '#qunit-fixture' );\n\n\t\tassert.notStrictEqual(\n\t\t\t$element.css( 'float' ),\n\t\t\t'right',\n\t\t\t'style is clear'\n\t\t);\n\n\t\tmw.loader.implement(\n\t\t\t'test.implement.a',\n\t\t\t() => {\n\t\t\t\tassert.strictEqual(\n\t\t\t\t\t$element.css( 'float' ),\n\t\t\t\t\t'right',\n\t\t\t\t\t'style is applied'\n\t\t\t\t);\n\t\t\t},\n\t\t\t{\n\t\t\t\tcss: [ '.mw-test-implement-a { float: right; }' ]\n\t\t\t}\n\t\t);\n\n\t\treturn mw.loader.using( 'test.implement.a' );\n\t} );\n\n\tQUnit.test( '.implement( styles={ \"url\": { <media>: [url, ..] } } )', ( assert ) => {\n\t\tconst $element1 = $( '<div class=\"mw-test-implement-b1\"></div>' ).appendTo( '#qunit-fixture' ),\n\t\t\t$element2 = $( '<div class=\"mw-test-implement-b2\"></div>' ).appendTo( '#qunit-fixture' ),\n\t\t\t$element3 = $( '<div class=\"mw-test-implement-b3\"></div>' ).appendTo( '#qunit-fixture' ),\n\t\t\tdone = assert.async();\n\n\t\tassert.notStrictEqual(\n\t\t\t$element1.css( 'text-align' ),\n\t\t\t'center',\n\t\t\t'style is clear'\n\t\t);\n\t\tassert.notStrictEqual(\n\t\t\t$element2.css( 'float' ),\n\t\t\t'left',\n\t\t\t'style is clear'\n\t\t);\n\t\tassert.notStrictEqual(\n\t\t\t$element3.css( 'text-align' ),\n\t\t\t'right',\n\t\t\t'style is clear'\n\t\t);\n\n\t\tmw.loader.implement(\n\t\t\t'test.implement.b',\n\t\t\t() => {\n\t\t\t\t// Note: done() must only be called when the entire test is\n\t\t\t\t// complete. So, make sure that we don't start until *both*\n\t\t\t\t// assertStyleAsync calls have completed.\n\t\t\t\tlet pending = 2;\n\t\t\t\tassertStyleAsync( assert, $element2, 'float', 'left', () => {\n\t\t\t\t\tassert.notStrictEqual( $element1.css( 'text-align' ), 'center', 'print style is not applied' );\n\n\t\t\t\t\tpending--;\n\t\t\t\t\tif ( pending === 0 ) {\n\t\t\t\t\t\tdone();\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t\tassertStyleAsync( assert, $element3, 'float', 'right', () => {\n\t\t\t\t\tassert.notStrictEqual( $element1.css( 'text-align' ), 'center', 'print style is not applied' );\n\n\t\t\t\t\tpending--;\n\t\t\t\t\tif ( pending === 0 ) {\n\t\t\t\t\t\tdone();\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t},\n\t\t\t{\n\t\t\t\turl: {\n\t\t\t\t\tprint: [ urlStyleTest( '.mw-test-implement-b1', 'text-align', 'center' ) ],\n\t\t\t\t\tscreen: [\n\t\t\t\t\t\t// T42834: Make sure it actually works with more than 1 stylesheet reference\n\t\t\t\t\t\turlStyleTest( '.mw-test-implement-b2', 'float', 'left' ),\n\t\t\t\t\t\turlStyleTest( '.mw-test-implement-b3', 'float', 'right' )\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\n\t\tmw.loader.load( 'test.implement.b' );\n\t} );\n\n\tQUnit.test( '.implement( messages before script )', ( assert ) => {\n\t\tmw.loader.implement(\n\t\t\t'test.implement.order',\n\t\t\t() => {\n\t\t\t\tassert.strictEqual( mw.loader.getState( 'test.implement.order' ), 'executing', 'state during script execution' );\n\t\t\t\tassert.strictEqual( mw.msg( 'test-foobar' ), 'Hello Foobar, $1!', 'messages load before script execution' );\n\t\t\t},\n\t\t\t{},\n\t\t\t{\n\t\t\t\t'test-foobar': 'Hello Foobar, $1!'\n\t\t\t}\n\t\t);\n\n\t\treturn mw.loader.using( 'test.implement.order' ).then( () => {\n\t\t\tassert.strictEqual( mw.loader.getState( 'test.implement.order' ), 'ready', 'final success state' );\n\t\t} );\n\t} );\n\n\t// @import (T33676)\n\tQUnit.test( '.implement( styles with @import )', ( assert ) => {\n\t\tlet $element;\n\t\tconst done = assert.async();\n\n\t\tmw.loader.implement(\n\t\t\t'test.implement.import',\n\t\t\t() => {\n\t\t\t\t$element = $( '<div class=\"mw-test-implement-import\">Foo bar</div>' ).appendTo( '#qunit-fixture' );\n\n\t\t\t\tassertStyleAsync( assert, $element, 'float', 'right', () => {\n\t\t\t\t\tassert.strictEqual( $element.css( 'text-align' ), 'center',\n\t\t\t\t\t\t'CSS styles after the @import rule are working'\n\t\t\t\t\t);\n\n\t\t\t\t\tdone();\n\t\t\t\t} );\n\t\t\t},\n\t\t\t{\n\t\t\t\t// @import always works in the first stylesheet.\n\t\t\t\t// Test with at least two stylesheets to excercise the special\n\t\t\t\t// condition in addEmbeddedCSS to support @import (end the batch\n\t\t\t\t// earlier than normal).\n\t\t\t\tcss: [\n\t\t\t\t\t'.something-else-first {}',\n\t\t\t\t\t'@import url(\\'' +\n\t\t\t\t\t\turlStyleTest( '.mw-test-implement-import', 'float', 'right' ) +\n\t\t\t\t\t\t'\\');\\n' +\n\t\t\t\t\t\t'.mw-test-implement-import { text-align: center; }'\n\t\t\t\t]\n\t\t\t}\n\t\t);\n\n\t\treturn mw.loader.using( 'test.implement.import' );\n\t} );\n\n\tQUnit.test( '.implement( dependency with styles )', ( assert ) => {\n\t\tconst $element = $( '<div class=\"mw-test-implement-e\"></div>' ).appendTo( '#qunit-fixture' ),\n\t\t\t$element2 = $( '<div class=\"mw-test-implement-e2\"></div>' ).appendTo( '#qunit-fixture' );\n\n\t\tassert.notStrictEqual(\n\t\t\t$element.css( 'float' ),\n\t\t\t'right',\n\t\t\t'style is clear'\n\t\t);\n\t\tassert.notStrictEqual(\n\t\t\t$element2.css( 'float' ),\n\t\t\t'left',\n\t\t\t'style is clear'\n\t\t);\n\n\t\tmw.loader.register( [\n\t\t\t[ 'test.implement.e', '0', [ 'test.implement.e2' ] ],\n\t\t\t[ 'test.implement.e2', '0' ]\n\t\t] );\n\n\t\tmw.loader.implement(\n\t\t\t'test.implement.e',\n\t\t\t() => {\n\t\t\t\tassert.strictEqual(\n\t\t\t\t\t$element.css( 'float' ),\n\t\t\t\t\t'right',\n\t\t\t\t\t'Depending module\\'s style is applied'\n\t\t\t\t);\n\t\t\t},\n\t\t\t{\n\t\t\t\tcss: [ '.mw-test-implement-e { float: right; }' ]\n\t\t\t}\n\t\t);\n\n\t\tmw.loader.implement(\n\t\t\t'test.implement.e2',\n\t\t\t() => {\n\t\t\t\tassert.strictEqual(\n\t\t\t\t\t$element2.css( 'float' ),\n\t\t\t\t\t'left',\n\t\t\t\t\t'Dependency\\'s style is applied'\n\t\t\t\t);\n\t\t\t},\n\t\t\t{\n\t\t\t\tcss: [ '.mw-test-implement-e2 { float: left; }' ]\n\t\t\t}\n\t\t);\n\n\t\treturn mw.loader.using( 'test.implement.e' );\n\t} );\n\n\tQUnit.test( '.implement( only scripts )', ( assert ) => {\n\t\tmw.loader.implement( 'test.onlyscripts', () => {} );\n\t\treturn mw.loader.using( 'test.onlyscripts', () => {\n\t\t\tassert.strictEqual( mw.loader.getState( 'test.onlyscripts' ), 'ready' );\n\t\t} );\n\t} );\n\n\tQUnit.test( '.implement( only messages )', ( assert ) => {\n\t\tassert.false( mw.messages.exists( 'T31107' ), 'Verify that the test message doesn\\'t exist yet' );\n\n\t\tmw.loader.implement( 'test.implement.msgs', [], {}, { T31107: 'loaded' } );\n\n\t\treturn mw.loader.using( 'test.implement.msgs', () => {\n\t\t\tassert.true( mw.messages.exists( 'T31107' ), 'T31107: messages-only module should implement ok' );\n\t\t} );\n\t} );\n\n\tQUnit.test( '.implement( empty )', ( assert ) => {\n\t\tmw.loader.implement( 'test.empty' );\n\t\treturn mw.loader.using( 'test.empty', () => {\n\t\t\tassert.strictEqual( mw.loader.getState( 'test.empty' ), 'ready' );\n\t\t} );\n\t} );\n\n\tQUnit.test( '.implement() [packageFiles long paths]', ( assert ) => {\n\t\tconst done = assert.async();\n\t\tlet initJsRan = false,\n\t\t\tcounter = 41;\n\t\tmw.loader.implement(\n\t\t\t'test.implement.packageFiles',\n\t\t\t{\n\t\t\t\tmain: 'resources/src/foo/init.js',\n\t\t\t\tfiles: {\n\t\t\t\t\t'resources/src/foo/data/hello.json': { hello: 'world' },\n\t\t\t\t\t'resources/src/foo/foo.js': function ( require, module ) {\n\t\t\t\t\t\tcounter++;\n\t\t\t\t\t\tmodule.exports = { answer: counter };\n\t\t\t\t\t},\n\t\t\t\t\t'resources/src/bar/bar.js': function ( require, module ) {\n\t\t\t\t\t\tconst core = require( './core.js' );\n\t\t\t\t\t\tmodule.exports = { data: core.sayHello( 'Alice' ) };\n\t\t\t\t\t},\n\t\t\t\t\t'resources/src/bar/core.js': function ( require, module ) {\n\t\t\t\t\t\tmodule.exports = { sayHello: function ( name ) {\n\t\t\t\t\t\t\treturn 'Hello ' + name;\n\t\t\t\t\t\t} };\n\t\t\t\t\t},\n\t\t\t\t\t'resources/src/foo/init.js': function ( require ) {\n\t\t\t\t\t\tinitJsRan = true;\n\t\t\t\t\t\tassert.deepEqual( require( './data/hello.json' ), { hello: 'world' }, 'require() with .json file' );\n\t\t\t\t\t\tassert.deepEqual( require( './foo.js' ), { answer: 42 }, 'require() with .js file in same directory' );\n\t\t\t\t\t\tassert.deepEqual( require( '../bar/bar.js' ), { data: 'Hello Alice' }, 'require() with ../ of a file that uses same-directory require()' );\n\t\t\t\t\t\tassert.deepEqual( require( './foo.js' ), { answer: 42 }, 'require()ing the same script twice only runs it once' );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\t{},\n\t\t\t{},\n\t\t\t{}\n\t\t);\n\t\tmw.loader.using( 'test.implement.packageFiles' ).done( () => {\n\t\t\tassert.true( initJsRan, 'main JS file is executed' );\n\t\t\tdone();\n\t\t} );\n\t} );\n\n\tQUnit.test( '.implement() [packageFiles with parent files]', ( assert ) => {\n\t\tconst done = assert.async();\n\t\tlet initJsRan = false;\n\t\tlet counter = 41;\n\t\tmw.loader.implement(\n\t\t\t'test.implement.packageWithParentFiles',\n\t\t\t{\n\t\t\t\tmain: 'init.js',\n\t\t\t\tfiles: {\n\t\t\t\t\t'data/hello.json': { hello: 'world' },\n\t\t\t\t\t'foo.js': function ( require, module ) {\n\t\t\t\t\t\tcounter++;\n\t\t\t\t\t\tmodule.exports = { answer: counter };\n\t\t\t\t\t},\n\t\t\t\t\t'../../lib/quux.js': function ( require, module ) {\n\t\t\t\t\t\tmodule.exports = 'Quux';\n\t\t\t\t\t},\n\t\t\t\t\t'../bar/bar.js': function ( require, module ) {\n\t\t\t\t\t\tconst core = require( './core.js' );\n\t\t\t\t\t\tmodule.exports = { data: core.sayHello( 'Alice' ) };\n\t\t\t\t\t},\n\t\t\t\t\t'../bar/core.js': function ( require, module ) {\n\t\t\t\t\t\tmodule.exports = { sayHello: function ( name ) {\n\t\t\t\t\t\t\treturn 'Hello ' + name;\n\t\t\t\t\t\t} };\n\t\t\t\t\t},\n\t\t\t\t\t'init.js': function ( require ) {\n\t\t\t\t\t\tinitJsRan = true;\n\t\t\t\t\t\tassert.deepEqual( require( './data/hello.json' ), { hello: 'world' }, 'require() .json' );\n\t\t\t\t\t\tassert.deepEqual( require( './foo.js' ), { answer: 42 }, 'require() .js in same dir' );\n\t\t\t\t\t\tassert.deepEqual( require( '../bar/bar.js' ), { data: 'Hello Alice' }, 'require() with ../ ' );\n\t\t\t\t\t\tassert.deepEqual( require( '../../lib/quux.js' ), 'Quux', 'require() with ../../ ' );\n\t\t\t\t\t\tassert.deepEqual( require( './foo.js' ), { answer: 42 }, 'require() same script twice' );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\t{},\n\t\t\t{},\n\t\t\t{}\n\t\t);\n\n\t\treturn mw.loader.using( 'test.implement.packageWithParentFiles' ).done( () => {\n\t\t\tassert.true( initJsRan, 'main JS file is executed' );\n\t\t\tdone();\n\t\t} );\n\t} );\n\n\tQUnit.test( '.implement( name with @ )', ( assert ) => {\n\t\tconst done = assert.async();\n\t\t// Calling implement() without a version number works if the '@' is the first character\n\t\tmw.loader.implement( '@foo/bar', ( $, jQuery, require, module ) => {\n\t\t\tmodule.exports = 'foobar';\n\t\t} );\n\t\t// If '@' is not the first character, a version number is required to resolve the ambiguity\n\t\tmw.loader.implement( 'baz@quux@123', ( $, jQuery, require, module ) => {\n\t\t\tmodule.exports = 'bazquux';\n\t\t} );\n\n\t\tassert.strictEqual( mw.loader.getState( '@foo/bar' ), 'loaded' );\n\t\tassert.strictEqual( mw.loader.getState( 'baz@quux' ), 'loaded' );\n\t\tmw.loader.using( [ '@foo/bar', 'baz@quux' ], ( require ) => {\n\t\t\tassert.strictEqual( mw.loader.getState( '@foo/bar' ), 'ready' );\n\t\t\tassert.strictEqual( require( '@foo/bar' ), 'foobar' );\n\t\t\tassert.strictEqual( mw.loader.getState( 'baz@quux' ), 'ready' );\n\t\t\tassert.strictEqual( require( 'baz@quux' ), 'bazquux' );\n\t\t\tdone();\n\t\t} );\n\t} );\n\n\tQUnit.test( '.addSource()', ( assert ) => {\n\t\tmw.loader.addSource( { testsource1: 'https://1.test/src' } );\n\n\t\tassert.throws( () => {\n\t\t\tmw.loader.addSource( { testsource1: 'https://1.test/src' } );\n\t\t}, /already registered/, 'duplicate pair from addSource(Object)' );\n\n\t\tassert.throws( () => {\n\t\t\tmw.loader.addSource( { testsource1: 'https://1.test/src-diff' } );\n\t\t}, /already registered/, 'duplicate ID from addSource(Object)' );\n\t} );\n\n\tQUnit.test( '.register() - ES6 support always true', ( assert ) => {\n\t\tmw.loader.register( 'test1.regular', 'aaa' );\n\t\tmw.loader.register( 'test1.es6only', 'bbb!' );\n\t\tassert.strictEqual( mw.loader.getState( 'test1.regular' ), 'registered' );\n\t\tassert.strictEqual( mw.loader.getState( 'test1.es6only' ), 'registered' );\n\t} );\n\n\t// This is a regression test because in the past we called getCombinedVersion()\n\t// for all requested modules, before url splitting took place.\n\t// Discovered as part of T188076, but not directly related.\n\tQUnit.test( '.batchRequest() - Module version combines for given batch', ( assert ) => {\n\t\tmw.loader.register( [\n\t\t\t// [module, version, dependencies, group, source]\n\t\t\t[ 'testUrlInc', 'url', [], null, 'testloader' ],\n\t\t\t[ 'testUrlIncDump', 'dump', [], null, 'testloader' ]\n\t\t] );\n\n\t\tmw.loader.maxQueryLength = 10;\n\n\t\treturn mw.loader.using( [ 'testUrlIncDump', 'testUrlInc' ] ).then( ( require ) => {\n\t\t\tassert.propEqual(\n\t\t\t\trequire( 'testUrlIncDump' ).query,\n\t\t\t\t{\n\t\t\t\t\tmodules: 'testUrlIncDump',\n\t\t\t\t\t// Expected: Combine hashes only for the module in the specific HTTP request\n\t\t\t\t\t// hash fnv132 => \"13e9zzn\"\n\t\t\t\t\t// Wrong: Combine hashes for all requested modules, before request-splitting\n\t\t\t\t\t// hash fnv132 => \"18kz9ca\"\n\t\t\t\t\tversion: '13e9z'\n\t\t\t\t},\n\t\t\t\t'Query parameters'\n\t\t\t);\n\n\t\t\tassert.strictEqual( mw.loader.getState( 'testUrlInc' ), 'ready', 'testUrlInc also loaded' );\n\t\t} );\n\t} );\n\n\t// Regression test for T188076\n\tQUnit.test( '.batchRequest() - Module version combined based on sorted order', ( assert ) => {\n\t\tmw.loader.register( [\n\t\t\t// [module, version, dependencies, group, source]\n\t\t\t[ 'testUrlOrder', 'url', [], null, 'testloader' ],\n\t\t\t[ 'testUrlOrder.a', '1', [], null, 'testloader' ],\n\t\t\t[ 'testUrlOrder.b', '2', [], null, 'testloader' ],\n\t\t\t[ 'testUrlOrderDump', 'dump', [], null, 'testloader' ]\n\t\t] );\n\n\t\treturn mw.loader.using( [\n\t\t\t'testUrlOrderDump',\n\t\t\t'testUrlOrder.b',\n\t\t\t'testUrlOrder.a',\n\t\t\t'testUrlOrder'\n\t\t] ).then( ( require ) => {\n\t\t\tassert.propEqual(\n\t\t\t\trequire( 'testUrlOrderDump' ).query,\n\t\t\t\t{\n\t\t\t\t\tmodules: 'testUrlOrder,testUrlOrderDump|testUrlOrder.a,b',\n\t\t\t\t\t// Expected: Combined by sorting names after string packing\n\t\t\t\t\t// hash fnv132 = \"1knqz\"\n\t\t\t\t\t// Wrong: Combined by sorting names before string packing\n\t\t\t\t\t// hash fnv132 => \"11eo3s\"\n\t\t\t\t\tversion: '1knqz'\n\t\t\t\t},\n\t\t\t\t'Query parameters'\n\t\t\t);\n\t\t} );\n\t} );\n\n\tQUnit.test( 'Broken indirect dependency', function ( assert ) {\n\t\tthis.useStubClock();\n\n\t\t// Don't actually emit an error event\n\t\tthis.sandbox.stub( mw, 'trackError' );\n\n\t\tmw.loader.register( [\n\t\t\t[ 'test.module1', '0' ],\n\t\t\t[ 'test.module2', '0', [ 'test.module1' ] ],\n\t\t\t[ 'test.module3', '0', [ 'test.module2' ] ]\n\t\t] );\n\t\tmw.loader.implement( 'test.module1', () => {\n\t\t\tthrow new Error( 'expected' );\n\t\t}, {}, {} );\n\t\tthis.tick();\n\n\t\tassert.strictEqual( mw.loader.getState( 'test.module1' ), 'error', 'State of test.module1' );\n\t\tassert.strictEqual( mw.loader.getState( 'test.module2' ), 'error', 'State of test.module2' );\n\t\tassert.strictEqual( mw.loader.getState( 'test.module3' ), 'error', 'State of test.module3' );\n\n\t\tassert.strictEqual( mw.trackError.callCount, 1 );\n\t} );\n\n\tQUnit.test( 'Out-of-order implementation', function ( assert ) {\n\t\tthis.useStubClock();\n\n\t\tmw.loader.register( [\n\t\t\t[ 'test.module4', '0' ],\n\t\t\t[ 'test.module5', '0', [ 'test.module4' ] ],\n\t\t\t[ 'test.module6', '0', [ 'test.module5' ] ]\n\t\t] );\n\n\t\tmw.loader.implement( 'test.module4', () => {} );\n\t\tthis.tick();\n\t\tassert.strictEqual( mw.loader.getState( 'test.module4' ), 'ready', 'State of test.module4' );\n\t\tassert.strictEqual( mw.loader.getState( 'test.module5' ), 'registered', 'State of test.module5' );\n\t\tassert.strictEqual( mw.loader.getState( 'test.module6' ), 'registered', 'State of test.module6' );\n\n\t\tmw.loader.implement( 'test.module6', () => {} );\n\t\tthis.tick();\n\t\tassert.strictEqual( mw.loader.getState( 'test.module4' ), 'ready', 'State of test.module4' );\n\t\tassert.strictEqual( mw.loader.getState( 'test.module5' ), 'registered', 'State of test.module5' );\n\t\tassert.strictEqual( mw.loader.getState( 'test.module6' ), 'loaded', 'State of test.module6' );\n\n\t\tmw.loader.implement( 'test.module5', () => {} );\n\t\tthis.tick();\n\t\tassert.strictEqual( mw.loader.getState( 'test.module4' ), 'ready', 'State of test.module4' );\n\t\tassert.strictEqual( mw.loader.getState( 'test.module5' ), 'ready', 'State of test.module5' );\n\t\tassert.strictEqual( mw.loader.getState( 'test.module6' ), 'ready', 'State of test.module6' );\n\t} );\n\n\tQUnit.test( 'Missing dependency', function ( assert ) {\n\t\tthis.useStubClock();\n\n\t\tmw.loader.register( [\n\t\t\t[ 'test.module7', '0' ],\n\t\t\t[ 'test.module8', '0', [ 'test.module7' ] ],\n\t\t\t[ 'test.module9', '0', [ 'test.module8' ] ]\n\t\t] );\n\n\t\tmw.loader.implement( 'test.module8', () => {} );\n\t\tthis.tick();\n\t\tassert.strictEqual( mw.loader.getState( 'test.module7' ), 'registered', 'Expected \"registered\" state for test.module7' );\n\t\tassert.strictEqual( mw.loader.getState( 'test.module8' ), 'loaded', 'Expected \"loaded\" state for test.module8' );\n\t\tassert.strictEqual( mw.loader.getState( 'test.module9' ), 'registered', 'Expected \"registered\" state for test.module9' );\n\n\t\tmw.loader.state( { 'test.module7': 'missing' } );\n\t\tthis.tick();\n\t\tassert.strictEqual( mw.loader.getState( 'test.module7' ), 'missing', 'Expected \"missing\" state for test.module7' );\n\t\tassert.strictEqual( mw.loader.getState( 'test.module8' ), 'error', 'Expected \"error\" state for test.module8' );\n\t\tassert.strictEqual( mw.loader.getState( 'test.module9' ), 'error', 'Expected \"error\" state for test.module9' );\n\n\t\tmw.loader.implement( 'test.module9', () => {} );\n\t\tthis.tick();\n\t\tassert.strictEqual( mw.loader.getState( 'test.module7' ), 'missing', 'Expected \"missing\" state for test.module7' );\n\t\tassert.strictEqual( mw.loader.getState( 'test.module8' ), 'error', 'Expected \"error\" state for test.module8' );\n\t\tassert.strictEqual( mw.loader.getState( 'test.module9' ), 'error', 'Expected \"error\" state for test.module9' );\n\n\t\t// Restore clock for QUnit and $.Deferred internals\n\t\tthis.clock.restore();\n\t\treturn mw.loader.using( [ 'test.module7' ] ).then(\n\t\t\t() => {\n\t\t\t\tthrow new Error( 'Success fired despite missing dependency' );\n\t\t\t},\n\t\t\t( e, dependencies ) => {\n\t\t\t\tassert.true( Array.isArray( dependencies ), 'Expected array of dependencies' );\n\t\t\t\tassert.deepEqual(\n\t\t\t\t\tdependencies,\n\t\t\t\t\t[ 'jquery', 'mediawiki.base', 'test.module7' ],\n\t\t\t\t\t'Error callback called with module test.module7'\n\t\t\t\t);\n\t\t\t}\n\t\t).then( () => mw.loader.using( [ 'test.module9' ] ) ).then(\n\t\t\t() => {\n\t\t\t\tthrow new Error( 'Success fired despite missing dependency' );\n\t\t\t},\n\t\t\t( e, dependencies ) => {\n\t\t\t\tassert.true( Array.isArray( dependencies ), 'Expected array of dependencies' );\n\t\t\t\tdependencies.sort();\n\t\t\t\tassert.deepEqual(\n\t\t\t\t\tdependencies,\n\t\t\t\t\t[ 'jquery', 'mediawiki.base', 'test.module7', 'test.module8', 'test.module9' ],\n\t\t\t\t\t'Error callback called with all three modules as dependencies'\n\t\t\t\t);\n\t\t\t}\n\t\t);\n\t} );\n\n\tQUnit.test( 'Dependency handling', ( assert ) => {\n\t\tmw.loader.register( [\n\t\t\t// [module, version, dependencies, group, source]\n\t\t\t[ 'testMissing', '1', [], null, 'testloader' ],\n\t\t\t[ 'testUsesMissing', '1', [ 'testMissing' ], null, 'testloader' ],\n\t\t\t[ 'testUsesNestedMissing', '1', [ 'testUsesMissing' ], null, 'testloader' ]\n\t\t] );\n\n\t\tfunction verifyModuleStates() {\n\t\t\tassert.strictEqual( mw.loader.getState( 'testMissing' ), 'missing', 'Module \"testMissing\" state' );\n\t\t\tassert.strictEqual( mw.loader.getState( 'testUsesMissing' ), 'error', 'Module \"testUsesMissing\" state' );\n\t\t\tassert.strictEqual( mw.loader.getState( 'testUsesNestedMissing' ), 'error', 'Module \"testUsesNestedMissing\" state' );\n\t\t}\n\n\t\treturn mw.loader.using( [ 'testUsesNestedMissing' ] ).then(\n\t\t\t() => {\n\t\t\t\tverifyModuleStates();\n\t\t\t\tthrow new Error( 'Error handler should be invoked.' );\n\t\t\t},\n\t\t\t( e, modules ) => {\n\t\t\t\t// When the server sets state of 'testMissing' to 'missing'\n\t\t\t\t// it should bubble up and trigger the error callback of the job for 'testUsesNestedMissing'.\n\t\t\t\tassert.true( modules.includes( 'testMissing' ), 'Triggered by testMissing.' );\n\n\t\t\t\tverifyModuleStates();\n\t\t\t}\n\t\t);\n\t} );\n\n\t// Regresion test for T68598\n\tQUnit.test( 'Network failure', function ( assert ) {\n\t\t// Modules named \"test.*Dump\" always exist via load.mock.php (testloader)\n\t\tmw.loader.register( [\n\t\t\t// [module, version, dependencies, group, source, skip]\n\t\t\t[ 'testNetfailBadDump', '1', [], 'unlucky', 'testloader' ],\n\t\t\t[ 'testNetfailGoodDump', '1', [], 'lucky', 'testloader' ],\n\t\t\t[ 'testNetfailDump', '1', [ 'testNetfailBadDump', 'testNetfailGoodDump' ], null, 'testloader' ]\n\t\t] );\n\n\t\t// Simulate network failure\n\t\tconst appendSuper = document.head.appendChild;\n\t\tconst appendStub = this.sandbox.stub( document.head, 'appendChild', function ( node ) {\n\t\t\tif ( node.nodeName === 'SCRIPT' && node.src.includes( 'testNetfailBadDump' ) ) {\n\t\t\t\tPromise.resolve().then( node.onerror );\n\t\t\t\tappendStub.restore();\n\t\t\t\treturn;\n\t\t\t}\n\t\t\treturn appendSuper.apply( this, arguments );\n\t\t} );\n\n\t\treturn mw.loader.using( [ 'testNetfailDump' ] ).then(\n\t\t\t() => {\n\t\t\t\tthrow new Error( 'Unexpected success.' );\n\t\t\t},\n\t\t\t( e, modules ) => {\n\t\t\t\tassert.propEqual( {\n\t\t\t\t\ttestNetfailDump: mw.loader.getState( 'testNetfailDump' ),\n\t\t\t\t\ttestNetfailBadDump: mw.loader.getState( 'testNetfailBadDump' )\n\t\t\t\t}, {\n\t\t\t\t\ttestNetfailDump: 'error',\n\t\t\t\t\ttestNetfailBadDump: 'error'\n\t\t\t\t}, 'module state' );\n\n\t\t\t\tassert.strictEqual( e.message, 'Failed dependency: testNetfailBadDump', 'error message' );\n\t\t\t\tassert.true( modules.includes( 'testNetfailBadDump' ), 'attribute failure' );\n\t\t\t}\n\t\t);\n\t} );\n\n\tQUnit.test( 'Skip-function handling', ( assert ) => {\n\t\tmw.loader.register( [\n\t\t\t// [module, version, dependencies, group, source, skip]\n\t\t\t[ 'testSkipped', '1', [], null, 'testloader', 'return true;' ],\n\t\t\t[ 'testNotSkipped', '1', [], null, 'testloader', 'return false;' ],\n\t\t\t[ 'testUsesSkippable', '1', [ 'testSkipped', 'testNotSkipped' ], null, 'testloader' ]\n\t\t] );\n\n\t\treturn mw.loader.using( [ 'testUsesSkippable' ] ).then(\n\t\t\t() => {\n\t\t\t\tassert.strictEqual( mw.loader.getState( 'testSkipped' ), 'ready', 'Skipped module' );\n\t\t\t\tassert.strictEqual( mw.loader.getState( 'testNotSkipped' ), 'ready', 'Regular module' );\n\t\t\t\tassert.strictEqual( mw.loader.getState( 'testUsesSkippable' ), 'ready', 'Regular module with skippable dependency' );\n\t\t\t},\n\t\t\t( e, badmodules ) => {\n\t\t\t\t// Should not fail and QUnit would already catch this,\n\t\t\t\t// but add a handler anyway to report details from 'badmodules\n\t\t\t\tassert.deepEqual( badmodules, [], 'Bad modules' );\n\t\t\t}\n\t\t);\n\t} );\n\n\t// This bug was fixed in MediaWiki 1.18 (T32825).\n\tQUnit.test( '.load() [protocol-relative URL T32825]', ( assert ) => {\n\t\tconst done = assert.async();\n\t\tlet target = SCRIPT_PATH_URL + 'tests/qunit/data/mwLoaderTestCallback.js';\n\t\t// Use a protocol-relative URL for this test\n\t\ttarget = target.replace( /https?:/, '' );\n\t\tassert.true( target.startsWith( '//' ), 'URL is protocol-relative' );\n\n\t\tmw.loader.testCallback = function () {\n\t\t\t// Ensure once, delete now\n\t\t\tdelete mw.loader.testCallback;\n\t\t\tassert.true( true, 'callback' );\n\t\t\tdone();\n\t\t};\n\n\t\t// Go!\n\t\tmw.loader.load( target );\n\t} );\n\n\tQUnit.test( '.load() [absolute URL]', ( assert ) => {\n\t\tconst done = assert.async();\n\t\tconst target = SCRIPT_PATH_URL + 'tests/qunit/data/mwLoaderTestCallback.js';\n\n\t\tmw.loader.testCallback = function () {\n\t\t\t// Ensure once, delete now\n\t\t\tdelete mw.loader.testCallback;\n\t\t\tassert.true( true, 'callback' );\n\t\t\tdone();\n\t\t};\n\n\t\t// Go!\n\t\tmw.loader.load( target );\n\t} );\n\n\tQUnit.test( 'importScript()', function ( assert ) {\n\t\t/* global importScript */\n\t\tmw.config.set( 'wgScript', '/w/index.php' );\n\t\tconst stub = this.sandbox.stub( mw.loader, 'addScriptTag' );\n\n\t\timportScript( 'User:Foo bar!/Scripts=Love/example@2.js' );\n\t\tassert.deepEqual( stub.getCall( 0 ).args, [\n\t\t\t'/w/index.php?title=User:Foo_bar!/Scripts%3DLove/example@2.js&action=raw&ctype=text/javascript'\n\t\t] );\n\t} );\n\n\tQUnit.test( 'importStylesheet()', function ( assert ) {\n\t\t/* global importStylesheet */\n\t\tmw.config.set( 'wgScript', '/w/index.php' );\n\t\tconst stub = this.sandbox.stub( mw.loader, 'addLinkTag' );\n\n\t\timportStylesheet( 'User:Foo bar!/Scripts=Love/example@2.css' );\n\t\tassert.deepEqual( stub.getCall( 0 ).args, [\n\t\t\t'/w/index.php?title=User:Foo_bar!/Scripts%3DLove/example@2.css&action=raw&ctype=text/css'\n\t\t] );\n\t} );\n\n\tQUnit.test( 'Empty string module name - T28804', ( assert ) => {\n\t\tlet done = false;\n\n\t\tassert.strictEqual( mw.loader.moduleRegistry[ '' ], undefined, 'Unregistered' );\n\n\t\tmw.loader.register( '', 'v1' );\n\t\tassert.strictEqual( mw.loader.moduleRegistry[ '' ].state, 'registered', 'State before' );\n\t\tassert.strictEqual( mw.loader.moduleRegistry[ '' ].version, 'v1', 'Version' );\n\n\t\tmw.loader.implement( '', () => {\n\t\t\tdone = true;\n\t\t} );\n\n\t\treturn mw.loader.using( '', () => {\n\t\t\tassert.true( done, 'script ran' );\n\t\t\tassert.strictEqual( mw.loader.moduleRegistry[ '' ].state, 'ready', 'State after' );\n\t\t} );\n\t} );\n\n\tQUnit.test( 'Executing race - T112232', ( assert ) => {\n\t\tlet done = false;\n\n\t\t// The red herring schedules its CSS buffer first. In T112232, a bug in the\n\t\t// state machine would cause the job for testRaceLoadMe to run with an earlier job.\n\t\tmw.loader.implement(\n\t\t\t'testRaceRedHerring',\n\t\t\t() => {},\n\t\t\t{ css: [ '.mw-testRaceRedHerring {}' ] }\n\t\t);\n\t\tmw.loader.implement(\n\t\t\t'testRaceLoadMe',\n\t\t\t() => {\n\t\t\t\tdone = true;\n\t\t\t},\n\t\t\t{ css: [ '.mw-testRaceLoadMe { float: left; }' ] }\n\t\t);\n\n\t\tmw.loader.load( [ 'testRaceRedHerring', 'testRaceLoadMe' ] );\n\t\treturn mw.loader.using( 'testRaceLoadMe', () => {\n\t\t\tassert.true( done, 'script ran' );\n\t\t\tassert.strictEqual( mw.loader.getState( 'testRaceLoadMe' ), 'ready', 'state' );\n\t\t} );\n\t} );\n\n\tQUnit.test( 'Stale response caching - T117587', function ( assert ) {\n\t\tlet count = 0;\n\t\t// Enable store and stub timeout/idle scheduling\n\t\tthis.sandbox.stub( mw.loader.store, 'enabled', true );\n\t\tthis.sandbox.stub( window, 'setTimeout', ( fn ) => {\n\t\t\tfn();\n\t\t} );\n\t\tthis.sandbox.stub( mw, 'requestIdleCallback', ( fn ) => {\n\t\t\tfn();\n\t\t} );\n\n\t\tmw.loader.register( 'test.stale', 'v2' );\n\t\tassert.false( mw.loader.store.get( 'test.stale' ), 'Not in store' );\n\n\t\tmw.loader.impl( () => [\n\t\t\t'test.stale@v1',\n\t\t\tfunction () {\n\t\t\t\tcount++;\n\t\t\t}\n\t\t] );\n\n\t\treturn mw.loader.using( 'test.stale' )\n\t\t\t.then( () => {\n\t\t\t\tassert.strictEqual( count, 1 );\n\t\t\t\t// After implementing, registry contains version as implemented by the response.\n\t\t\t\tassert.strictEqual( mw.loader.moduleRegistry[ 'test.stale' ].version, 'v1', 'Override version' );\n\t\t\t\tassert.strictEqual( mw.loader.moduleRegistry[ 'test.stale' ].state, 'ready' );\n\t\t\t\tassert.strictEqual( typeof mw.loader.store.get( 'test.stale' ), 'string', 'In store' );\n\t\t\t} )\n\t\t\t.then( () => {\n\t\t\t\t// Reset run time, but keep mw.loader.store\n\t\t\t\tmw.loader.moduleRegistry[ 'test.stale' ].script = undefined;\n\t\t\t\tmw.loader.moduleRegistry[ 'test.stale' ].state = 'registered';\n\t\t\t\tmw.loader.moduleRegistry[ 'test.stale' ].version = 'v2';\n\n\t\t\t\t// Module was stored correctly as v1\n\t\t\t\t// On future navigations, it will be ignored until evicted\n\t\t\t\tassert.false( mw.loader.store.get( 'test.stale' ), 'Not in store' );\n\t\t\t} );\n\t} );\n\n\tQUnit.test( 'No storing of group=private responses', function ( assert ) {\n\t\tconst name = 'test.group.priv';\n\n\t\t// Enable store and stub timeout/idle scheduling\n\t\tthis.sandbox.stub( mw.loader.store, 'enabled', true );\n\t\tthis.sandbox.stub( window, 'setTimeout', ( fn ) => {\n\t\t\tfn();\n\t\t} );\n\t\tthis.sandbox.stub( mw, 'requestIdleCallback', ( fn ) => {\n\t\t\tfn();\n\t\t} );\n\n\t\t// See ResourceLoader\\StartUpModule::$groupIds\n\t\tmw.loader.register( name, 'x', [], 1 );\n\t\tassert.false( mw.loader.store.get( name ), 'Not in store' );\n\n\t\tmw.loader.implement( name, () => {} );\n\t\treturn mw.loader.using( name ).then( () => {\n\t\t\tassert.strictEqual( mw.loader.getState( name ), 'ready' );\n\t\t\tassert.false( mw.loader.store.get( name ), 'Still not in store' );\n\t\t} );\n\t} );\n\n\tQUnit.test( 'No storing of group=user responses', function ( assert ) {\n\t\tconst name = 'test.group.user';\n\n\t\t// Enable store and stub timeout/idle scheduling\n\t\tthis.sandbox.stub( mw.loader.store, 'enabled', true );\n\t\tthis.sandbox.stub( window, 'setTimeout', ( fn ) => {\n\t\t\tfn();\n\t\t} );\n\t\tthis.sandbox.stub( mw, 'requestIdleCallback', ( fn ) => {\n\t\t\tfn();\n\t\t} );\n\n\t\t// See ResourceLoader\\StartUpModule::$groupIds\n\t\tmw.loader.register( name, 'y', [], 0 );\n\t\tassert.false( mw.loader.store.get( name ), 'Not in store' );\n\n\t\tmw.loader.implement( name, () => {} );\n\t\treturn mw.loader.using( name ).then( () => {\n\t\t\tassert.strictEqual( mw.loader.getState( name ), 'ready' );\n\t\t\tassert.false( mw.loader.store.get( name ), 'Still not in store' );\n\t\t} );\n\t} );\n\n\tQUnit.test( 'mw.loader.store.load - Disallowed localStorage', function ( assert ) {\n\t\tthis.stubStore();\n\t\tthis.sandbox.stub( Storage.prototype, 'getItem', () => {\n\t\t\tthrow new Error( 'Mock-disabled localStorage' );\n\t\t} );\n\n\t\tmw.loader.store.load();\n\t\tassert.false( mw.loader.store.enabled, 'Disabled' );\n\t} );\n\n\tQUnit.test( 'mw.loader.store.load - Invalid JSON', function ( assert ) {\n\t\tthis.stubStore();\n\t\tlocalStorage.setItem( mw.loader.store.key, 'invalid' );\n\n\t\tmw.loader.store.load();\n\t\tassert.true( mw.loader.store.enabled, 'Enabled' );\n\t\tassert.true( $.isEmptyObject( mw.loader.store.items ), 'Items stay empty' );\n\t} );\n\n\tQUnit.test( 'mw.loader.store.load - Unusable JSON', function ( assert ) {\n\t\tthis.stubStore();\n\t\tlocalStorage.setItem( mw.loader.store.key, JSON.stringify( { wrong: true } ) );\n\n\t\tmw.loader.store.load();\n\t\tassert.true( mw.loader.store.enabled, 'Enabled' );\n\t\tassert.true( $.isEmptyObject( mw.loader.store.items ), 'Items stay empty' );\n\t} );\n\n\tQUnit.test( 'mw.loader.store.load - Expired JSON', function ( assert ) {\n\t\tthis.stubStore();\n\t\tlocalStorage.setItem( mw.loader.store.key, JSON.stringify( {\n\t\t\titems: { use: 'not me' },\n\t\t\tvary: mw.loader.store.vary,\n\t\t\tasOf: 130161 // 2011-04-01 12:00\n\t\t} ) );\n\n\t\tmw.loader.store.load();\n\t\tassert.true( mw.loader.store.enabled, 'Enabled' );\n\t\tassert.true( $.isEmptyObject( mw.loader.store.items ), 'Items stay empty' );\n\t} );\n\n\tQUnit.test( 'mw.loader.store.load - Good JSON', function ( assert ) {\n\t\tthis.stubStore();\n\t\tlocalStorage.setItem( mw.loader.store.key, JSON.stringify( {\n\t\t\titems: { use: 'me' },\n\t\t\tvary: mw.loader.store.vary,\n\t\t\tasOf: Math.ceil( Date.now() / 1e7 ) - 5 // ~ 13 hours ago\n\t\t} ) );\n\n\t\tmw.loader.store.load();\n\t\tassert.true( mw.loader.store.enabled, 'Enabled' );\n\t\tassert.deepEqual(\n\t\t\tmw.loader.store.items,\n\t\t\t{ use: 'me' },\n\t\t\t'Items are loaded'\n\t\t);\n\t} );\n\n\tQUnit.test( 'require()', ( assert ) => {\n\t\tmw.loader.register( [\n\t\t\t[ 'test.require1', '0' ],\n\t\t\t[ 'test.require2', '0' ],\n\t\t\t[ 'test.require3', '0' ],\n\t\t\t[ 'test.require4', '0', [ 'test.require3' ] ]\n\t\t] );\n\t\tmw.loader.implement( 'test.require1', () => {} );\n\t\tmw.loader.implement( 'test.require2', ( $, jQuery, require, module ) => {\n\t\t\tmodule.exports = 1;\n\t\t} );\n\t\tmw.loader.implement( 'test.require3', ( $, jQuery, require, module ) => {\n\t\t\tmodule.exports = function () {\n\t\t\t\treturn 'hello world';\n\t\t\t};\n\t\t} );\n\t\tmw.loader.implement( 'test.require4', ( $, jQuery, require, module ) => {\n\t\t\tconst other = require( 'test.require3' );\n\t\t\tmodule.exports = {\n\t\t\t\tpizza: function () {\n\t\t\t\t\treturn other();\n\t\t\t\t}\n\t\t\t};\n\t\t} );\n\t\treturn mw.loader.using( [ 'test.require1', 'test.require2', 'test.require3', 'test.require4' ] ).then( ( require ) => {\n\t\t\tconst module1 = require( 'test.require1' );\n\t\t\tconst module2 = require( 'test.require2' );\n\t\t\tconst module3 = require( 'test.require3' );\n\t\t\tconst module4 = require( 'test.require4' );\n\n\t\t\tassert.strictEqual( typeof module1, 'object', 'export of module with no export' );\n\t\t\tassert.strictEqual( module2, 1, 'export a number' );\n\t\t\tassert.strictEqual( module3(), 'hello world', 'export a function' );\n\t\t\tassert.strictEqual( typeof module4.pizza, 'function', 'export an object' );\n\t\t\tassert.strictEqual( module4.pizza(), 'hello world', 'module can require other modules' );\n\n\t\t\tassert.throws( () => {\n\t\t\t\trequire( '_badmodule' );\n\t\t\t}, /is not loaded/, 'Requesting non-existent modules throws error.' );\n\t\t} );\n\t} );\n\n\tQUnit.test( 'require() in debug mode', ( assert ) => {\n\t\tmw.loader.register( [\n\t\t\t[ 'test.require.define', '0' ],\n\t\t\t[ 'test.require.callback', '0', [ 'test.require.define' ] ]\n\t\t] );\n\t\tmw.loader.implement( 'test.require.callback', [ SCRIPT_PATH_URL + 'tests/qunit/data/requireCallMwLoaderTestCallback.js' ] );\n\t\tmw.loader.implement( 'test.require.define', [ SCRIPT_PATH_URL + 'tests/qunit/data/defineCallMwLoaderTestCallback.js' ] );\n\n\t\treturn mw.loader.using( 'test.require.callback' ).then( ( require ) => {\n\t\t\tconst cb = require( 'test.require.callback' );\n\t\t\tassert.strictEqual( cb.immediate, 'Defined.', 'module.exports and require work in debug mode' );\n\t\t\t// Must use try-catch because cb.later() will throw if require is undefined,\n\t\t\t// which doesn't work well inside Deferred.then() when using jQuery 1.x with QUnit\n\t\t\ttry {\n\t\t\t\tassert.strictEqual( cb.later(), 'Defined.', 'require works asynchrously in debug mode' );\n\t\t\t} catch ( e ) {\n\t\t\t\tassert.strictEqual( String( e ), null, 'require works asynchrously in debug mode' );\n\t\t\t}\n\t\t} );\n\t} );\n\n\tQUnit.test( '.require() relative file without packageFiles', ( assert ) => {\n\t\t// T386833\n\t\tassert.throws( () => {\n\t\t\tmw.loader.require( './hello.js' );\n\t\t}, /Module names cannot start with \".\\/\" or \"..\\/\"/ );\n\t} );\n\n\tQUnit.test( 'Implicit dependencies', ( assert ) => {\n\t\tlet user = 0,\n\t\t\tsite = 0,\n\t\t\tsiteFromUser = 0;\n\n\t\tmw.loader.implement(\n\t\t\t'site',\n\t\t\t() => {\n\t\t\t\tsite++;\n\t\t\t}\n\t\t);\n\t\tmw.loader.implement(\n\t\t\t'user',\n\t\t\t() => {\n\t\t\t\tuser++;\n\t\t\t\tsiteFromUser = site;\n\t\t\t}\n\t\t);\n\n\t\treturn mw.loader.using( 'user', () => {\n\t\t\tassert.strictEqual( site, 1, 'site module' );\n\t\t\tassert.strictEqual( user, 1, 'user module' );\n\t\t\tassert.strictEqual( siteFromUser, 1, 'site ran before user' );\n\t\t} ).always( () => {\n\t\t\t// Reset\n\t\t\tmw.loader.moduleRegistry.site.state = 'registered';\n\t\t\tmw.loader.moduleRegistry.user.state = 'registered';\n\t\t} );\n\t} );\n\n\tQUnit.test( '.getScript() - success', ( assert ) => {\n\t\tconst scriptUrl = SCRIPT_PATH_URL + 'tests/qunit/data/mediawiki.loader.getScript.example.js';\n\n\t\treturn mw.loader.getScript( scriptUrl ).then(\n\t\t\t() => {\n\t\t\t\tassert.true( mw.getScriptExampleScriptLoaded, 'Data attached to a global object is available' );\n\t\t\t}\n\t\t);\n\t} );\n\n\tQUnit.test( '.getScript() - failure', ( assert ) => {\n\t\tassert.rejects(\n\t\t\tmw.loader.getScript( '/this-is-not-found.txt' ),\n\t\t\t/Failed to load script/,\n\t\t\t'Descriptive error message'\n\t\t);\n\t} );\n\n}() );\n","usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/qunit/resources/startup/mw.requestIdleCallback.test.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/qunit/resources/testrunner.test.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/selenium/.eslintrc.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/selenium/docs/Create_a_simple_test/pageobjects/specialpages.page.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-len","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/selenium/docs/Create_a_simple_test/specs/specialpages.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-len","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/selenium/docs/Debug_with_Visual_Studio_Code/launch.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/selenium/docs/Page_object_pattern/specs/login.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-len","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/selenium/docs/Stack/pageobjects/main.page.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-len","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/selenium/docs/Stack/pageobjects/page.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-len","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/selenium/docs/Stack/specs/expect.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-len","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/selenium/docs/Stack/specs/mocha.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-len","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/selenium/docs/Stack/specs/pageobject.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-len","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/selenium/docs/Stack/webdriverio.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-len","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/selenium/docs/Use_MediaWiki_API/specs/api.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-len","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/selenium/package.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/selenium/pageobjects/block.page.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-len","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/selenium/pageobjects/delete.page.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-len","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/selenium/pageobjects/edit.page.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-len","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/selenium/pageobjects/history.page.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-len","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/selenium/pageobjects/protect.page.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-len","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/selenium/pageobjects/recentchanges.page.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-len","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/selenium/pageobjects/restore.page.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-len","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/selenium/pageobjects/undo.page.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-len","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/selenium/pageobjects/watchable.page.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-len","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/selenium/pageobjects/watchlist.page.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-len","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/selenium/specs/page.js","messages":[{"ruleId":"max-len","severity":1,"message":"This line has a length of 103. Maximum allowed is 100.","line":79,"column":1,"nodeType":"Program","messageId":"max","endLine":79,"endColumn":98}],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"import BlankPage from 'wdio-mediawiki/BlankPage.js';\nimport { createApiClient } from 'wdio-mediawiki/Api.js';\nimport DeletePage from '../pageobjects/delete.page.js';\nimport RestorePage from '../pageobjects/restore.page.js';\nimport EditPage from '../pageobjects/edit.page.js';\nimport HistoryPage from '../pageobjects/history.page.js';\nimport UndoPage from '../pageobjects/undo.page.js';\nimport ProtectPage from '../pageobjects/protect.page.js';\nimport LoginPage from 'wdio-mediawiki/LoginPage.js';\nimport { getTestString, isTargetNotWikitext } from 'wdio-mediawiki/Util.js';\n\ndescribe( 'Page', () => {\n\tlet content, name, apiClient;\n\n\tbefore( async () => {\n\t\tapiClient = await createApiClient();\n\t} );\n\n\tbeforeEach( async function () {\n\t\tawait browser.deleteAllCookies();\n\t\tcontent = getTestString( 'beforeEach-content-' );\n\t\tname = getTestString( 'BeforeEach-name-' );\n\n\t\t// First try to load a blank page, so the next command works.\n\t\tawait BlankPage.open();\n\t\t// Don't try to run wikitext-specific tests if the test namespace isn't wikitext by default.\n\t\tif ( await isTargetNotWikitext( name ) ) {\n\t\t\tthis.skip();\n\t\t}\n\t} );\n\n\tit( 'should be previewable @daily', async () => {\n\t\tawait LoginPage.loginAdmin();\n\t\tawait EditPage.preview( name, content );\n\n\t\tawait expect( EditPage.heading ).toHaveText( `Creating ${ name }` );\n\t\tawait expect( EditPage.displayedContent ).toHaveText( content );\n\t\tawait expect( EditPage.content ).toBeDisplayed( { message: 'editor is still present' } );\n\t\tawait expect( EditPage.conflictingContent ).not.toBeDisplayed( { message: 'no edit conflict happened' } );\n\n\t} );\n\n\tit( 'should be creatable', async () => {\n\t\t// create\n\t\tawait LoginPage.loginAdmin();\n\t\tawait EditPage.edit( name, content );\n\n\t\t// check\n\t\tawait expect( EditPage.heading ).toHaveText( name );\n\t\tawait expect( EditPage.displayedContent ).toHaveText( content );\n\t} );\n\n\tit( 'should be re-creatable', async () => {\n\t\tconst initialContent = getTestString( 'initialContent-' );\n\n\t\t// create and delete\n\t\tawait apiClient.edit( name, initialContent, 'create for delete' );\n\t\tawait apiClient.delete( name, 'delete prior to recreate' );\n\n\t\t// re-create\n\t\tawait LoginPage.loginAdmin();\n\t\tawait EditPage.edit( name, content );\n\n\t\t// check\n\t\tawait expect( EditPage.heading ).toHaveText( name );\n\t\tawait expect( EditPage.displayedContent ).toHaveText( content );\n\t} );\n\n\tit( 'should be editable @daily', async () => {\n\t\t// create\n\t\tawait apiClient.edit( name, content, 'create for edit' );\n\n\t\t// edit\n\t\tconst editContent = getTestString( 'editContent-' );\n\t\tawait EditPage.edit( name, editContent );\n\n\t\t// check\n\t\tawait expect( EditPage.heading ).toHaveText( name );\n\t\tawait expect( EditPage.displayedContent ).toHaveText( expect.stringContaining( editContent ) );\n\t} );\n\n\tit( 'should have history @daily', async () => {\n\t\t// create\n\t\tawait apiClient.edit( name, content, `created with \"${ content }\"` );\n\n\t\t// check\n\t\tawait HistoryPage.open( name );\n\t\tawait expect( HistoryPage.comment ).toHaveText( `created with \"${ content }\"` );\n\t} );\n\n\tit( 'should be deletable', async () => {\n\t\t// create\n\t\tawait apiClient.edit( name, content, 'create for delete' );\n\n\t\t// login\n\t\tawait LoginPage.loginAdmin();\n\t\t// delete\n\t\tawait DeletePage.delete( name, 'delete reason' );\n\n\t\t// check\n\t\tawait expect( DeletePage.displayedContent ).toHaveText( expect.stringContaining( `\"${ name }\" has been deleted.` ) );\n\t} );\n\n\tit( 'should be restorable', async () => {\n\t\t// create and delete\n\t\tawait apiClient.edit( name, content, 'create for delete' );\n\t\tawait apiClient.delete( name, 'delete for restore' );\n\n\t\t// login\n\t\tawait LoginPage.loginAdmin();\n\n\t\t// restore\n\t\tawait RestorePage.restore( name, 'restore reason' );\n\n\t\t// check\n\t\tawait expect( RestorePage.displayedContent ).toHaveText( expect.stringContaining( `${ name } has been undeleted` ) );\n\t} );\n\n\tit( 'should be protectable', async () => {\n\n\t\tawait apiClient.edit( name, content, 'create for protect' );\n\n\t\t// login\n\t\tawait LoginPage.loginAdmin();\n\n\t\tawait ProtectPage.protect(\n\t\t\tname,\n\t\t\t'protect reason',\n\t\t\t'Allow only administrators'\n\t\t);\n\n\t\t// Logout\n\t\tawait browser.deleteAllCookies();\n\n\t\t// Check that we can't edit the page anymore\n\t\tawait EditPage.openForEditing( name );\n\t\tawait expect( EditPage.save ).not.toExist();\n\t\tawait expect( EditPage.heading ).toHaveText( `View source for ${ name }` );\n\t} );\n\n\tit( 'should be undoable @daily', async () => {\n\n\t\t// create\n\t\tawait apiClient.edit( name, content, 'create to edit and undo' );\n\n\t\t// edit\n\t\tconst response = await apiClient.edit( name, getTestString( 'editContent-' ) );\n\t\tconst previousRev = response.edit.oldrevid;\n\t\tconst undoRev = response.edit.newrevid;\n\n\t\tawait UndoPage.undo( name, previousRev, undoRev );\n\n\t\tawait expect( EditPage.displayedContent ).toHaveText( expect.stringContaining( content ) );\n\t} );\n\n} );\n","usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-len","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/selenium/specs/recentchanges.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-len","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/selenium/specs/user.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-len","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/selenium/wdio-mediawiki/Api.js","messages":[{"ruleId":"jsdoc/require-param-type","severity":1,"message":"Missing JSDoc @param \"params\" type.","line":65,"column":1,"nodeType":"Block","endLine":65,"endColumn":1}],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"import { Cookies } from './api/Cookies.js';\nimport { MwApiHttpClient } from './api/MwApiHttpClient.js';\nimport { Auth } from './api/Auth.js';\nimport { Pages } from './api/Page.js';\nimport { User } from './api/User.js';\n\n/**\n * The API class is the way to talk to the MediaWiki API from webdriver.io.\n * https://www.mediawiki.org/wiki/API:Action_API\n *\n * The goal is to simplify API calls to make it easier to run automatic browser\n * tests.\n * Default credentials and base URL are read from the webdriver.io config.\n */\nclass Api {\n\tconstructor( options ) {\n\t\tconst {\n\t\t\tbaseUrl,\n\t\t\tusername,\n\t\t\tpassword,\n\t\t\tverbose\n\t\t} = options;\n\n\t\tthis.session = {\n\t\t\tloggedIn: false,\n\t\t\tcsrfToken: null,\n\t\t\tcreateAccountToken: null\n\t\t};\n\n\t\tthis.cookies = new Cookies();\n\t\tthis.httpClient = new MwApiHttpClient( {\n\t\t\tcookies: this.cookies,\n\t\t\toptions: {\n\t\t\t\tdefaultSummary: 'MwApiClient',\n\t\t\t\tapiUrl: `${ baseUrl }/api.php`,\n\t\t\t\tusername: username,\n\t\t\t\tpassword: password,\n\t\t\t\tverbose: verbose\n\t\t\t}\n\t\t} );\n\n\t\tthis.auth = new Auth( {\n\t\t\trequest: this.httpClient.request.bind( this.httpClient ),\n\t\t\tsession: this.session\n\t\t} );\n\n\t\tthis.pages = new Pages( {\n\t\t\trequest: this.httpClient.request.bind( this.httpClient ),\n\t\t\tsession: this.session,\n\t\t\tsummary: 'MwApiClient',\n\t\t\tauth: this.auth\n\t\t} );\n\n\t\tthis.user = new User( {\n\t\t\trequest: this.httpClient.request.bind( this.httpClient ),\n\t\t\tauth: this.auth,\n\t\t\tsession: this.session\n\t\t} );\n\t}\n\n\t/**\n\t * Do a request with custom parameters to the API. If you\n\t * use this function maybe something is missing in core?\n\t *\n\t * @param params\n\t * @return {Promise<Object>} The JSON response from the API\n\t * @throws {Error} If the request fails\n\t */\n\tasync request( params ) {\n\t\treturn this.httpClient.request( params );\n\t}\n\n\t/**\n\t * Login a user using the MediaWiki API.\n\t *\n\t * @see https://www.mediawiki.org/wiki/API:Login\n\t * @param {string} username\n\t * @param {string} password\n\t * @return {Promise<void>} Resolves when the user is logged in.\n\t * @throws {Error} If the login request fails or the API returns an error.\n\t */\n\tasync login( username, password ) {\n\t\treturn this.auth.login( username, password );\n\t}\n\n\t/**\n\t * Get a CSRF edit token. The token will be cached for the next request.\n\t *\n\t * @return {Promise<string>} A CSRF token suitable for write actions.\n\t * @throws {Error} If the API does not return a token.\n\t */\n\tasync getEditToken() {\n\t\treturn this.auth.getEditToken();\n\t}\n\n\t/**\n\t * Get a create-account token. The token wil be cached for the next request.\n\t *\n\t * @return {Promise<string>} A token for create account.\n\t * @throws {Error} If the API does not return a token.\n\t */\n\tasync getCreateAccountToken() {\n\t\treturn this.auth.getCreateAccountToken();\n\t}\n\n\t/**\n\t * Login the user and get an edit token.\n\t *\n\t * @param {string} username\n\t * @param {string} password\n\t * @return {Promise<string>} A CSRF token suitable for write actions.\n\t * @throws {Error} If the API does not return a token or the login fails\n\t */\n\tasync loginGetEditToken( username, password ) {\n\t\treturn this.auth.loginGetEditToken( username, password );\n\t}\n\n\t/**\n\t * Read content/meta data from one or many wiki pages.\n\t *\n\t * @param {string} title - for multiple pages use PageA|PageB|PageC\n\t * @return {Promise<Object>} The JSON response from the API.\n\t * @throws {Error} if something fails when talking to the API\n\t */\n\tasync read( title ) {\n\t\treturn this.pages.read( title );\n\t}\n\n\t/**\n\t * Edits a new wiki pages. Creates a new page if it does not exist yet.\n\t * Automatically fetches a CSRF token if it's not available.\n\t *\n\t * @param {string} title\n\t * @param {string} text\n\t * @param {string} summary\n\t * @return {Promise<Object>} The JSON response from the API.\n\t * @throws {Error} if something fails when talking to the API\n\t */\n\tasync edit( title, text, summary ) {\n\t\treturn this.pages.edit( title, text, summary );\n\t}\n\n\t/**\n\t * Delete a page.\n\t *\n\t * Automatically fetches a CSRF token if it's not available.\n\t *\n\t * @param {string} title - Page title to delete.\n\t * @param {string} reason - Deletion reason.\n\t * @return {Promise<Object>} The JSON response from the API\n\t * @throws {Error} if something fails when talking to the API\n\t */\n\tasync delete( title, reason ) {\n\t\treturn this.pages.delete( title, reason );\n\t}\n\n\t/**\n\t * Create a new user account.\n\t *\n\t * @param {string} username - The username for the new account.\n\t * @param {string} password - The password for the new account.\n\t * @return {Promise<Object>} API response with account creation details.\n\t * @throws {Error} if something fails when talking to the API\n\t */\n\tasync createAccount( username, password ) {\n\t\treturn this.user.createAccount( username, password );\n\t}\n\n\t/**\n\t * Block a user account.\n\t *\n\t * @param {string} username - The username to block.\n\t * @param {string} expiry - How long the block should last (e.g. \"1 day\", \"infinite\").\n\t * @return {Promise<Object>} API response for the block action.\n\t * @throws {Error} if something fails when talking to the API\n\t */\n\tasync blockUser( username, expiry ) {\n\t\treturn this.user.blockUser( username, expiry );\n\t}\n\n\t/**\n\t * Unblock a user account.\n\t *\n\t * @param {string} username - The username to unblock.\n\t * @return {Promise<Object>} API response for the unblock action.\n\t * @throws {Error} if something fails when talking to the API\n\t */\n\tasync unblockUser( username ) {\n\t\treturn this.user.unblockUser( username );\n\t}\n\n\t/**\n\t * Add a user to a group.\n\t *\n\t * Skips the request if the user is already in the group.\n\t *\n\t * @param {string} username - The username to modify.\n\t * @param {string} groupName - The group to add the user to.\n\t * @return {Promise<void>} Resolves when complete. Throws if API returns an error.\n\t * @throws {Error} if something fails when talking to the API\n\t */\n\tasync addUserToGroup( username, groupName ) {\n\t\treturn this.user.addUserToGroup( username, groupName );\n\t}\n}\n\n/**\n * Create and return an authenticated MediaWiki API client for webdriver.io tests.\n *\n * The factory uses the options configuration, else it falls back to webdriver.io config:\n * - options.baseUrl - browser.options.baseUrl\n * - options.username - browser.options.capabilities['mw:user']\n * - options.password - browser.options.capabilities['mw:pwd']\n * - options.verbose set to true logs every response from MediaWiki\n *\n * @param {Object} [options={}] Optional api configuration.\n * @return {Promise<Api>} An authenticated API client instance.\n * @throws {Error} If login fails\n *\n * @example\n * // Example configuration:\n * const api = await createApiClient({\n * baseUrl: 'https://mw.example.org',\n * username: 'Admin',\n * password: process.env.MW_PWD,\n * verbose: true\n * });\n */\nexport const createApiClient = async function ( options = {} ) {\n\tconst username = options.username || browser.options.capabilities[ 'mw:user' ];\n\tconst password = options.password || browser.options.capabilities[ 'mw:pwd' ];\n\tconst baseUrl = options.baseUrl || browser.options.baseUrl;\n\tconst api = new Api( {\n\t\tbaseUrl,\n\t\tusername,\n\t\tpassword,\n\t\tverbose: options.verbose ?? false\n\t} );\n\tawait api.loginGetEditToken( username, password );\n\treturn api;\n};\n","usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-len","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/selenium/wdio-mediawiki/BlankPage.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-len","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/selenium/wdio-mediawiki/CreateAccountPage.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-len","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/selenium/wdio-mediawiki/LoginPage.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-len","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/selenium/wdio-mediawiki/Page.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-len","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/selenium/wdio-mediawiki/PrometheusFileReporter.js","messages":[{"ruleId":"security/detect-non-literal-fs-filename","severity":1,"message":"Found writeFileSync from package \"fs\" with non literal argument at index 0","line":158,"column":3,"nodeType":"CallExpression","endLine":158,"endColumn":84},{"ruleId":"security/detect-non-literal-fs-filename","severity":1,"message":"Found readdirSync from package \"fs\" with non literal argument at index 0","line":173,"column":22,"nodeType":"CallExpression","endLine":173,"endColumn":47},{"ruleId":"security/detect-non-literal-fs-filename","severity":1,"message":"Found readFileSync from package \"fs\" with non literal argument at index 0","line":178,"column":28,"nodeType":"CallExpression","endLine":178,"endColumn":61},{"ruleId":"security/detect-non-literal-fs-filename","severity":1,"message":"Found writeFileSync from package \"fs\" with non literal argument at index 0","line":260,"column":3,"nodeType":"CallExpression","endLine":260,"endColumn":120}],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":4,"fixableErrorCount":0,"fixableWarningCount":0,"source":"import { readdirSync, readFileSync, writeFileSync, rmSync } from 'fs';\nimport path from 'path';\nimport WDIOReporter from '@wdio/reporter';\n\n/**\n * Clean a string into a valid Prometheus tag name.\n * Replaces all non-word characters with underscores and lower-cases the result.\n *\n * @param {string} name - Original tag name.\n * @return {string} A cleaned, lowercase string for Prometheus labels.\n */\nconst getValidPrometheusTagName = ( name ) => name.replace( /\\W+/g, '_' ).toLowerCase();\n\n/**\n * Formats a single Prometheus text format line.\n *\n * @param {string} name - Metric name (must already follow Prometheus naming conventions).\n * @param {number|string} value - The metric value.\n * @param {Object.<string, string>} [labels={}] - Optional key/value map of label names/values.\n * @return {string} A line in the Prometheus text‐based text format, e.g.\n * wdio_test_duration_seconds{project=\"core\",name=\"test_name\"} 12\n */\nfunction formatMetric( name, value, labels = {} ) {\n\tconst keys = Object.keys( labels );\n\tlet labelsAsString = '';\n\tif ( keys.length > 0 ) {\n\t\tconst parts = keys.map( ( key ) => `${ key }=\"${ labels[ key ] }\"` );\n\t\tlabelsAsString = `{${ parts.join( ', ' ) }}`;\n\t}\n\treturn `${ name }${ labelsAsString } ${ value }`;\n}\n\n/**\n * Sums up the durations of all suites to produce a spec-level total.\n *\n * @param {Array.<{duration: number}>} suiteMetrics - Array of suites with duration.\n * @return {number} Total duration in seconds across all suites.\n */\nfunction getSpecDuration( suiteMetrics ) {\n\tlet specDuration = 0;\n\tfor ( const { duration } of suiteMetrics ) {\n\t\tspecDuration += duration;\n\t}\n\treturn specDuration.toFixed( 3 );\n}\n\n/**\n * The PrometheusFileReporter writes webdriver.io test data\n * to a file following the Prometheus text based format:\n * https://github.com/prometheus/docs/blob/main/content/docs/instrumenting/exposition_formats.md\n *\n * The reporter collects data on a project and individual tests level.\n * Metrics are reported as Gauges to be consumed by a Prometheus PushGateway.\n * We use Gauges since counters will just be replaced in the Pushgateway.\n *\n * The Reporter is a custom reporter built upon WDIOReporter.\n *\n */\nclass PrometheusFileReporter extends WDIOReporter {\n\tconstructor( options = {} ) {\n\t\tsuper( { ...options } );\n\t\tthis.labels = {};\n\t\t// Make sure the tags is ok for Prometheus.\n\t\tfor ( const [ tagName, tagValue ] of Object.entries( options.tags || {} ) ) {\n\t\t\tconst cleanKey = getValidPrometheusTagName( tagName );\n\t\t\tconst cleanValue = tagValue !== undefined ? getValidPrometheusTagName( tagValue ) : '';\n\t\t\tthis.labels[ cleanKey ] = cleanValue;\n\t\t}\n\t\tthis.testMetrics = {};\n\t\tthis.suiteMetrics = [];\n\t\tthis.outputDir = options.outputDir;\n\t\tthis.getFileName = options.outputFileName;\n\t\tthis.spec = {\n\t\t\tpassed: 0,\n\t\t\tfailed: 0,\n\t\t\tskipped: 0,\n\t\t\tretries: 0,\n\t\t\ttotalTests: 0\n\t\t};\n\t}\n\n\tonSuiteEnd( suite ) {\n\t\t// We collect total suite time to make it easier to get\n\t\t// correct project run time.\n\t\tif ( suite.start && suite.end ) {\n\t\t\tconst durationSec = ( suite.end - suite.start ) / 1000;\n\t\t\tconst suiteName = getValidPrometheusTagName( suite.title );\n\t\t\tthis.suiteMetrics.push( { name: suiteName, duration: durationSec } );\n\t\t}\n\t}\n\n\tonTestStart( test ) {\n\t\tif ( !this.testMetrics[ test.uid ] ) {\n\t\t\tthis.testMetrics[ test.uid ] = {\n\t\t\t\tname: getValidPrometheusTagName( test.title ),\n\t\t\t\tsuite: test.parent ? getValidPrometheusTagName( test.parent ) : 'unknown',\n\t\t\t\tpassed: 0,\n\t\t\t\tfailed: 0,\n\t\t\t\tskipped: 0,\n\t\t\t\tretries: 0,\n\t\t\t\tmaxDuration: 0\n\t\t\t};\n\t\t\tthis.spec.totalTests++;\n\t\t}\n\t}\n\n\tonTestPass( test ) {\n\t\tconst testDurationInSeconds = ( test.end - test.start ) / 1000;\n\t\tconst myTest = this.testMetrics[ test.uid ];\n\t\tmyTest.passed++;\n\t\tmyTest.maxDuration = Math.max( myTest.maxDuration, testDurationInSeconds );\n\t\tthis.spec.passed++;\n\t}\n\n\tonTestFail( test ) {\n\t\tconst testDurationInSeconds = ( test.end - test.start ) / 1000;\n\t\tconst myTest = this.testMetrics[ test.uid ];\n\t\tmyTest.failed++;\n\t\tmyTest.maxDuration = Math.max( myTest.maxDuration, testDurationInSeconds );\n\t\tthis.spec.failed++;\n\t}\n\n\tonTestSkip( test ) {\n\t\tif ( !this.testMetrics[ test.uid ] ) {\n\t\t\tthis.testMetrics[ test.uid ] = {\n\t\t\t\tname: getValidPrometheusTagName( test.title ),\n\t\t\t\tsuite: test.parent ? getValidPrometheusTagName( test.parent ) : 'unknown',\n\t\t\t\tpassed: 0,\n\t\t\t\tfailed: 0,\n\t\t\t\tskipped: 1,\n\t\t\t\tretries: 0,\n\t\t\t\tmaxDuration: 0\n\t\t\t};\n\t\t\tthis.spec.totalTests++;\n\t\t}\n\t\tthis.spec.skipped++;\n\t}\n\n\tonTestRetry( test ) {\n\t\tthis.testMetrics[ test.uid ].retries++;\n\t\tthis.spec.retries++;\n\t}\n\n\tonRunnerEnd( runnerStats ) {\n\t\tconst labels = this.labels;\n\t\tconst specMetrics = this.spec;\n\t\tconst workerId = runnerStats.cid;\n\n\t\t// Depending on how we configure webdriver.io we have two kind of retries:\n\t\t// either per test or for a spec file (where the runner is restarted)\n\t\t// and we want the number of retries from both\n\t\tspecMetrics.retries += runnerStats.retries;\n\n\t\tspecMetrics.duration = getSpecDuration( this.suiteMetrics );\n\t\tspecMetrics.labels = labels;\n\t\tspecMetrics.tests = Object.values( this.testMetrics );\n\t\tconst outputPath = path.join( this.outputDir, 'specs-' + workerId + '.json' );\n\t\twriteFileSync( outputPath, JSON.stringify( specMetrics ), { encoding: 'utf-8' } );\n\t}\n}\n\nfunction writeAllProjectMetrics( metricsDir, fileName ) {\n\tconst projectMetrics = {\n\t\tpassed: 0,\n\t\tfailed: 0,\n\t\tskipped: 0,\n\t\tretries: 0,\n\t\ttotalTests: 0,\n\t\tduration: 0\n\t};\n\tconst tests = [];\n\n\tfor ( const file of readdirSync( metricsDir ) ) {\n\t\tif ( !file.startsWith( 'specs-' ) || !file.endsWith( '.json' ) ) {\n\t\t\tcontinue;\n\t\t}\n\t\tconst filePath = path.join( metricsDir, file );\n\t\tconst data = JSON.parse( readFileSync( filePath, 'utf-8' ) );\n\n\t\t// We have read the raw data, renmove it since we only need the .prom\n\t\trmSync( filePath );\n\n\t\tprojectMetrics.passed += data.passed;\n\t\tprojectMetrics.failed += data.failed;\n\t\tprojectMetrics.skipped += data.skipped;\n\t\tprojectMetrics.retries += data.retries;\n\t\tprojectMetrics.totalTests += data.totalTests;\n\t\tprojectMetrics.duration += Number( data.duration );\n\t\tprojectMetrics.labels = data.labels;\n\t\ttests.push( ...data.tests );\n\t}\n\n\tprojectMetrics.duration.toFixed( 3 );\n\n\tconst lines = [];\n\tconst labels = projectMetrics.labels;\n\t// Add Project metrics\n\tlines.push( '# HELP wdio_project_duration_seconds Total duration of all test suites per project' );\n\tlines.push( '# TYPE wdio_project_duration_seconds gauge' );\n\tlines.push( formatMetric( 'wdio_project_duration_seconds', projectMetrics.duration, { ...labels } ) );\n\n\tlines.push( '# HELP wdio_project_passed Number of tests passed per project' );\n\tlines.push( '# TYPE wdio_project_passed gauge' );\n\tlines.push( formatMetric( 'wdio_project_passed', projectMetrics.passed, { ...labels } ) );\n\n\tlines.push( '# HELP wdio_project_failed Number of tests failed per project' );\n\tlines.push( '# TYPE wdio_project_failed gauge' );\n\tlines.push( formatMetric( 'wdio_project_failed', projectMetrics.failed, { ...labels } ) );\n\n\tlines.push( '# HELP wdio_project_retries Number of test retries per project' );\n\tlines.push( '# TYPE wdio_project_retries gauge' );\n\tlines.push( formatMetric( 'wdio_project_retries', projectMetrics.retries, { ...labels } ) );\n\n\tlines.push( '# HELP wdio_project_skipped Number of tests skipped per project' );\n\tlines.push( '# TYPE wdio_project_skipped gauge' );\n\tlines.push( formatMetric( 'wdio_project_skipped', projectMetrics.skipped, { ...labels } ) );\n\n\tlines.push( '# HELP wdio_project_tests Total number of tests per project' );\n\tlines.push( '# TYPE wdio_project_tests gauge' );\n\tlines.push( formatMetric( 'wdio_project_tests', projectMetrics.totalTests, { ...labels } ) );\n\n\t// Add test metrics\n\n\tlet addMetaData = true;\n\tfor ( const test of tests ) {\n\t\tconst testLabels = { ...labels, test: test.name };\n\n\t\tif ( addMetaData ) {\n\t\t\tlines.push( '# HELP wdio_test_passed Number of tests passed (per test)' );\n\t\t\tlines.push( '# TYPE wdio_test_passed gauge' );\n\t\t\tlines.push( formatMetric( 'wdio_test_passed', test.passed, testLabels ) );\n\n\t\t\tlines.push( '# HELP wdio_test_failed Number of tests failed (per test)' );\n\t\t\tlines.push( '# TYPE wdio_test_failed gauge' );\n\t\t\tlines.push( formatMetric( 'wdio_test_failed', test.failed, testLabels ) );\n\n\t\t\tlines.push( '# HELP wdio_test_skipped Number of tests skipped (per test)' );\n\t\t\tlines.push( '# TYPE wdio_test_skipped gauge' );\n\t\t\tlines.push( formatMetric( 'wdio_test_skipped', test.skipped, testLabels ) );\n\n\t\t\tlines.push( '# HELP wdio_test_retries Number of test retries (per test)' );\n\t\t\tlines.push( '# TYPE wdio_test_retries gauge' );\n\t\t\tlines.push( formatMetric( 'wdio_test_retries', test.retries, testLabels ) );\n\n\t\t\tlines.push( '# HELP wdio_test_duration_max_seconds Max observed test duration (seconds per test)' );\n\t\t\tlines.push( '# TYPE wdio_test_duration_max_seconds gauge' );\n\t\t\tlines.push( formatMetric( 'wdio_test_duration_max_seconds', test.maxDuration.toFixed( 3 ), { ...testLabels } ) );\n\t\t\taddMetaData = false;\n\t\t} else {\n\t\t\tlines.push( formatMetric( 'wdio_test_passed', test.passed, testLabels ) );\n\t\t\tlines.push( formatMetric( 'wdio_test_failed', test.failed, testLabels ) );\n\t\t\tlines.push( formatMetric( 'wdio_test_skipped', test.skipped, testLabels ) );\n\t\t\tlines.push( formatMetric( 'wdio_test_retries', test.retries, testLabels ) );\n\t\t\tlines.push( formatMetric( 'wdio_test_duration_max_seconds', test.maxDuration.toFixed( 3 ), { ...testLabels } ) );\n\t\t}\n\t}\n\t// Only write the file if we have any tests https://phabricator.wikimedia.org/T407831\n\tif ( projectMetrics.totalTests > 0 ) {\n\t\tconst projectName = projectMetrics.labels.project;\n\t\twriteFileSync( path.join( metricsDir, `${ projectName }-${ fileName }.prom` ), `${ lines.join( '\\n' ) }\\n`, 'utf-8' );\n\t}\n}\n\nexport {\n\tPrometheusFileReporter,\n\twriteAllProjectMetrics\n};\n","usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-len","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/selenium/wdio-mediawiki/RunJobs.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-len","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/selenium/wdio-mediawiki/Util.js","messages":[{"ruleId":"max-len","severity":1,"message":"This line has a length of 103. Maximum allowed is 100.","line":32,"column":1,"nodeType":"Program","messageId":"max","endLine":32,"endColumn":92}],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"/**\n * Generate a random number string with some additional extended ASCII.\n *\n * @param {string} prefix A prefix to apply to the generated output.\n * @return {string}\n */\nexport function getTestString( prefix = '' ) {\n\treturn prefix + Math.random().toString() + '-Iñtërnâtiônàlizætiøn';\n}\n\n/**\n * Check if a page is (or, if it doesn't yet exist, would be by default) a wikitext content\n * object, as opposed to e.g. a JSON blob or a content model provided by an extension. This\n * is useful for when a target of a test requires wikitext behaviour, such as testing for\n * having a talk page, being subject to redirects, being editable, or similar concerns.\n *\n * @param {string} target The name of the page in question.\n * @return {Promise<boolean>} True if the target is not wikitext.\n */\nexport async function isTargetNotWikitext( target ) {\n\t// First, make sure that the 'mw' object should exist\n\tawait waitForModuleState( 'mediawiki.base' );\n\n\t// Then, ask the API for the basic 'info' data about the given page\n\treturn browser.executeAsync( ( target_, done ) => {\n\t\tmw.loader.using( 'mediawiki.api' ).then( () => {\n\t\t\tconst api = new mw.Api();\n\t\t\tapi.get( {\n\t\t\t\taction: 'query', prop: 'info', titles: target_,\n\t\t\t\tformat: 'json', formatversion: 2\n\t\t\t} ).then( ( result ) => {\n\t\t\t\t// Finally, return whether said page is wikitext (or would be, if it doesn't yet exist)\n\t\t\t\tdone( result.query.pages[ 0 ].contentmodel !== 'wikitext' );\n\t\t\t} );\n\t\t} );\n\t}, target );\n}\n\n/**\n * Wait for a given module to reach a specific state\n *\n * @param {string} moduleName The name of the module to wait for\n * @param {string} moduleStatus 'registered', 'loaded', 'loading', 'ready', 'error', 'missing'\n * @param {number} timeout The wait time in milliseconds before the wait fails\n */\nexport async function waitForModuleState( moduleName, moduleStatus = 'ready', timeout = 5000 ) {\n\n\t// Wait for the mediaWiki object to be available\n\tawait browser.waitUntil(\n\t\t() => browser.execute( () => typeof mw !== 'undefined' ),\n\t\t{ timeout, timeoutMsg: 'mw is not available' }\n\t);\n\n\t// Use the built in using when we wait for modules to become ready\n\tif ( moduleStatus === 'ready' ) {\n\t\tawait browser.waitUntil(\n\t\t\t() => browser.execute( () => typeof mw.loader.using === 'function' ),\n\t\t\t{ timeout, timeoutMsg: 'mw.loader.using is not available' }\n\t\t);\n\t\tawait browser.execute( async ( name ) => mw.loader.using( name ), moduleName );\n\t} else {\n\t\tawait browser.waitUntil(\n\t\t\tasync () => browser.execute(\n\t\t\t\t( arg ) => mw.loader.getState( arg.name ) === arg.status,\n\t\t\t\t{ status: moduleStatus, name: moduleName }\n\t\t\t), {\n\t\t\t\ttimeout: timeout,\n\t\t\t\ttimeoutMsg: 'The module ' + moduleName + ' never reached ' + moduleStatus + ' after ' + timeout + ' ms.'\n\t\t\t}\n\t\t);\n\t}\n}\n","usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-len","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/selenium/wdio-mediawiki/api/Auth.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-len","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/selenium/wdio-mediawiki/api/Cookies.js","messages":[{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'Iterable' is undefined.","line":13,"column":1,"nodeType":"Block","endLine":13,"endColumn":1}],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"/**\n * Collects cookies from HTTP responses and formats them into a Cookie header.\n */\nexport class Cookies {\n\n\tconstructor() {\n\t\tthis.pairs = {};\n\t}\n\n\t/**\n\t * Add cookies from Set-Cookie header lines.\n\t *\n\t * @param {Iterable<string>} setCookies - Iterable of `Set-Cookie` header lines.\n\t */\n\tgetCookiesFromHeaders( setCookies ) {\n\t\tfor ( const line of setCookies ) {\n\t\t\t// Take the first part of the cookie so we can pass it on the next time\n\t\t\tconst semi = line.indexOf( ';' );\n\t\t\tconst pair = semi === -1 ? line : line.slice( 0, semi );\n\t\t\tconst equalSign = pair.indexOf( '=' );\n\n\t\t\tconst name = pair.slice( 0, equalSign );\n\t\t\tconst value = pair.slice( equalSign + 1 );\n\n\t\t\tthis.pairs[ name ] = value;\n\t\t}\n\t}\n\n\t/**\n\t * Build the Cookie request header value.\n\t *\n\t * @return {string} e.g. \"a=1; b=2\" or \"\" if no cookies\n\t */\n\ttoHeader() {\n\t\tconst entries = Object.entries( this.pairs );\n\t\tif ( entries.length === 0 ) {\n\t\t\treturn '';\n\t\t}\n\n\t\treturn entries.map( ( [ name, value ] ) => `${ name }=${ value }` ).join( '; ' );\n\t}\n}\n","usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-len","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/selenium/wdio-mediawiki/api/MwApiHttpClient.js","messages":[],"suppressedMessages":[{"ruleId":"n/no-unsupported-features/node-builtins","severity":2,"message":"The 'Headers' is still an experimental feature and is not supported until Node.js 21.0.0. The configured version range is '>=16.0.0'.","line":25,"column":23,"nodeType":"Identifier","messageId":"not-supported-till","endLine":25,"endColumn":30,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"n/no-unsupported-features/node-builtins","severity":2,"message":"The 'AbortSignal.timeout' is still an experimental feature and is not supported until Node.js 17.3.0 (backported: ^16.14.0). The configured version range is '>=16.0.0'.","line":38,"column":19,"nodeType":"MemberExpression","messageId":"not-supported-till","endLine":38,"endColumn":38,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"n/no-unsupported-features/node-builtins","severity":2,"message":"The 'fetch' is still an experimental feature and is not supported until Node.js 21.0.0. The configured version range is '>=16.0.0'.","line":44,"column":27,"nodeType":"Identifier","messageId":"not-supported-till","endLine":44,"endColumn":32,"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-len","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/selenium/wdio-mediawiki/api/Page.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-len","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/selenium/wdio-mediawiki/api/User.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-len","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/selenium/wdio-mediawiki/index.js","messages":[],"suppressedMessages":[{"ruleId":"security/detect-non-literal-fs-filename","severity":1,"message":"Found mkdir from package \"fs/promises\" with non literal argument at index 0","line":44,"column":8,"nodeType":"CallExpression","endLine":44,"endColumn":89,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"n/no-unsupported-features/node-builtins","severity":2,"message":"The 'os.availableParallelism' is still an experimental feature and is not supported until Node.js 19.4.0 (backported: ^18.14.0). The configured version range is '>=16.0.0'.","line":121,"column":10,"nodeType":"MemberExpression","messageId":"not-supported-till","endLine":121,"endColumn":33,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"n/no-unsupported-features/node-builtins","severity":2,"message":"The 'os.availableParallelism' is still an experimental feature and is not supported until Node.js 19.4.0 (backported: ^18.14.0). The configured version range is '>=16.0.0'.","line":123,"column":4,"nodeType":"MemberExpression","messageId":"not-supported-till","endLine":123,"endColumn":27,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"n/no-unsupported-features/node-builtins","severity":2,"message":"The 'process.constrainedMemory' is still an experimental feature and is not supported until Node.js 22.16.0. The configured version range is '>=16.0.0'.","line":130,"column":23,"nodeType":"MemberExpression","messageId":"not-supported-till","endLine":130,"endColumn":48,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"n/no-unsupported-features/node-builtins","severity":2,"message":"The 'process.constrainedMemory' is still an experimental feature and is not supported until Node.js 22.16.0. The configured version range is '>=16.0.0'.","line":132,"column":3,"nodeType":"MemberExpression","messageId":"not-supported-till","endLine":132,"endColumn":28,"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-len","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/selenium/wdio-mediawiki/package.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/selenium/wdio-mediawiki/specs/BlankPage.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-len","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/selenium/wdio-mediawiki/wdio-defaults.conf.js","messages":[{"ruleId":"max-len","severity":1,"message":"This line has a length of 108. Maximum allowed is 100.","line":109,"column":1,"nodeType":"Program","messageId":"max","endLine":109,"endColumn":97}],"suppressedMessages":[{"ruleId":"n/no-process-exit","severity":2,"message":"Don't use process.exit(); throw an error instead.","line":27,"column":2,"nodeType":"CallExpression","messageId":"noProcessExit","endLine":27,"endColumn":19,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-underscore-dangle","severity":2,"message":"Unexpected dangling '_' in '_getActiveHandles'.","line":36,"column":56,"nodeType":"MemberExpression","messageId":"unexpectedUnderscore","endLine":36,"endColumn":81,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'credentials_enable_service' is not in camel case.","line":150,"column":5,"nodeType":"Identifier","messageId":"notCamelCase","endLine":150,"endColumn":31,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'wdio_target' is not in camel case.","line":205,"column":5,"nodeType":"Identifier","messageId":"notCamelCase","endLine":205,"endColumn":16,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"n/no-unsupported-features/node-builtins","severity":2,"message":"The 'dns.setDefaultResultOrder' is still an experimental feature and is not supported until Node.js 16.4.0 (backported: ^14.18.0). The configured version range is '>=16.0.0'.","line":234,"column":3,"nodeType":"MemberExpression","messageId":"not-supported-till","endLine":234,"endColumn":28,"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"/**\n * Base WebdriverIO configuration, meant to be imported from skins and extensions like so:\n *\n * import { config as wdioDefaults } from 'wdio-mediawiki/wdio-defaults.conf.js';\n *\n * export const config = { ...wdioDefaults,\n * logLevel: 'info',\n * }\n */\n\nlet ffmpeg;\nimport fs from 'fs';\nimport path from 'path';\nimport { PrometheusFileReporter, writeAllProjectMetrics } from './PrometheusFileReporter.js';\nconst logPath = process.env.LOG_DIR || path.join( process.cwd(), 'tests/selenium/log' );\nimport { makeFilenameDate, saveScreenshot, startVideo, stopVideo, logSystemInformation } from 'wdio-mediawiki';\n// T355556: remove when T324766 is resolved\nimport dns from 'dns';\n\nif ( !process.env.MW_SERVER || !process.env.MW_SCRIPT_PATH ) {\n\tthrow new Error( 'MW_SERVER or MW_SCRIPT_PATH not defined.\\nSee https://www.mediawiki.org/wiki/Selenium/How-to/Set_environment_variables\\n' );\n}\n\nprocess.on( 'uncaughtException', ( error ) => {\n\tconsole.error( 'Caught uncaughtException: ', error );\n\t// eslint-disable-next-line n/no-process-exit\n\tprocess.exit( 1 );\n} );\n\nprocess.on( 'unhandledRejection', ( reason, promise ) => {\n\tconsole.log( 'Unhandled Rejection at:', promise, 'reason:', reason );\n} );\n\n[ 'SIGINT', 'SIGTERM' ].forEach( ( signal ) => process.on( signal, () => {\n\t// eslint-disable-next-line no-underscore-dangle\n\tconsole.log( `Received ${ signal }. Active handles:`, process._getActiveHandles() );\n} )\n);\n\n/**\n * For more details documentation and available options:\n * - https://webdriver.io/docs/configurationfile\n * - https://webdriver.io/docs/configuration\n */\nexport const config = {\n\t// ==================\n\t// Runner Configuration\n\t// ==================\n\trunner: 'local',\n\n\t// ==================\n\t// Test Files\n\t// ==================\n\tspecs: [\n\t\t'./specs/**/*.js'\n\t],\n\t// Set the waitForTimeout for all wait for commands\n\t// https://v8.webdriver.io/docs/timeouts/#waitfor-timeout\n\twaitforTimeout: 10000,\n\t// ============\n\t// Capabilities\n\t// Define the different browser configurations to use (\"capabilities\") here.\n\t// ============\n\n\tmaxInstances: 1,\n\tcapabilities: [ {\n\t\t// ======\n\t\t// Custom conf keys for MediaWiki\n\t\t//\n\t\t// Access via `browser.options.<key>`.\n\t\t// Defaults are for MediaWiki-Docker\n\t\t// ======\n\t\t'mw:user': process.env.MEDIAWIKI_USER,\n\t\t'mw:pwd': process.env.MEDIAWIKI_PASSWORD,\n\n\t\t// Setting this enables automatic screenshots for when a browser command fails\n\t\t// It is also used by afterTest for capturing screenshots.\n\t\t'mw:screenshotPath': logPath,\n\n\t\t// Setting that enables video recording of the test.\n\t\t// Recording videos is currently supported only on Linux,\n\t\t// and is triggered by the DISPLAY value starting with a colon.\n\t\t// https://www.mediawiki.org/wiki/Selenium/How-to/Record_videos_of_test_runs\n\t\t'mw:recordVideo': true,\n\n\t\t// Browser width and height\n\t\t'mw:width': 1280,\n\t\t'mw:height': 1024,\n\n\t\t// For Chrome/Chromium https://www.w3.org/TR/webdriver\n\t\tbrowserName: 'chrome',\n\t\t// Use correct browser and driver in CI\n\t\t...( process.env.CI && {\n\t\t\t'wdio:chromedriverOptions': {\n\t\t\t\tbinary: '/usr/bin/chromedriver'\n\t\t\t}\n\t\t} ),\n\t\t// Can be changed when we update to newer browser versions\n\t\t// Bidi is still under development in Chrome/Firefox\n\t\t'wdio:enforceWebDriverClassic': true,\n\t\t'goog:chromeOptions': {\n\t\t\t...( process.env.CI && {\n\t\t\t\tbinary: '/usr/bin/chromium'\n\t\t\t} ),\n\t\t\t// If DISPLAY is set, assume developer asked non-headless or CI with Xvfb.\n\t\t\t// Otherwise, use --headless.\n\t\t\targs: [\n\t\t\t\t...( process.env.DISPLAY ? [] : [ '--headless' ] ),\n\t\t\t\t// Chrome sandbox does not work in Docker. Disable GPU to prevent crashes (T389536#10677201)\n\t\t\t\t// For disable-dev-shm-usage: We map /tmp to tmpfs for the container in CI\n\t\t\t\t...( fs.existsSync( '/.dockerenv' ) ? [ '--no-sandbox', '--disable-gpu', '--disable-dev-shm-usage' ] : [] ),\n\t\t\t\t// Disable as much as possible to make Chrome clean\n\t\t\t\t// https://github.com/GoogleChrome/chrome-launcher/blob/main/docs/chrome-flags-for-tools.md\n\t\t\t\t// https://peter.sh/experiments/chromium-command-line-switches/\n\t\t\t\t'--ash-no-nudges',\n\t\t\t\t'--disable-background-networking',\n\t\t\t\t'--disable-background-timer-throttling',\n\t\t\t\t'--disable-backgrounding-occluded-windows',\n\t\t\t\t'--disable-breakpad',\n\t\t\t\t'--disable-client-side-phishing-detection',\n\t\t\t\t'--disable-component-extensions-with-background-page',\n\t\t\t\t'--disable-component-update',\n\t\t\t\t'--disable-default-apps',\n\t\t\t\t'--disable-domain-reliability',\n\t\t\t\t'--disable-features=InterestFeedContentSuggestions',\n\t\t\t\t'--disable-features=Translate',\n\t\t\t\t'--disable-fetching-hints-at-navigation-start',\n\t\t\t\t'--disable-hang-monitor',\n\t\t\t\t'--disable-infobars',\n\t\t\t\t'--disable-ipc-flooding-protection',\n\t\t\t\t'--disable-prompt-on-repost',\n\t\t\t\t'--disable-renderer-backgrounding',\n\t\t\t\t'--disable-sync',\n\t\t\t\t'--disable-search-engine-choice-screen',\n\t\t\t\t'--disable-site-isolation-trials',\n\t\t\t\t'--mute-audio',\n\t\t\t\t'--no-default-browser-check',\n\t\t\t\t'--no-first-run',\n\t\t\t\t'--propagate-iph-for-testing',\n\t\t\t\t// Workaround inputs not working consistently post-navigation on Chrome 90\n\t\t\t\t// https://issuetracker.google.com/issues/42322798\n\t\t\t\t'--allow-pre-commit-input',\n\t\t\t\t// To disable save password popup together with prefs\n\t\t\t\t'--password-store=basic'\n\t\t\t],\n\t\t\tprefs: {\n\t\t\t\t// These setting disable the password save popup together\n\t\t\t\t// with --password-store=basic.\n\t\t\t\t// eslint-disable-next-line camelcase\n\t\t\t\tcredentials_enable_service: false,\n\t\t\t\t'profile.password_manager_enabled': false\n\t\t\t},\n\t\t\texcludeSwitches: [\n\t\t\t\t'enable-automation'\n\t\t\t]\n\t\t}\n\t} ],\n\n\t// ===================\n\t// Test Configurations\n\t// Define all options that are relevant for the WebdriverIO instance here\n\t// ===================\n\n\t// Level of logging verbosity: trace | debug | info | warn | error | silent\n\tlogLevel: 'error',\n\t// Stop after this many failures, or 0 to run all tests before reporting failures.\n\tbail: 0,\n\t// Base for browser.url() and wdio-mediawiki/Page#openTitle()\n\tbaseUrl: process.env.MW_SERVER + process.env.MW_SCRIPT_PATH,\n\t// See also: https://webdriver.io/docs/frameworks\n\tframework: 'mocha',\n\t// See also: https://mochajs.org\n\t// The number of times to retry the entire specfile when it fails as a whole\n\tspecFileRetries: 1,\n\t// Delay in seconds between the spec file retry attempts\n\tspecFileRetriesDelay: 0,\n\t// Whether or not retried specfiles should be retried immediately or deferred to the end of the\n\t// queue\n\tspecFileRetriesDeferred: false,\n\tmochaOpts: {\n\t\tui: 'bdd',\n\t\ttimeout: process.env.DEBUG ? ( 60 * 60 * 1000 ) : ( 60 * 1000 )\n\t},\n\t// See also: https://webdriver.io/docs/dot-reporter\n\treporters: [\n\t\t// See also: https://webdriver.io/docs/spec-reporter\n\t\t'spec',\n\t\t// See also: https://webdriver.io/docs/junit-reporter\n\t\t[ 'junit', {\n\t\t\toutputDir: logPath,\n\t\t\toutputFileFormat: function () {\n\t\t\t\tconst random = Math.random().toString( 16 ).slice( 2, 10 );\n\t\t\t\treturn `WDIO.xunit-${ makeFilenameDate() }-${ random }.xml`;\n\t\t\t}\n\t\t} ],\n\t\t[ PrometheusFileReporter, {\n\t\t\toutputDir: logPath,\n\t\t\toutputFileName: function () {\n\t\t\t\tconst random = Math.random().toString( 16 ).slice( 2, 10 );\n\t\t\t\treturn `WDIO.prometheus-${ makeFilenameDate() }-${ random }.prom`;\n\t\t\t},\n\t\t\ttags: {\n\t\t\t\tproject: process.env.npm_package_name || process.env.ZUUL_PROJECT || 'test',\n\t\t\t\t// eslint-disable-next-line camelcase\n\t\t\t\twdio_target: process.env.WDIO_TARGET || 'ci'\n\t\t\t}\n\t\t} ]\n\t],\n\n\t// =====\n\t// Hooks\n\t// =====\n\n\t/**\n\t * Gets executed once before all workers get launched.\n\t *\n\t * @param {Object} wdioConfig wdio configuration object\n\t */\n\tonPrepare: function ( wdioConfig ) {\n\t\tconsole.log( `Run test targeting ${ wdioConfig.baseUrl }` );\n\t\tlogSystemInformation();\n\t},\n\t/**\n\t * Gets executed just before initializing the webdriver session and test framework.\n\t * It allows you to manipulate configurations depending on the capability or spec.\n\t *\n\t * @param {Object} config wdio configuration object\n\t * @param {Array.<Object>} capabilities list of capabilities details\n\t * @param {Array.<string>} specs List of spec file paths that are to be run\n\t */\n\t// T355556: remove when T324766 is resolved\n\tbeforeSession: function () {\n\t\t// eslint-disable-next-line n/no-unsupported-features/node-builtins\n\t\tdns.setDefaultResultOrder( 'ipv4first' );\n\t},\n\n\t/**\n\t * Gets executed before test execution begins. At this point you can access to all global\n\t * variables like `browser`. It is the perfect place to define custom commands.\n\t *\n\t * @param {Array.<Object>} capabilities list of capabilities details\n\t * @param {Array.<string>} specs List of spec file paths that are to be run\n\t * @param {Object} browser instance of created browser/device session\n\t */\n\tbefore: async function () {\n\t\tawait browser.setWindowSize( browser.options.capabilities[ 'mw:width' ], browser.options.capabilities[ 'mw:height' ] );\n\t},\n\n\t/**\n\t * Executed before a Mocha test starts.\n\t *\n\t * @param {Object} test Mocha Test object\n\t */\n\tbeforeTest: async function ( test ) {\n\t\tif ( browser.options.capabilities[ 'mw:recordVideo' ] === true ) {\n\t\t\tffmpeg = await startVideo( ffmpeg, `${ test.parent }-${ test.title }` );\n\t\t}\n\t},\n\n\t/**\n\t * Executed after a Mocha test ends.\n\t *\n\t * @param {Object} test Mocha Test object\n\t * @param {Object} context scope object the test was executed with\n\t * @param {Object} result hook result\n\t */\n\tafterTest: async function ( test, context, result ) {\n\t\ttry {\n\t\t\tawait saveScreenshot( `${ test.parent }-${ test.title }${ result.passed ? '' : '-failed' }` );\n\t\t} finally {\n\t\t\tif ( browser.options.capabilities[ 'mw:recordVideo' ] === true ) {\n\t\t\t\tstopVideo( ffmpeg );\n\t\t\t}\n\t\t}\n\t},\n\n\t/**\n\t * Executed after all runners are done.\n\t */\n\tonComplete() {\n\t\tconst random = Math.random().toString( 16 ).slice( 2, 10 );\n\t\tconst fileName = `project-metrics-${ makeFilenameDate() }-${ random }`;\n\t\twriteAllProjectMetrics( logPath, fileName );\n\t}\n};\n","usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-len","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/selenium/wdio.conf.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-len","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]}]
--- end ---
$ /usr/bin/npm ci
--- stderr ---
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE package: '@wikimedia/codex@2.3.3',
npm WARN EBADENGINE required: { node: '>=20.19.1', npm: '>=10.8.2' },
npm WARN EBADENGINE current: { node: 'v20.19.2', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE package: '@wikimedia/codex-icons@2.3.3',
npm WARN EBADENGINE required: { node: '>=20.19.1', npm: '>=10.8.2' },
npm WARN EBADENGINE current: { node: 'v20.19.2', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN deprecated osenv@0.1.5: This package is no longer supported.
npm WARN deprecated inflight@1.0.6: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.
npm WARN deprecated @humanwhocodes/config-array@0.13.0: Use @eslint/config-array instead
npm WARN deprecated rimraf@3.0.2: Rimraf versions prior to v4 are no longer supported
npm WARN deprecated abab@2.0.6: Use your platform's native atob() and btoa() methods instead
npm WARN deprecated supertest@7.1.0: Please upgrade to supertest v7.1.3+, see release notes at https://github.com/forwardemail/supertest/releases/tag/v7.1.3 - maintenance is supported by Forward Email @ https://forwardemail.net
npm WARN deprecated @humanwhocodes/object-schema@2.0.3: Use @eslint/object-schema instead
npm WARN deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported
npm WARN deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported
npm WARN deprecated glob@8.1.0: Glob versions prior to v9 are no longer supported
npm WARN deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported
npm WARN deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported
npm WARN deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported
npm WARN deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported
npm WARN deprecated glob@7.1.7: Glob versions prior to v9 are no longer supported
npm WARN deprecated glob@7.1.7: Glob versions prior to v9 are no longer supported
npm WARN deprecated domexception@4.0.0: Use your platform's native DOMException instead
npm WARN deprecated node-domexception@1.0.0: Use your platform's native DOMException instead
npm WARN deprecated superagent@9.0.2: Please upgrade to superagent v10.2.2+, see release notes at https://github.com/forwardemail/superagent/releases/tag/v10.2.2 - maintenance is supported by Forward Email @ https://forwardemail.net
npm WARN deprecated eslint@8.57.1: This version is no longer supported. Please see https://eslint.org/version-support for other options.
--- stdout ---
added 1752 packages, and audited 1753 packages in 39s
230 packages are looking for funding
run `npm fund` for details
5 vulnerabilities (1 moderate, 4 high)
To address issues that do not require attention, run:
npm audit fix
To address all issues (including breaking changes), run:
npm audit fix --force
Run `npm audit` for details.
--- end ---
$ /usr/bin/npm test
--- stderr ---
[baseline-browser-mapping] The data in this module is over two months old. To ensure accurate Baseline data, please update: `npm i baseline-browser-mapping@latest -D`
[baseline-browser-mapping] The data in this module is over two months old. To ensure accurate Baseline data, please update: `npm i baseline-browser-mapping@latest -D`
[baseline-browser-mapping] The data in this module is over two months old. To ensure accurate Baseline data, please update: `npm i baseline-browser-mapping@latest -D`
[baseline-browser-mapping] The data in this module is over two months old. To ensure accurate Baseline data, please update: `npm i baseline-browser-mapping@latest -D`
PASS tests/jest/mediawiki.special.block/stores/block.test.js
PASS tests/jest/mediawiki.special.block/BlockLog.test.js
PASS tests/jest/mediawiki.skinning.typeaheadSearch/restSearchClient.test.js
PASS tests/jest/mediawiki.special.block/UserLookup.test.js
PASS tests/jest/mediawiki.special.block/util.test.js
PASS tests/jest/mediawiki.special.block/ExpiryField.test.js
PASS tests/jest/mediawiki.skinning.typeaheadSearch/fetch.test.js
PASS tests/jest/mediawiki.skinning.typeaheadSearch/App.test.js
PASS tests/jest/mediawiki.special.block/NamespacesField.test.js
PASS tests/jest/mediawiki.skinning.typeaheadSearch/instrumentation.test.js
PASS tests/jest/mediawiki.special.block/BlockDetailsField.test.js
PASS tests/jest/mediawiki.special.block/ReasonField.test.js
PASS tests/jest/mediawiki.special.block/init.test.js
PASS tests/jest/mediawiki.special.block/AdditionalDetailsField.test.js
PASS tests/jest/mediawiki.skinning.typeaheadSearch/urlGenerator.test.js
PASS tests/jest/mediawiki.special.block/SpecialBlock.test.js (15.592 s)
Jest: "/src/repo/resources/src/mediawiki.special.block/util.js" coverage threshold for lines (63%) not met: 62.5%
Test Suites: 16 passed, 16 total
Tests: 104 passed, 104 total
Snapshots: 3 passed, 3 total
Time: 23.808 s
Ran all test suites.
--- stdout ---
> test
> grunt lint && npm run doc && npm run jest
Running "eslint:all" (eslint) task
/src/repo/resources/src/jquery.lengthLimit.js
41:1 warning Syntax error in namepath: '$.fn.trimByteLength' jsdoc/valid-types
/src/repo/resources/src/jquery/jquery.makeCollapsible.js
441:1 warning Syntax error in namepath: ~'wikipage.collapsibleContent' jsdoc/valid-types
/src/repo/resources/src/mediawiki.action.edit/edit.js
12:1 warning Syntax error in namepath: ~'wikipage.editform' jsdoc/valid-types
/src/repo/resources/src/mediawiki.action/mediawiki.action.view.postEdit.js
21:1 warning Syntax error in namepath: ~'postEdit' jsdoc/valid-types
36:1 warning Syntax error in namepath: ~'postEdit.afterRemoval' jsdoc/valid-types
/src/repo/resources/src/mediawiki.api/index.js
213:1 warning The type 'JSON.parse' is undefined jsdoc/no-undefined-types
/src/repo/resources/src/mediawiki.authenticationPopup/AuthPopup.js
181:1 warning The type 'AuthPopup.CheckLoggedIn' is undefined jsdoc/no-undefined-types
/src/repo/resources/src/mediawiki.authenticationPopup/index.js
38:1 warning The type 'userinfo' is undefined jsdoc/no-undefined-types
/src/repo/resources/src/mediawiki.base/errorLogger.js
8:1 warning Syntax error in namepath: ~'global.error' jsdoc/valid-types
22:1 warning Syntax error in namepath: ~'error.caught' jsdoc/valid-types
/src/repo/resources/src/mediawiki.base/log.js
14:1 warning Found more than one @return declaration jsdoc/require-returns
14:1 warning Found more than one @return declaration jsdoc/require-returns-check
/src/repo/resources/src/mediawiki.base/mediawiki.base.js
224:1 warning The type 'mediawiki.inspect.runReports' is undefined jsdoc/no-undefined-types
250:1 warning The type 'mediawiki.inspect.js.html' is undefined jsdoc/no-undefined-types
/src/repo/resources/src/mediawiki.cookie/jar.js
74:23 warning Avoid direct access to document.cookie. Use mw.cookie instead mediawiki/no-cookie
93:23 warning Avoid direct access to document.cookie. Use mw.cookie instead mediawiki/no-cookie
/src/repo/resources/src/mediawiki.diff/inlineFormatToggle.js
150:1 warning Syntax error in namepath: ~'wikipage.diff.wikitextDiffBody' jsdoc/valid-types
162:1 warning Syntax error in namepath: ~'wikipage.diff.diffTypeSwitch' jsdoc/valid-types
/src/repo/resources/src/mediawiki.diff/undoButtonToggle.js
5:1 warning Missing JSDoc @param "$undoButton" type jsdoc/require-param-type
/src/repo/resources/src/mediawiki.editRecovery/edit.js
184:1 warning Syntax error in namepath: ~'editRecovery.loadEnd' jsdoc/valid-types
/src/repo/resources/src/mediawiki.htmlform/cond-state.js
48:1 warning Found more than one @return declaration jsdoc/require-returns-check
/src/repo/resources/src/mediawiki.htmlform/htmlform.js
5:1 warning Syntax error in namepath: ~'htmlform.enhance' jsdoc/valid-types
/src/repo/resources/src/mediawiki.inspect.js
112:2 warning Found more than one @return declaration jsdoc/require-returns
112:2 warning Found more than one @return declaration jsdoc/require-returns-check
309:18 warning Avoid direct access to localStorage. Use mw.storage instead mediawiki/no-storage
/src/repo/resources/src/mediawiki.jqueryMsg/mediawiki.jqueryMsg.js
148:1 warning Found more than one @return declaration jsdoc/require-returns
148:1 warning Found more than one @return declaration jsdoc/require-returns-check
338:2 warning @throws should have a type jsdoc/require-throws-type
/src/repo/resources/src/mediawiki.language.months/months.js
44:1 warning The type 'Months' is undefined jsdoc/no-undefined-types
/src/repo/resources/src/mediawiki.notification.convertmessagebox.js
13:1 warning Syntax error in namepath: (require("mediawiki.notification.convertmessagebox")) jsdoc/valid-types
/src/repo/resources/src/mediawiki.notification/notification.js
75:1 warning Missing JSDoc @param "message" type jsdoc/require-param-type
76:1 warning Missing JSDoc @param "options" type jsdoc/require-param-type
/src/repo/resources/src/mediawiki.page.gallery.slideshow.js
138:22 warning OOUI button has no label. Even icon-only buttons should set a label with invisibleLabel set to true mediawiki/no-unlabeled-buttonwidget
143:22 warning OOUI button has no label. Even icon-only buttons should set a label with invisibleLabel set to true mediawiki/no-unlabeled-buttonwidget
148:24 warning OOUI button has no label. Even icon-only buttons should set a label with invisibleLabel set to true mediawiki/no-unlabeled-buttonwidget
/src/repo/resources/src/mediawiki.page.preview.js
416:1 warning Syntax error in namepath: ~'wikipage.tableOfContents' jsdoc/valid-types
697:1 warning The type 'Hooks.wikipage.categories' is undefined jsdoc/no-undefined-types
698:1 warning The type 'Hooks.wikipage.content' is undefined jsdoc/no-undefined-types
699:1 warning The type 'Hooks.wikipage.diff' is undefined jsdoc/no-undefined-types
700:1 warning The type 'Hooks.wikipage.indicators' is undefined jsdoc/no-undefined-types
701:1 warning The type 'Hooks.wikipage.tableOfContents' is undefined jsdoc/no-undefined-types
/src/repo/resources/src/mediawiki.page.ready/enableSearchDialog.js
19:21 warning Found non-literal argument in require security/detect-non-literal-require
/src/repo/resources/src/mediawiki.page.ready/ready.js
98:1 warning Syntax error in namepath: ~'wikipage.indicators' jsdoc/valid-types
118:1 warning Syntax error in namepath: ~'wikipage.content' jsdoc/valid-types
139:1 warning Syntax error in namepath: ~'wikipage.categories' jsdoc/valid-types
152:1 warning The type 'Hooks.wikipage.content' is undefined jsdoc/no-undefined-types
155:1 warning Syntax error in namepath: ~'wikipage.diff' jsdoc/valid-types
186:1 warning Syntax error in namepath: ~'skin.logout' jsdoc/valid-types
296:21 warning Found non-literal argument in require security/detect-non-literal-require
331:7 warning Avoid direct access to sessionStorage. Use mw.storage.session instead mediawiki/no-storage
/src/repo/resources/src/mediawiki.page.watch.ajax/watch-ajax.js
128:1 warning Syntax error in namepath: ~'wikipage.watchlistChange' jsdoc/valid-types
152:1 warning The type 'Hooks.wikipage.watchlistChange' is undefined jsdoc/no-undefined-types
178:1 warning The type 'Hooks.wikipage.watchlistChange' is undefined jsdoc/no-undefined-types
/src/repo/resources/src/mediawiki.rcfilters/Controller.js
330:1 warning Found more than one @return declaration jsdoc/require-returns
330:1 warning Found more than one @return declaration jsdoc/require-returns-check
550:1 warning Syntax error in namepath: ~'RcFilters.highlight.enable' jsdoc/valid-types
/src/repo/resources/src/mediawiki.rcfilters/dm/FilterItem.js
81:1 warning Found more than one @return declaration jsdoc/require-returns
81:1 warning Found more than one @return declaration jsdoc/require-returns-check
335:1 warning The type 'update' is undefined jsdoc/no-undefined-types
351:1 warning The type 'update' is undefined jsdoc/no-undefined-types
366:1 warning The type 'update' is undefined jsdoc/no-undefined-types
/src/repo/resources/src/mediawiki.rcfilters/dm/FiltersViewModel.js
1200:1 warning The type 'searchChange' is undefined jsdoc/no-undefined-types
/src/repo/resources/src/mediawiki.rcfilters/mw.rcfilters.js
209:1 warning Syntax error in namepath: ~'structuredChangeFilters.ui.initialized' jsdoc/valid-types
/src/repo/resources/src/mediawiki.rcfilters/ui/FilterMenuHeaderWidget.js
33:20 warning OOUI button has no label. Even icon-only buttons should set a label with invisibleLabel set to true mediawiki/no-unlabeled-buttonwidget
42:18 warning OOUI button has no label. Even icon-only buttons should set a label with invisibleLabel set to true mediawiki/no-unlabeled-buttonwidget
62:26 warning OOUI button has no label. Even icon-only buttons should set a label with invisibleLabel set to true mediawiki/no-unlabeled-buttonwidget
67:32 warning OOUI button has no label. Even icon-only buttons should set a label with invisibleLabel set to true mediawiki/no-unlabeled-buttonwidget
72:30 warning OOUI button has no label. Even icon-only buttons should set a label with invisibleLabel set to true mediawiki/no-unlabeled-buttonwidget
/src/repo/resources/src/mediawiki.rcfilters/ui/FilterTagMultiselectWidget.js
107:21 warning OOUI button has no label. Even icon-only buttons should set a label with invisibleLabel set to true mediawiki/no-unlabeled-buttonwidget
112:24 warning OOUI button has no label. Even icon-only buttons should set a label with invisibleLabel set to true mediawiki/no-unlabeled-buttonwidget
427:1 warning Syntax error in namepath: ~'RcFilters.popup.open' jsdoc/valid-types
/src/repo/resources/src/mediawiki.rcfilters/ui/FilterWrapperWidget.js
69:28 warning OOUI button has no label. Even icon-only buttons should set a label with invisibleLabel set to true mediawiki/no-unlabeled-buttonwidget
/src/repo/resources/src/mediawiki.rcfilters/ui/HighlightColorPickerWidget.js
36:17 warning OOUI button has no label. Even icon-only buttons should set a label with invisibleLabel set to true mediawiki/no-unlabeled-buttonwidget
/src/repo/resources/src/mediawiki.rcfilters/ui/ItemMenuOptionWidget.js
59:19 warning OOUI button has no label. Even icon-only buttons should set a label with invisibleLabel set to true mediawiki/no-unlabeled-buttonwidget
/src/repo/resources/src/mediawiki.rcfilters/ui/SavedLinksListItemWidget.js
27:20 warning OOUI button has no label. Even icon-only buttons should set a label with invisibleLabel set to true mediawiki/no-unlabeled-buttonwidget
59:20 warning OOUI button has no label. Even icon-only buttons should set a label with invisibleLabel set to true mediawiki/no-unlabeled-buttonwidget
/src/repo/resources/src/mediawiki.searchSuggest/searchSuggest.js
36:1 warning The type 'ResponseMetaData' is undefined jsdoc/no-undefined-types
43:1 warning The type 'ResponseFunction' is undefined jsdoc/no-undefined-types
/src/repo/resources/src/mediawiki.skinning.typeaheadSearch/App.vue
76:3 warning Prop 'router' requires default value to be set vue/require-default-prop
225:1 warning The type 'AbortableSearchFetch' is undefined jsdoc/no-undefined-types
309:1 warning The type 'SearchSubmitEvent' is undefined jsdoc/no-undefined-types
/src/repo/resources/src/mediawiki.skinning.typeaheadSearch/fetch.js
21:1 warning The type 'RequestInit' is undefined jsdoc/no-undefined-types
/src/repo/resources/src/mediawiki.skinning.typeaheadSearch/instrumentation.js
2:1 warning The type 'FetchEndEvent' is undefined jsdoc/no-undefined-types
16:1 warning The type 'SuggestionClickEvent' is undefined jsdoc/no-undefined-types
16:1 warning The type 'SearchSubmitEvent' is undefined jsdoc/no-undefined-types
/src/repo/resources/src/mediawiki.skinning.typeaheadSearch/restSearchClient.js
4:1 warning Syntax error in type: import('./urlGenerator.js').UrlGenerator jsdoc/valid-types
11:1 warning The type 'RestResult' is undefined jsdoc/no-undefined-types
17:1 warning The type 'SearchResult' is undefined jsdoc/no-undefined-types
86:1 warning The type 'fetchRecommendationByTitle' is undefined jsdoc/no-undefined-types
100:1 warning The type 'fetchRecommendationByTitle' is undefined jsdoc/no-undefined-types
/src/repo/resources/src/mediawiki.skinning.typeaheadSearch/urlGenerator.js
2:1 warning The type 'Record' is undefined jsdoc/no-undefined-types
9:1 warning The type 'RestResult' is undefined jsdoc/no-undefined-types
9:1 warning The type 'SearchResult' is undefined jsdoc/no-undefined-types
30:1 warning The type 'RestResult' is undefined jsdoc/no-undefined-types
30:1 warning The type 'SearchResult' is undefined jsdoc/no-undefined-types
/src/repo/resources/src/mediawiki.special.apisandbox/ApiSandbox.js
501:9 warning OOUI button has no label. Even icon-only buttons should set a label with invisibleLabel set to true mediawiki/no-unlabeled-buttonwidget
/src/repo/resources/src/mediawiki.special.apisandbox/ApiSandboxLayout.js
44:1 warning Found more than one @return declaration jsdoc/require-returns
44:1 warning Found more than one @return declaration jsdoc/require-returns-check
403:19 warning OOUI button has no label. Even icon-only buttons should set a label with invisibleLabel set to true mediawiki/no-unlabeled-buttonwidget
584:7 warning OOUI button has no label. Even icon-only buttons should set a label with invisibleLabel set to true mediawiki/no-unlabeled-buttonwidget
/src/repo/resources/src/mediawiki.special.block/init.js
26:1 warning Syntax error in namepath: ~'SpecialBlock.block' jsdoc/valid-types
36:1 warning Syntax error in namepath: ~'SpecialBlock.form' jsdoc/valid-types
/src/repo/resources/src/mediawiki.storage/index.js
50:18 warning Avoid direct access to localStorage. Use mw.storage instead mediawiki/no-storage
55:18 warning Avoid direct access to sessionStorage. Use mw.storage.session instead mediawiki/no-storage
/src/repo/resources/src/mediawiki.template.js
26:1 warning The type 'TemplateRenderer' is undefined jsdoc/no-undefined-types
40:1 warning The type 'TemplateRenderFunction' is undefined jsdoc/no-undefined-types
45:1 warning The type 'TemplateCompileFunction' is undefined jsdoc/no-undefined-types
61:1 warning The type 'TemplateCompiler' is undefined jsdoc/no-undefined-types
88:1 warning The type 'TemplateCompiler' is undefined jsdoc/no-undefined-types
107:1 warning The type 'TemplateRenderer' is undefined jsdoc/no-undefined-types
125:1 warning The type 'TemplateRenderer' is undefined jsdoc/no-undefined-types
147:1 warning The type 'TemplateRenderer' is undefined jsdoc/no-undefined-types
/src/repo/resources/src/mediawiki.util/util.js
589:1 warning The type 'Hooks.util.addPortlet' is undefined jsdoc/no-undefined-types
628:1 warning Syntax error in namepath: ~'util.addPortlet' jsdoc/valid-types
702:1 warning The type 'Hooks.util.addPortletLink' is undefined jsdoc/no-undefined-types
797:1 warning Syntax error in namepath: ~'util.addPortletLink' jsdoc/valid-types
1078:2 warning Missing JSDoc @return declaration jsdoc/require-returns
/src/repo/resources/src/mediawiki.widgets.datetime/CalendarWidget.js
114:5 warning OOUI button has no label. Even icon-only buttons should set a label with invisibleLabel set to true mediawiki/no-unlabeled-buttonwidget
120:5 warning OOUI button has no label. Even icon-only buttons should set a label with invisibleLabel set to true mediawiki/no-unlabeled-buttonwidget
/src/repo/resources/src/mediawiki.widgets.datetime/DateTimeFormatter.js
268:1 warning The type 'FieldSpecificationObject' is undefined jsdoc/no-undefined-types
632:1 warning The type 'CalendarGridData' is undefined jsdoc/no-undefined-types
/src/repo/resources/src/mediawiki.widgets.datetime/DateTimeInputWidget.js
449:23 warning OOUI button has no label. Even icon-only buttons should set a label with invisibleLabel set to true mediawiki/no-unlabeled-buttonwidget
/src/repo/resources/src/mediawiki.widgets.datetime/DiscordianDateTimeFormatter.js
74:1 warning The type 'FieldSpecificationObject' is undefined jsdoc/no-undefined-types
/src/repo/resources/src/mediawiki.widgets.datetime/ProlepticGregorianDateTimeFormatter.js
306:1 warning The type 'FieldSpecificationObject' is undefined jsdoc/no-undefined-types
/src/repo/resources/src/mediawiki.widgets/Table/mw.widgets.RowWidget.js
47:23 warning OOUI button has no label. Even icon-only buttons should set a label with invisibleLabel set to true mediawiki/no-unlabeled-buttonwidget
/src/repo/resources/src/mediawiki.widgets/mw.widgets.CalendarWidget.js
355:22 warning OOUI button has no label. Even icon-only buttons should set a label with invisibleLabel set to true mediawiki/no-unlabeled-buttonwidget
363:19 warning OOUI button has no label. Even icon-only buttons should set a label with invisibleLabel set to true mediawiki/no-unlabeled-buttonwidget
369:21 warning OOUI button has no label. Even icon-only buttons should set a label with invisibleLabel set to true mediawiki/no-unlabeled-buttonwidget
375:21 warning OOUI button has no label. Even icon-only buttons should set a label with invisibleLabel set to true mediawiki/no-unlabeled-buttonwidget
/src/repo/resources/src/mediawiki.widgets/mw.widgets.ExpiryInputWidget.js
36:5 warning OOUI button has no label. Even icon-only buttons should set a label with invisibleLabel set to true mediawiki/no-unlabeled-buttonwidget
40:5 warning OOUI button has no label. Even icon-only buttons should set a label with invisibleLabel set to true mediawiki/no-unlabeled-buttonwidget
/src/repo/resources/src/mediawiki.widgets/mw.widgets.NamespaceInputWidget.js
50:1 warning The type 'DropdownOptions' is undefined jsdoc/no-undefined-types
/src/repo/resources/src/startup/mediawiki.loader.js
61:1 warning Syntax error in namepath: ~'resourceloader.exception' jsdoc/valid-types
/src/repo/tests/qunit/data/testrunner.js
112:2 warning Missing JSDoc @return declaration jsdoc/require-returns
/src/repo/tests/qunit/resources/startup/mw.loader.test.js
30:5 warning Avoid direct access to localStorage. Use mw.storage instead mediawiki/no-storage
1072:3 warning Avoid direct access to localStorage. Use mw.storage instead mediawiki/no-storage
1081:3 warning Avoid direct access to localStorage. Use mw.storage instead mediawiki/no-storage
1090:3 warning Avoid direct access to localStorage. Use mw.storage instead mediawiki/no-storage
1103:3 warning Avoid direct access to localStorage. Use mw.storage instead mediawiki/no-storage
/src/repo/tests/selenium/specs/page.js
79:1 warning This line has a length of 103. Maximum allowed is 100 max-len
/src/repo/tests/selenium/wdio-mediawiki/Api.js
65:1 warning Missing JSDoc @param "params" type jsdoc/require-param-type
/src/repo/tests/selenium/wdio-mediawiki/PrometheusFileReporter.js
158:3 warning Found writeFileSync from package "fs" with non literal argument at index 0 security/detect-non-literal-fs-filename
173:22 warning Found readdirSync from package "fs" with non literal argument at index 0 security/detect-non-literal-fs-filename
178:28 warning Found readFileSync from package "fs" with non literal argument at index 0 security/detect-non-literal-fs-filename
260:3 warning Found writeFileSync from package "fs" with non literal argument at index 0 security/detect-non-literal-fs-filename
/src/repo/tests/selenium/wdio-mediawiki/Util.js
32:1 warning This line has a length of 103. Maximum allowed is 100 max-len
/src/repo/tests/selenium/wdio-mediawiki/api/Cookies.js
13:1 warning The type 'Iterable' is undefined jsdoc/no-undefined-types
/src/repo/tests/selenium/wdio-mediawiki/wdio-defaults.conf.js
109:1 warning This line has a length of 108. Maximum allowed is 100 max-len
✖ 148 problems (0 errors, 148 warnings)
Running "banana:core" (banana) task
>> 1 message directory checked.
Running "banana:botpasswords" (banana) task
>> 1 message directory checked.
Running "banana:codex" (banana) task
>> 1 message directory checked.
Running "banana:datetime" (banana) task
>> 1 message directory checked.
Running "banana:exif" (banana) task
>> 1 message directory checked.
Running "banana:nontranslatable" (banana) task
>> 1 message directory checked.
Running "banana:interwiki" (banana) task
>> 1 message directory checked.
Running "banana:preferences" (banana) task
>> 1 message directory checked.
Running "banana:languageconverter" (banana) task
>> 1 message directory checked.
Running "banana:api" (banana) task
>> 1 message directory checked.
Running "banana:rest" (banana) task
>> 1 message directory checked.
Running "banana:installer" (banana) task
>> 1 message directory checked.
Running "banana:paramvalidator" (banana) task
>> 1 message directory checked.
Running "stylelint:resources" (stylelint) task
>> resources/src/mediawiki.skinning/content.media-dark.less
>> 31:1 ⚠ Unexpected browser feature "prefers-color-scheme" is not supported by Firefox 49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66, Chrome 49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75, Safari 10,11,12,10.1,11.1, Safari on iOS 10.0-10.2,10.3,11.0-11.2,11.3-11.4,12.0-12.1,12.2-12.5 plugin/no-unsupported-browser-features
>>
>> resources/src/mediawiki.special/userrights.less
>> 27:4 ⚠ Unexpected browser feature "css-has" is not supported by Edge 79,80,81,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104, Firefox 49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120, Chrome 49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104, Safari 10,11,12,13,14,15,10.1,11.1,12.1,13.1,14.1,15.1,15.2-15.3, Safari on iOS 10.0-10.2,10.3,11.0-11.2,11.3-11.4,12.0-12.1,12.2-12.5,13.0-13.1,13.2,13.3,13.4-13.7,14.0-14.4,14.5-14.8,15.0-15.1,15.2-15.3 plugin/no-unsupported-browser-features
>>
>> ⚠ 2 problems (0 errors, 2 warnings)
⚠ 2 warnings
>> Linted 218 files without errors
Running "stylelint:config" (stylelint) task
>> Linted 1 files without errors
Done.
> doc
> jsdoc -c jsdoc.json
> jest
> jest --config tests/jest/jest.config.js
------------------------------------|---------|----------|---------|---------|---------------------------------------------------------------------------------------------------------------------
File | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s
------------------------------------|---------|----------|---------|---------|---------------------------------------------------------------------------------------------------------------------
All files | 92.21 | 89.14 | 77 | 92.21 |
mediawiki.skinning.typeaheadSearch | 85.71 | 77.77 | 56.25 | 85.71 |
App.vue | 76.41 | 69.23 | 16.66 | 76.41 | 176,211-213,218-221,229-252,256-263,272-282,292-305,312-313,317-321,325,329-332,337-340,344-348,353,358-359,365-367
TypeaheadSearchWrapper.vue | 94.24 | 66.66 | 100 | 94.24 | 54-61
fetch.js | 100 | 87.5 | 75 | 100 | 31
instrumentation.js | 82.82 | 100 | 60 | 82.82 | 4-13,18-24
restSearchClient.js | 97.4 | 77.77 | 85.71 | 97.4 | 113-115,134
urlGenerator.js | 88.33 | 66.66 | 100 | 88.33 | 43-49
mediawiki.special.block | 89.51 | 93.22 | 82.35 | 89.51 |
SpecialBlock.vue | 93.89 | 93.18 | 72.72 | 93.89 | 245-254,297-302,308-322,440-441,452-454
init.js | 100 | 100 | 100 | 100 |
util.js | 62.5 | 90.9 | 100 | 62.5 | 66-107
mediawiki.special.block/components | 95.12 | 91.93 | 87.8 | 95.12 |
AdditionalDetailsField.vue | 100 | 80 | 100 | 100 | 68
BlockDetailsField.vue | 100 | 100 | 100 | 100 |
BlockLog.vue | 98.94 | 100 | 83.33 | 98.94 | 337-340,401
BlockTypeField.vue | 95.04 | 50 | 100 | 95.04 | 73-77
ConfirmationDialog.vue | 96.34 | 100 | 50 | 96.34 | 70-72
ExpiryField.vue | 95.07 | 89.47 | 100 | 95.07 | 145-146,148-149,177-186,245-246
NamespacesField.vue | 90.42 | 88.88 | 66.66 | 90.42 | 60-68
PagesField.vue | 70.06 | 50 | 50 | 70.06 | 46-47,56-57,72-79,88-90,97-118,127-133
ReasonField.vue | 97.22 | 93.75 | 100 | 97.22 | 101-104
UserLookup.vue | 97.74 | 95.23 | 100 | 97.74 | 145-147,196-198,231-232
ValidatingTextInput.js | 100 | 100 | 100 | 100 |
mediawiki.special.block/stores | 95.66 | 87.5 | 90 | 95.66 |
block.js | 95.66 | 87.5 | 90 | 95.66 | 323-324,433-434,436-437,457-458,461-462,465-466,480-495
------------------------------------|---------|----------|---------|---------|---------------------------------------------------------------------------------------------------------------------
--- end ---
$ node_modules/.bin/jest -u
--- stderr ---
[baseline-browser-mapping] The data in this module is over two months old. To ensure accurate Baseline data, please update: `npm i baseline-browser-mapping@latest -D`
[baseline-browser-mapping] The data in this module is over two months old. To ensure accurate Baseline data, please update: `npm i baseline-browser-mapping@latest -D`
[baseline-browser-mapping] The data in this module is over two months old. To ensure accurate Baseline data, please update: `npm i baseline-browser-mapping@latest -D`
FAIL tests/qunit/resources/mediawiki.jqueryMsg.test.js
● Test suite failed to run
Cannot find module 'mediawiki.jqueryMsg' from 'tests/qunit/resources/mediawiki.jqueryMsg.test.js'
1 | ( function () {
> 2 | const jqueryMsg = require( 'mediawiki.jqueryMsg' ).test;
| ^
3 |
4 | /* eslint-disable camelcase */
5 | let formatText, formatParse, specialCharactersPageName, expectedListUsers,
at Resolver._throwModNotFoundError (node_modules/jest-resolve/build/resolver.js:427:11)
at require (tests/qunit/resources/mediawiki.jqueryMsg.test.js:2:20)
at Object.<anonymous> (tests/qunit/resources/mediawiki.jqueryMsg.test.js:1511:2)
FAIL tests/qunit/resources/jquery.tablesorter.test.js
● Test suite failed to run
ReferenceError: QUnit is not defined
> 1 | QUnit.module( 'jquery.tablesorter', QUnit.newMwEnvironment( {
| ^
2 | beforeEach: function () {
3 | this.liveMonths = mw.language.months;
4 | mw.language.months = {
at Object.<anonymous> (tests/qunit/resources/jquery.tablesorter.test.js:1:61)
FAIL tests/qunit/resources/mediawiki.rcfilters/dm.FiltersViewModel.test.js
● Test suite failed to run
Cannot find module 'mediawiki.rcfilters.filters.ui' from 'tests/qunit/resources/mediawiki.rcfilters/dm.FiltersViewModel.test.js'
1 | /* eslint-disable camelcase */
2 | ( function () {
> 3 | const rcfilters = require( 'mediawiki.rcfilters.filters.ui' );
| ^
4 | const filterDefinition = [ {
5 | name: 'group1',
6 | type: 'send_unselected_if_any',
at Resolver._throwModNotFoundError (node_modules/jest-resolve/build/resolver.js:427:11)
at require (tests/qunit/resources/mediawiki.rcfilters/dm.FiltersViewModel.test.js:3:20)
at Object.<anonymous> (tests/qunit/resources/mediawiki.rcfilters/dm.FiltersViewModel.test.js:1548:2)
FAIL tests/qunit/resources/startup/mw.loader.test.js
● Test suite failed to run
ReferenceError: QUnit is not defined
1 | ( function () {
> 2 | QUnit.module( 'mw.loader', QUnit.newMwEnvironment( {
| ^
3 | beforeEach: function ( assert ) {
4 | // Expose for load.mock.php
5 | mw.loader.testFail = function ( reason ) {
at QUnit (tests/qunit/resources/startup/mw.loader.test.js:2:2)
at Object.<anonymous> (tests/qunit/resources/startup/mw.loader.test.js:1236:2)
FAIL tests/qunit/resources/mediawiki.language.test.js
● Test suite failed to run
ReferenceError: QUnit is not defined
2 | 'use strict';
3 |
> 4 | QUnit.module( 'mediawiki.language', QUnit.newMwEnvironment( {
| ^
5 | beforeEach: function () {
6 | this.userLang = mw.config.get( 'wgUserLanguage' );
7 | this.liveLangData = mw.language.data;
at QUnit (tests/qunit/resources/mediawiki.language.test.js:4:2)
at Object.<anonymous> (tests/qunit/resources/mediawiki.language.test.js:914:2)
FAIL tests/qunit/resources/mediawiki.util/util.test.js
● Test suite failed to run
ReferenceError: QUnit is not defined
> 1 | QUnit.module( 'mediawiki.util', QUnit.newMwEnvironment( {
| ^
2 | messages: {
3 | // Used by accessKeyLabel in test for addPortletLink
4 | brackets: '[$1]',
at Object.<anonymous> (tests/qunit/resources/mediawiki.util/util.test.js:1:57)
FAIL tests/qunit/resources/mediawiki.Title.test.js
● Test suite failed to run
ReferenceError: QUnit is not defined
75 | };
76 |
> 77 | QUnit.module( 'mediawiki.Title', QUnit.newMwEnvironment( {
| ^
78 | // mw.Title relies on these three config vars
79 | // Restore them after each test run
80 | config: {
at QUnit (tests/qunit/resources/mediawiki.Title.test.js:77:2)
at Object.<anonymous> (tests/qunit/resources/mediawiki.Title.test.js:790:2)
FAIL tests/qunit/resources/jquery.makeCollapsible.test.js
● Test suite failed to run
ReferenceError: QUnit is not defined
1 | /* eslint-disable no-jquery/no-class-state */
> 2 | QUnit.module( 'jquery.makeCollapsible', () => {
| ^
3 | const loremIpsum = 'Lorem ipsum dolor sit amet, consectetuer adipiscing elit.';
4 |
5 | /**
at Object.QUnit (tests/qunit/resources/jquery.makeCollapsible.test.js:2:1)
FAIL tests/qunit/resources/mediawiki.Uri.test.js
● Test suite failed to run
ReferenceError: QUnit is not defined
> 1 | QUnit.module( 'mediawiki.Uri', ( hooks ) => {
| ^
2 | hooks.beforeEach( function () {
3 | this.sandbox.replace( mw, 'Uri', mw.UriRelative( 'http://example.org/w/index.php' ) );
4 | } );
at Object.<anonymous> (tests/qunit/resources/mediawiki.Uri.test.js:1:45)
FAIL tests/qunit/resources/mediawiki.api/mediawiki.api.test.js
● Test suite failed to run
ReferenceError: QUnit is not defined
> 1 | QUnit.module( 'mediawiki.api', ( hooks ) => {
| ^
2 | const originalFormData = window.FormData;
3 | const originalMwVersion = mw.config.get( 'wgVersion' );
4 | hooks.beforeEach( function () {
at Object.<anonymous> (tests/qunit/resources/mediawiki.api/mediawiki.api.test.js:1:45)
FAIL tests/qunit/resources/mediawiki.rcfilters/dm.SavedQueriesModel.test.js
● Test suite failed to run
Cannot find module 'mediawiki.rcfilters.filters.ui' from 'tests/qunit/resources/mediawiki.rcfilters/dm.SavedQueriesModel.test.js'
1 | /* eslint-disable camelcase */
2 | ( function () {
> 3 | const rcfilters = require( 'mediawiki.rcfilters.filters.ui' );
| ^
4 | const filterDefinition = [ {
5 | name: 'group1',
6 | type: 'send_unselected_if_any',
at Resolver._throwModNotFoundError (node_modules/jest-resolve/build/resolver.js:427:11)
at require (tests/qunit/resources/mediawiki.rcfilters/dm.SavedQueriesModel.test.js:3:20)
at Object.<anonymous> (tests/qunit/resources/mediawiki.rcfilters/dm.SavedQueriesModel.test.js:608:2)
FAIL tests/jest/mediawiki.special.block/SpecialBlock.test.js
● Test suite failed to run
Jest encountered an unexpected token
Jest failed to parse a file. This happens e.g. when your code or its dependencies use non-standard JavaScript syntax, or when Jest is not configured to support such syntax.
Out of the box Jest supports Babel, which will be used to transform your files into valid JS based on your Babel configuration.
By default "node_modules" folder is ignored by transformers.
Here's what you can do:
• If you are trying to use ECMAScript Modules, see https://jestjs.io/docs/ecmascript-modules for how to enable it.
• If you are trying to use TypeScript, see https://jestjs.io/docs/getting-started#using-typescript
• To have some of your "node_modules" files transformed, you can specify a custom "transformIgnorePatterns" in your config.
• If you need a custom transformation specify a "transform" option in your config.
• If you simply want to mock your non-JS modules (e.g. binary assets) you can stub them out with the "moduleNameMapper" config option.
You'll find more details and examples of these config options in the docs:
https://jestjs.io/docs/configuration
For information about custom transformations, see:
https://jestjs.io/docs/code-transformation
Details:
/src/repo/resources/src/mediawiki.special.block/SpecialBlock.vue:1
({"Object.<anonymous>":function(module,exports,require,__dirname,__filename,jest){<template>
^
SyntaxError: Unexpected token '<'
4 | const { createTestingPinia } = require( '@pinia/testing' );
5 |
> 6 | const SpecialBlock = require( '../../../resources/src/mediawiki.special.block/SpecialBlock.vue' );
| ^
7 |
8 | /**
9 | * Mount the SpecialBlock component with the default configuration,
at Runtime.createScriptFromCode (node_modules/jest-runtime/build/index.js:1505:14)
at Object.require (tests/jest/mediawiki.special.block/SpecialBlock.setup.js:6:22)
at Object.require (tests/jest/mediawiki.special.block/SpecialBlock.test.js:5:29)
FAIL tests/qunit/resources/mediawiki.user.test.js
● Test suite failed to run
ReferenceError: QUnit is not defined
> 1 | QUnit.module( 'mediawiki.user', QUnit.newMwEnvironment(), ( hooks ) => {
| ^
2 | hooks.beforeEach( function () {
3 | this.server = this.sandbox.useFakeServer();
4 | this.server.respondImmediately = true;
at Object.<anonymous> (tests/qunit/resources/mediawiki.user.test.js:1:72)
FAIL tests/qunit/resources/mediawiki.base/mediawiki.base.test.js
● Test suite failed to run
ReferenceError: QUnit is not defined
> 1 | QUnit.module( 'mediawiki.base', ( hooks ) => {
| ^
2 | hooks.beforeEach( function () {
3 | this.clock = this.sandbox.useFakeTimers();
4 | } );
at Object.<anonymous> (tests/qunit/resources/mediawiki.base/mediawiki.base.test.js:1:46)
FAIL tests/qunit/resources/mediawiki.DateFormatter/DateFormatter.test.js
● Test suite failed to run
ReferenceError: QUnit is not defined
9 | const norm = ( str ) => typeof str === 'string' ? str.replaceAll( '\u2009', ' ' ) : str;
10 |
> 11 | QUnit.module( 'mediawiki.DateFormatter static functions', ( hooks ) => {
| ^
12 | let userOptions;
13 |
14 | function fakeOptionsGet( key, fallback ) {
at Object.QUnit (tests/qunit/resources/mediawiki.DateFormatter/DateFormatter.test.js:11:1)
FAIL tests/qunit/resources/mediawiki.rcfilters/UriProcessor.test.js
● Test suite failed to run
Cannot find module 'mediawiki.rcfilters.filters.ui' from 'tests/qunit/resources/mediawiki.rcfilters/UriProcessor.test.js'
2 | /* eslint no-underscore-dangle: "off" */
3 | ( function () {
> 4 | const rcfilters = require( 'mediawiki.rcfilters.filters.ui' );
| ^
5 | const mockFilterStructure = [ {
6 | name: 'group1',
7 | title: 'Group 1',
at Resolver._throwModNotFoundError (node_modules/jest-resolve/build/resolver.js:427:11)
at require (tests/qunit/resources/mediawiki.rcfilters/UriProcessor.test.js:4:20)
at Object.<anonymous> (tests/qunit/resources/mediawiki.rcfilters/UriProcessor.test.js:309:2)
FAIL tests/qunit/resources/jquery.lengthLimit.test.js
● Test suite failed to run
ReferenceError: QUnit is not defined
> 1 | QUnit.module( 'jquery.lengthLimit', () => {
| ^
2 | // Simple sample (20 chars, 20 bytes)
3 | const simpleSample = '12345678901234567890';
4 |
at Object.<anonymous> (tests/qunit/resources/jquery.lengthLimit.test.js:1:43)
FAIL tests/qunit/resources/startup/mediawiki.test.js
● Test suite failed to run
Cannot find module 'mediawiki.jqueryMsg' from 'tests/qunit/resources/startup/mediawiki.test.js'
1 | ( function () {
> 2 | const jqueryMsg = require( 'mediawiki.jqueryMsg' ).test;
| ^
3 | QUnit.module( 'mediawiki' );
4 |
5 | QUnit.test( 'Initial check', ( assert ) => {
at Resolver._throwModNotFoundError (node_modules/jest-resolve/build/resolver.js:427:11)
at require (tests/qunit/resources/startup/mediawiki.test.js:2:20)
at Object.<anonymous> (tests/qunit/resources/startup/mediawiki.test.js:156:2)
FAIL tests/jest/mediawiki.special.block/stores/block.test.js
● Test suite failed to run
Jest encountered an unexpected token
Jest failed to parse a file. This happens e.g. when your code or its dependencies use non-standard JavaScript syntax, or when Jest is not configured to support such syntax.
Out of the box Jest supports Babel, which will be used to transform your files into valid JS based on your Babel configuration.
By default "node_modules" folder is ignored by transformers.
Here's what you can do:
• If you are trying to use ECMAScript Modules, see https://jestjs.io/docs/ecmascript-modules for how to enable it.
• If you are trying to use TypeScript, see https://jestjs.io/docs/getting-started#using-typescript
• To have some of your "node_modules" files transformed, you can specify a custom "transformIgnorePatterns" in your config.
• If you need a custom transformation specify a "transform" option in your config.
• If you simply want to mock your non-JS modules (e.g. binary assets) you can stub them out with the "moduleNameMapper" config option.
You'll find more details and examples of these config options in the docs:
https://jestjs.io/docs/configuration
For information about custom transformations, see:
https://jestjs.io/docs/code-transformation
Details:
/src/repo/resources/src/mediawiki.special.block/SpecialBlock.vue:1
({"Object.<anonymous>":function(module,exports,require,__dirname,__filename,jest){<template>
^
SyntaxError: Unexpected token '<'
4 | const { createTestingPinia } = require( '@pinia/testing' );
5 |
> 6 | const SpecialBlock = require( '../../../resources/src/mediawiki.special.block/SpecialBlock.vue' );
| ^
7 |
8 | /**
9 | * Mount the SpecialBlock component with the default configuration,
at Runtime.createScriptFromCode (node_modules/jest-runtime/build/index.js:1505:14)
at Object.require (tests/jest/mediawiki.special.block/SpecialBlock.setup.js:6:22)
at Object.require (tests/jest/mediawiki.special.block/stores/block.test.js:6:29)
FAIL tests/qunit/resources/jquery.highlightText.test.js
● Test suite failed to run
ReferenceError: QUnit is not defined
> 1 | QUnit.module( 'jquery.highlightText', () => {
| ^
2 |
3 | QUnit.test.each( 'highlightText()', [
4 | {
at Object.<anonymous> (tests/qunit/resources/jquery.highlightText.test.js:1:45)
FAIL tests/qunit/resources/mediawiki.util/accessKeyLabel.test.js
● Test suite failed to run
ReferenceError: QUnit is not defined
1 | ( function () {
> 2 | QUnit.module( 'mediawiki.util: jquery.accessKeyLabel', QUnit.newMwEnvironment( {
| ^
3 | messages: {
4 | brackets: '[$1]',
5 | 'word-separator': ' '
at QUnit (tests/qunit/resources/mediawiki.util/accessKeyLabel.test.js:2:2)
at Object.<anonymous> (tests/qunit/resources/mediawiki.util/accessKeyLabel.test.js:106:2)
FAIL tests/qunit/resources/mediawiki.widgets/MediaSearch/mediawiki.widgets.APIResultsQueue.test.js
● Test suite failed to run
ReferenceError: QUnit is not defined
5 | */
6 |
> 7 | QUnit.module( 'mediawiki.widgets.APIResultsQueue' );
| ^
8 |
9 | ( function () {
10 | let itemCounter = 0;
at Object.QUnit (tests/qunit/resources/mediawiki.widgets/MediaSearch/mediawiki.widgets.APIResultsQueue.test.js:7:1)
FAIL tests/qunit/resources/mediawiki.storage.test.js
● Test suite failed to run
ReferenceError: QUnit is not defined
2 | const EXPIRY_PREFIX = '_EXPIRY_';
3 |
> 4 | QUnit.module( 'mediawiki.storage' );
| ^
5 |
6 | QUnit.test( 'set/get(Object) with storage support', function ( assert ) {
7 | const data = {},
at QUnit (tests/qunit/resources/mediawiki.storage.test.js:4:2)
at Object.<anonymous> (tests/qunit/resources/mediawiki.storage.test.js:156:2)
FAIL tests/jest/mediawiki.special.block/BlockLog.test.js
● Test suite failed to run
Jest encountered an unexpected token
Jest failed to parse a file. This happens e.g. when your code or its dependencies use non-standard JavaScript syntax, or when Jest is not configured to support such syntax.
Out of the box Jest supports Babel, which will be used to transform your files into valid JS based on your Babel configuration.
By default "node_modules" folder is ignored by transformers.
Here's what you can do:
• If you are trying to use ECMAScript Modules, see https://jestjs.io/docs/ecmascript-modules for how to enable it.
• If you are trying to use TypeScript, see https://jestjs.io/docs/getting-started#using-typescript
• To have some of your "node_modules" files transformed, you can specify a custom "transformIgnorePatterns" in your config.
• If you need a custom transformation specify a "transform" option in your config.
• If you simply want to mock your non-JS modules (e.g. binary assets) you can stub them out with the "moduleNameMapper" config option.
You'll find more details and examples of these config options in the docs:
https://jestjs.io/docs/configuration
For information about custom transformations, see:
https://jestjs.io/docs/code-transformation
Details:
/src/repo/resources/src/mediawiki.special.block/SpecialBlock.vue:1
({"Object.<anonymous>":function(module,exports,require,__dirname,__filename,jest){<template>
^
SyntaxError: Unexpected token '<'
4 | const { createTestingPinia } = require( '@pinia/testing' );
5 |
> 6 | const SpecialBlock = require( '../../../resources/src/mediawiki.special.block/SpecialBlock.vue' );
| ^
7 |
8 | /**
9 | * Mount the SpecialBlock component with the default configuration,
at Runtime.createScriptFromCode (node_modules/jest-runtime/build/index.js:1505:14)
at Object.require (tests/jest/mediawiki.special.block/SpecialBlock.setup.js:6:22)
at Object.require (tests/jest/mediawiki.special.block/BlockLog.test.js:6:43)
FAIL tests/qunit/resources/mediawiki.api/mediawiki.api.edit.test.js
● Test suite failed to run
ReferenceError: QUnit is not defined
> 1 | QUnit.module( 'mediawiki.api.edit', ( hooks ) => {
| ^
2 | let server;
3 | hooks.beforeEach( function () {
4 | server = this.sandbox.useFakeServer();
at Object.<anonymous> (tests/qunit/resources/mediawiki.api/mediawiki.api.edit.test.js:1:50)
FAIL tests/qunit/resources/mediawiki.String.test.js
● Test suite failed to run
ReferenceError: QUnit is not defined
> 1 | QUnit.module( 'mediawiki.String', () => {
| ^
2 | const { byteLength } = require( 'mediawiki.String' );
3 |
4 | QUnit.test.each( 'byteLength()', {
at Object.<anonymous> (tests/qunit/resources/mediawiki.String.test.js:1:41)
FAIL tests/qunit/resources/mediawiki.api/mediawiki.api.options.test.js
● Test suite failed to run
ReferenceError: QUnit is not defined
> 1 | QUnit.module( 'mediawiki.api.options', QUnit.newMwEnvironment(), ( hooks ) => {
| ^
2 | mw.config.set( {
3 | wgUserName: 'Foo'
4 | } );
at Object.<anonymous> (tests/qunit/resources/mediawiki.api/mediawiki.api.options.test.js:1:79)
FAIL tests/qunit/resources/mediawiki.rcfilters/dm.FilterItem.test.js
● Test suite failed to run
ReferenceError: QUnit is not defined
1 | /* eslint-disable camelcase */
2 | ( function () {
> 3 | QUnit.module( 'mediawiki.rcfilters - FilterItem' );
| ^
4 | const rcfilters = require( 'mediawiki.rcfilters.filters.ui' );
5 |
6 | QUnit.test( 'Initializing filter item', ( assert ) => {
at QUnit (tests/qunit/resources/mediawiki.rcfilters/dm.FilterItem.test.js:3:2)
at Object.<anonymous> (tests/qunit/resources/mediawiki.rcfilters/dm.FilterItem.test.js:195:2)
FAIL tests/jest/mediawiki.special.block/UserLookup.test.js
● Test suite failed to run
Jest encountered an unexpected token
Jest failed to parse a file. This happens e.g. when your code or its dependencies use non-standard JavaScript syntax, or when Jest is not configured to support such syntax.
Out of the box Jest supports Babel, which will be used to transform your files into valid JS based on your Babel configuration.
By default "node_modules" folder is ignored by transformers.
Here's what you can do:
• If you are trying to use ECMAScript Modules, see https://jestjs.io/docs/ecmascript-modules for how to enable it.
• If you are trying to use TypeScript, see https://jestjs.io/docs/getting-started#using-typescript
• To have some of your "node_modules" files transformed, you can specify a custom "transformIgnorePatterns" in your config.
• If you need a custom transformation specify a "transform" option in your config.
• If you simply want to mock your non-JS modules (e.g. binary assets) you can stub them out with the "moduleNameMapper" config option.
You'll find more details and examples of these config options in the docs:
https://jestjs.io/docs/configuration
For information about custom transformations, see:
https://jestjs.io/docs/code-transformation
Details:
/src/repo/resources/src/mediawiki.special.block/SpecialBlock.vue:1
({"Object.<anonymous>":function(module,exports,require,__dirname,__filename,jest){<template>
^
SyntaxError: Unexpected token '<'
4 | const { createTestingPinia } = require( '@pinia/testing' );
5 |
> 6 | const SpecialBlock = require( '../../../resources/src/mediawiki.special.block/SpecialBlock.vue' );
| ^
7 |
8 | /**
9 | * Mount the SpecialBlock component with the default configuration,
at Runtime.createScriptFromCode (node_modules/jest-runtime/build/index.js:1505:14)
at Object.require (tests/jest/mediawiki.special.block/SpecialBlock.setup.js:6:22)
at Object.require (tests/jest/mediawiki.special.block/UserLookup.test.js:6:60)
FAIL tests/qunit/resources/mediawiki.cookie.test.js
● Test suite failed to run
Cannot find module 'mediawiki.cookie' from 'tests/qunit/resources/mediawiki.cookie.test.js'
11 | secure: false
12 | },
> 13 | mwCookie = require( 'mediawiki.cookie' ),
| ^
14 | setDefaults = mwCookie.setDefaults,
15 | expiryDate = new Date();
16 |
at Resolver._throwModNotFoundError (node_modules/jest-resolve/build/resolver.js:427:11)
at require (tests/qunit/resources/mediawiki.cookie.test.js:13:14)
at Object.<anonymous> (tests/qunit/resources/mediawiki.cookie.test.js:183:2)
FAIL tests/qunit/resources/mediawiki.visibleTimeout.test.js
● Test suite failed to run
ReferenceError: QUnit is not defined
> 1 | QUnit.module( 'mediawiki.visibleTimeout', QUnit.newMwEnvironment( {
| ^
2 | beforeEach: function () {
3 | // Document with just enough stuff to make the tests work.
4 | const listeners = [];
at Object.<anonymous> (tests/qunit/resources/mediawiki.visibleTimeout.test.js:1:67)
FAIL tests/qunit/resources/startup/mw.Map.test.js
● Test suite failed to run
ReferenceError: QUnit is not defined
5 | const arry = [];
6 |
> 7 | QUnit.module( 'mw.Map' );
| ^
8 |
9 | QUnit.test( 'Store simple string key', ( assert ) => {
10 | const conf = new mw.Map();
at QUnit (tests/qunit/resources/startup/mw.Map.test.js:7:2)
at Object.<anonymous> (tests/qunit/resources/startup/mw.Map.test.js:130:2)
FAIL tests/qunit/resources/jquery.textSelection.test.js
● Test suite failed to run
ReferenceError: QUnit is not defined
> 1 | QUnit.module( 'jquery.textSelection', () => {
| ^
2 | const sig = {
3 | pre: '--~~~~'
4 | };
at Object.<anonymous> (tests/qunit/resources/jquery.textSelection.test.js:1:45)
FAIL tests/jest/mediawiki.special.block/ExpiryField.test.js
● Test suite failed to run
Jest encountered an unexpected token
Jest failed to parse a file. This happens e.g. when your code or its dependencies use non-standard JavaScript syntax, or when Jest is not configured to support such syntax.
Out of the box Jest supports Babel, which will be used to transform your files into valid JS based on your Babel configuration.
By default "node_modules" folder is ignored by transformers.
Here's what you can do:
• If you are trying to use ECMAScript Modules, see https://jestjs.io/docs/ecmascript-modules for how to enable it.
• If you are trying to use TypeScript, see https://jestjs.io/docs/getting-started#using-typescript
• To have some of your "node_modules" files transformed, you can specify a custom "transformIgnorePatterns" in your config.
• If you need a custom transformation specify a "transform" option in your config.
• If you simply want to mock your non-JS modules (e.g. binary assets) you can stub them out with the "moduleNameMapper" config option.
You'll find more details and examples of these config options in the docs:
https://jestjs.io/docs/configuration
For information about custom transformations, see:
https://jestjs.io/docs/code-transformation
Details:
/src/repo/resources/src/mediawiki.special.block/SpecialBlock.vue:1
({"Object.<anonymous>":function(module,exports,require,__dirname,__filename,jest){<template>
^
SyntaxError: Unexpected token '<'
4 | const { createTestingPinia } = require( '@pinia/testing' );
5 |
> 6 | const SpecialBlock = require( '../../../resources/src/mediawiki.special.block/SpecialBlock.vue' );
| ^
7 |
8 | /**
9 | * Mount the SpecialBlock component with the default configuration,
at Runtime.createScriptFromCode (node_modules/jest-runtime/build/index.js:1505:14)
at Object.require (tests/jest/mediawiki.special.block/SpecialBlock.setup.js:6:22)
at Object.require (tests/jest/mediawiki.special.block/ExpiryField.test.js:5:29)
FAIL tests/qunit/resources/mediawiki.api/mediawiki.rest.test.js
● Test suite failed to run
ReferenceError: QUnit is not defined
> 1 | QUnit.module( 'mediawiki.rest', ( hooks ) => {
| ^
2 | let server;
3 | hooks.beforeEach( function () {
4 | server = this.sandbox.useFakeServer();
at Object.<anonymous> (tests/qunit/resources/mediawiki.api/mediawiki.rest.test.js:1:46)
FAIL tests/jest/mediawiki.skinning.typeaheadSearch/restSearchClient.test.js
● restApiSearchClient › 2 results
ReferenceError: mw is not defined
17 | wgContentNamespaces: [ 0 ]
18 | };
> 19 | mw.config.get.mockImplementation( ( key ) => mockConfig[ key ] );
| ^
20 | } );
21 |
22 | afterAll( () => {
at Object.mw (tests/jest/mediawiki.skinning.typeaheadSearch/restSearchClient.test.js:19:3)
● restApiSearchClient › 0 results
ReferenceError: mw is not defined
17 | wgContentNamespaces: [ 0 ]
18 | };
> 19 | mw.config.get.mockImplementation( ( key ) => mockConfig[ key ] );
| ^
20 | } );
21 |
22 | afterAll( () => {
at Object.mw (tests/jest/mediawiki.skinning.typeaheadSearch/restSearchClient.test.js:19:3)
● restApiSearchClient › no recommendations service
ReferenceError: mw is not defined
17 | wgContentNamespaces: [ 0 ]
18 | };
> 19 | mw.config.get.mockImplementation( ( key ) => mockConfig[ key ] );
| ^
20 | } );
21 |
22 | afterAll( () => {
at Object.mw (tests/jest/mediawiki.skinning.typeaheadSearch/restSearchClient.test.js:19:3)
● restApiSearchClient › recommendations service
ReferenceError: mw is not defined
17 | wgContentNamespaces: [ 0 ]
18 | };
> 19 | mw.config.get.mockImplementation( ( key ) => mockConfig[ key ] );
| ^
20 | } );
21 |
22 | afterAll( () => {
at Object.mw (tests/jest/mediawiki.skinning.typeaheadSearch/restSearchClient.test.js:19:3)
● restApiSearchClient › network error
ReferenceError: mw is not defined
17 | wgContentNamespaces: [ 0 ]
18 | };
> 19 | mw.config.get.mockImplementation( ( key ) => mockConfig[ key ] );
| ^
20 | } );
21 |
22 | afterAll( () => {
at Object.mw (tests/jest/mediawiki.skinning.typeaheadSearch/restSearchClient.test.js:19:3)
FAIL tests/qunit/resources/mediawiki.widgets/UserInputWidget/mediawiki.widgets.UserInputWidget.test.js
● Test suite failed to run
ReferenceError: QUnit is not defined
3 | */
4 |
> 5 | QUnit.module( 'mediawiki.widgets.UserInputWidget' );
| ^
6 |
7 | ( function () {
8 | const widgetWithDefaults = new mw.widgets.UserInputWidget( {} );
at Object.QUnit (tests/qunit/resources/mediawiki.widgets/UserInputWidget/mediawiki.widgets.UserInputWidget.test.js:5:1)
FAIL tests/qunit/resources/mediawiki.cldr.test.js
● Test suite failed to run
ReferenceError: QUnit is not defined
60 | };
61 |
> 62 | QUnit.module( 'mediawiki.cldr', QUnit.newMwEnvironment() );
| ^
63 |
64 | function pluralTest( langCode, tests ) {
65 | QUnit.test( 'Plural Test for ' + langCode, ( assert ) => {
at QUnit (tests/qunit/resources/mediawiki.cldr.test.js:62:2)
at Object.<anonymous> (tests/qunit/resources/mediawiki.cldr.test.js:83:2)
FAIL tests/qunit/resources/mediawiki.deflate.test.js
● Test suite failed to run
ReferenceError: QUnit is not defined
> 1 | QUnit.module( 'mediawiki.deflate', () => {
| ^
2 | let seed = 1234567890;
3 | function getPseudoRandom() {
4 | seed = seed * 16807 % 2147483646;
at Object.<anonymous> (tests/qunit/resources/mediawiki.deflate.test.js:1:42)
FAIL tests/qunit/resources/mediawiki.api/mediawiki.api.category.test.js
● Test suite failed to run
ReferenceError: QUnit is not defined
> 1 | QUnit.module( 'mediawiki.api.category', ( hooks ) => {
| ^
2 | let server;
3 | hooks.beforeEach( function () {
4 | server = this.sandbox.useFakeServer();
at Object.<anonymous> (tests/qunit/resources/mediawiki.api/mediawiki.api.category.test.js:1:54)
FAIL tests/qunit/resources/mediawiki.pager.codex/limitSelectors.test.js
● Test suite failed to run
Cannot find module 'mediawiki.pager.codex/limitSelectors.js' from 'tests/qunit/resources/mediawiki.pager.codex/limitSelectors.test.js'
> 1 | const limitSelectors = require( 'mediawiki.pager.codex/limitSelectors.js' );
| ^
2 |
3 | QUnit.module( 'mediawiki.pager.codex.limitSelectors', QUnit.newMwEnvironment( {
4 | beforeEach: function () {
at Resolver._throwModNotFoundError (node_modules/jest-resolve/build/resolver.js:427:11)
at Object.<anonymous> (tests/qunit/resources/mediawiki.pager.codex/limitSelectors.test.js:1:76)
FAIL tests/qunit/resources/mediawiki.widgets/Table/mediawiki.widgets.TableWidget.test.js
● Test suite failed to run
ReferenceError: QUnit is not defined
3 | */
4 |
> 5 | QUnit.module( 'mediawiki.widgets.TableWidget' );
| ^
6 |
7 | ( function () {
8 | const widgetA = new mw.widgets.TableWidget( {
at Object.QUnit (tests/qunit/resources/mediawiki.widgets/Table/mediawiki.widgets.TableWidget.test.js:5:1)
FAIL tests/qunit/resources/startup/clientprefs.test.js
● Test suite failed to run
ReferenceError: QUnit is not defined
> 1 | QUnit.module( 'startup/clientprefs', () => {
| ^
2 | // See /resources/src/startup/clientprefs.js
3 | const clientprefs = mw.clientprefs;
4 |
at Object.<anonymous> (tests/qunit/resources/startup/clientprefs.test.js:1:44)
FAIL tests/qunit/resources/mediawiki.base/track.test.js
● Test suite failed to run
ReferenceError: QUnit is not defined
> 1 | QUnit.module( 'mediawiki.base/track', () => {
| ^
2 |
3 | QUnit.test( 'track', ( assert ) => {
4 | const sequence = [];
at Object.<anonymous> (tests/qunit/resources/mediawiki.base/track.test.js:1:45)
FAIL tests/jest/mediawiki.special.block/util.test.js
● util › sanitizeRange (IPv4 range)
ReferenceError: mw is not defined
71 | it.each( santizeRangeTestCases )( 'sanitizeRange ($title)',
72 | ( { input, expected, sanitizeIP, isIPv4Address, isIPv6Address } ) => {
> 73 | mw.util.sanitizeIP = jest.fn().mockReturnValue( sanitizeIP || input );
| ^
74 | mw.util.isIPv4Address = jest.fn().mockReturnValue( !!isIPv4Address );
75 | mw.util.isIPv6Address = jest.fn().mockReturnValue( !!isIPv6Address );
76 | expect( util.sanitizeRange( input ) ).toBe( expected );
at mw (tests/jest/mediawiki.special.block/util.test.js:73:4)
● util › sanitizeRange (IPv4 range 2)
ReferenceError: mw is not defined
71 | it.each( santizeRangeTestCases )( 'sanitizeRange ($title)',
72 | ( { input, expected, sanitizeIP, isIPv4Address, isIPv6Address } ) => {
> 73 | mw.util.sanitizeIP = jest.fn().mockReturnValue( sanitizeIP || input );
| ^
74 | mw.util.isIPv4Address = jest.fn().mockReturnValue( !!isIPv4Address );
75 | mw.util.isIPv6Address = jest.fn().mockReturnValue( !!isIPv6Address );
76 | expect( util.sanitizeRange( input ) ).toBe( expected );
at mw (tests/jest/mediawiki.special.block/util.test.js:73:4)
● util › sanitizeRange (IPv4 large range)
ReferenceError: mw is not defined
71 | it.each( santizeRangeTestCases )( 'sanitizeRange ($title)',
72 | ( { input, expected, sanitizeIP, isIPv4Address, isIPv6Address } ) => {
> 73 | mw.util.sanitizeIP = jest.fn().mockReturnValue( sanitizeIP || input );
| ^
74 | mw.util.isIPv4Address = jest.fn().mockReturnValue( !!isIPv4Address );
75 | mw.util.isIPv6Address = jest.fn().mockReturnValue( !!isIPv6Address );
76 | expect( util.sanitizeRange( input ) ).toBe( expected );
at mw (tests/jest/mediawiki.special.block/util.test.js:73:4)
● util › sanitizeRange (IPv4 intermediate range)
ReferenceError: mw is not defined
71 | it.each( santizeRangeTestCases )( 'sanitizeRange ($title)',
72 | ( { input, expected, sanitizeIP, isIPv4Address, isIPv6Address } ) => {
> 73 | mw.util.sanitizeIP = jest.fn().mockReturnValue( sanitizeIP || input );
| ^
74 | mw.util.isIPv4Address = jest.fn().mockReturnValue( !!isIPv4Address );
75 | mw.util.isIPv6Address = jest.fn().mockReturnValue( !!isIPv6Address );
76 | expect( util.sanitizeRange( input ) ).toBe( expected );
at mw (tests/jest/mediawiki.special.block/util.test.js:73:4)
● util › sanitizeRange (IPv4 silly range)
ReferenceError: mw is not defined
71 | it.each( santizeRangeTestCases )( 'sanitizeRange ($title)',
72 | ( { input, expected, sanitizeIP, isIPv4Address, isIPv6Address } ) => {
> 73 | mw.util.sanitizeIP = jest.fn().mockReturnValue( sanitizeIP || input );
| ^
74 | mw.util.isIPv4Address = jest.fn().mockReturnValue( !!isIPv4Address );
75 | mw.util.isIPv6Address = jest.fn().mockReturnValue( !!isIPv6Address );
76 | expect( util.sanitizeRange( input ) ).toBe( expected );
at mw (tests/jest/mediawiki.special.block/util.test.js:73:4)
● util › sanitizeRange (IPv4 non-range)
ReferenceError: mw is not defined
71 | it.each( santizeRangeTestCases )( 'sanitizeRange ($title)',
72 | ( { input, expected, sanitizeIP, isIPv4Address, isIPv6Address } ) => {
> 73 | mw.util.sanitizeIP = jest.fn().mockReturnValue( sanitizeIP || input );
| ^
74 | mw.util.isIPv4Address = jest.fn().mockReturnValue( !!isIPv4Address );
75 | mw.util.isIPv6Address = jest.fn().mockReturnValue( !!isIPv6Address );
76 | expect( util.sanitizeRange( input ) ).toBe( expected );
at mw (tests/jest/mediawiki.special.block/util.test.js:73:4)
● util › sanitizeRange (IPv6 range)
ReferenceError: mw is not defined
71 | it.each( santizeRangeTestCases )( 'sanitizeRange ($title)',
72 | ( { input, expected, sanitizeIP, isIPv4Address, isIPv6Address } ) => {
> 73 | mw.util.sanitizeIP = jest.fn().mockReturnValue( sanitizeIP || input );
| ^
74 | mw.util.isIPv4Address = jest.fn().mockReturnValue( !!isIPv4Address );
75 | mw.util.isIPv6Address = jest.fn().mockReturnValue( !!isIPv6Address );
76 | expect( util.sanitizeRange( input ) ).toBe( expected );
at mw (tests/jest/mediawiki.special.block/util.test.js:73:4)
● util › sanitizeRange (IPv6 range 2)
ReferenceError: mw is not defined
71 | it.each( santizeRangeTestCases )( 'sanitizeRange ($title)',
72 | ( { input, expected, sanitizeIP, isIPv4Address, isIPv6Address } ) => {
> 73 | mw.util.sanitizeIP = jest.fn().mockReturnValue( sanitizeIP || input );
| ^
74 | mw.util.isIPv4Address = jest.fn().mockReturnValue( !!isIPv4Address );
75 | mw.util.isIPv6Address = jest.fn().mockReturnValue( !!isIPv6Address );
76 | expect( util.sanitizeRange( input ) ).toBe( expected );
at mw (tests/jest/mediawiki.special.block/util.test.js:73:4)
● util › sanitizeRange (IPv6 large range)
ReferenceError: mw is not defined
71 | it.each( santizeRangeTestCases )( 'sanitizeRange ($title)',
72 | ( { input, expected, sanitizeIP, isIPv4Address, isIPv6Address } ) => {
> 73 | mw.util.sanitizeIP = jest.fn().mockReturnValue( sanitizeIP || input );
| ^
74 | mw.util.isIPv4Address = jest.fn().mockReturnValue( !!isIPv4Address );
75 | mw.util.isIPv6Address = jest.fn().mockReturnValue( !!isIPv6Address );
76 | expect( util.sanitizeRange( input ) ).toBe( expected );
at mw (tests/jest/mediawiki.special.block/util.test.js:73:4)
● util › sanitizeRange (IPv6 intermediate range)
ReferenceError: mw is not defined
71 | it.each( santizeRangeTestCases )( 'sanitizeRange ($title)',
72 | ( { input, expected, sanitizeIP, isIPv4Address, isIPv6Address } ) => {
> 73 | mw.util.sanitizeIP = jest.fn().mockReturnValue( sanitizeIP || input );
| ^
74 | mw.util.isIPv4Address = jest.fn().mockReturnValue( !!isIPv4Address );
75 | mw.util.isIPv6Address = jest.fn().mockReturnValue( !!isIPv6Address );
76 | expect( util.sanitizeRange( input ) ).toBe( expected );
at mw (tests/jest/mediawiki.special.block/util.test.js:73:4)
● util › sanitizeRange (IPv6 silly range)
ReferenceError: mw is not defined
71 | it.each( santizeRangeTestCases )( 'sanitizeRange ($title)',
72 | ( { input, expected, sanitizeIP, isIPv4Address, isIPv6Address } ) => {
> 73 | mw.util.sanitizeIP = jest.fn().mockReturnValue( sanitizeIP || input );
| ^
74 | mw.util.isIPv4Address = jest.fn().mockReturnValue( !!isIPv4Address );
75 | mw.util.isIPv6Address = jest.fn().mockReturnValue( !!isIPv6Address );
76 | expect( util.sanitizeRange( input ) ).toBe( expected );
at mw (tests/jest/mediawiki.special.block/util.test.js:73:4)
● util › sanitizeRange (IPv6 non range)
ReferenceError: mw is not defined
71 | it.each( santizeRangeTestCases )( 'sanitizeRange ($title)',
72 | ( { input, expected, sanitizeIP, isIPv4Address, isIPv6Address } ) => {
> 73 | mw.util.sanitizeIP = jest.fn().mockReturnValue( sanitizeIP || input );
| ^
74 | mw.util.isIPv4Address = jest.fn().mockReturnValue( !!isIPv4Address );
75 | mw.util.isIPv6Address = jest.fn().mockReturnValue( !!isIPv6Address );
76 | expect( util.sanitizeRange( input ) ).toBe( expected );
at mw (tests/jest/mediawiki.special.block/util.test.js:73:4)
● util › formatTimestamp
ReferenceError: mw is not defined
92 |
93 | it.each( formatTimestampCases )( 'formatTimestamp', ( { input, expected } ) => {
> 94 | mw.util.isInfinity = jest.fn().mockReturnValue( input === 'infinity' );
| ^
95 | expect( util.formatTimestamp( input ) ).toBe( expected );
96 | } );
97 | } );
at mw (tests/jest/mediawiki.special.block/util.test.js:94:3)
● util › formatTimestamp
ReferenceError: mw is not defined
92 |
93 | it.each( formatTimestampCases )( 'formatTimestamp', ( { input, expected } ) => {
> 94 | mw.util.isInfinity = jest.fn().mockReturnValue( input === 'infinity' );
| ^
95 | expect( util.formatTimestamp( input ) ).toBe( expected );
96 | } );
97 | } );
at mw (tests/jest/mediawiki.special.block/util.test.js:94:3)
FAIL tests/qunit/resources/mediawiki.ForeignApi/mediawiki.ForeignApi.test.js
● Test suite failed to run
ReferenceError: QUnit is not defined
> 1 | QUnit.module( 'mediawiki.ForeignApi', ( hooks ) => {
| ^
2 | const CoreForeignApi = require( 'mediawiki.ForeignApi.core' ).ForeignApi;
3 |
4 | hooks.beforeEach( function () {
at Object.<anonymous> (tests/qunit/resources/mediawiki.ForeignApi/mediawiki.ForeignApi.test.js:1:52)
FAIL tests/qunit/resources/mediawiki.base/html.test.js
● Test suite failed to run
ReferenceError: QUnit is not defined
> 1 | QUnit.module( 'mediawiki.base/html', () => {
| ^
2 |
3 | QUnit.test( 'escape', ( assert ) => {
4 | assert.throws(
at Object.<anonymous> (tests/qunit/resources/mediawiki.base/html.test.js:1:44)
FAIL tests/qunit/resources/testrunner.test.js
● Test suite failed to run
ReferenceError: QUnit is not defined
> 1 | QUnit.module( 'testrunner', () => {
| ^
2 | QUnit.test( 'assert.htmlEqual', ( assert ) => {
3 | assert.htmlEqual(
4 | '<div><p class="some classes" data-length="10">Child paragraph with <a href="http://example.com">A link</a></p>Regular text<span>A span</span></div>',
at Object.<anonymous> (tests/qunit/resources/testrunner.test.js:1:35)
FAIL tests/qunit/resources/mediawiki.ForeignApi/mediawiki.ForeignRest.test.js
● Test suite failed to run
ReferenceError: QUnit is not defined
> 1 | QUnit.module( 'mediawiki.ForeignRest', ( hooks ) => {
| ^
2 | const CoreForeignApi = require( 'mediawiki.ForeignApi.core' ).ForeignApi;
3 | const CoreForeignRest = require( 'mediawiki.ForeignApi.core' ).ForeignRest;
4 |
at Object.<anonymous> (tests/qunit/resources/mediawiki.ForeignApi/mediawiki.ForeignRest.test.js:1:53)
FAIL tests/jest/mediawiki.skinning.typeaheadSearch/fetch.test.js
● abort() using AbortController › Aborting an unfinished request throws an AbortError
The error below may be caused by using the wrong test environment, see https://jestjs.io/docs/configuration#testenvironment-string.
Consider using the "jsdom" test environment.
ReferenceError: window is not defined
27 | // so replacing it with no-op if it doesn't exist.
28 | // eslint-disable-next-line compat/compat
> 29 | const controller = window.AbortController ?
| ^
30 | // eslint-disable-next-line compat/compat
31 | new AbortController() :
32 | nullAbortController;
at window (resources/src/mediawiki.skinning.typeaheadSearch/fetch.js:29:21)
at Object.fetchJson (tests/jest/mediawiki.skinning.typeaheadSearch/fetch.test.js:12:28)
● abort() using AbortController › Aborting an unfinished request throws an AbortError
expect.assertions(1)
Expected one assertion to be called but received zero assertion calls.
8 | describe( 'abort() using AbortController', () => {
9 | test( 'Aborting an unfinished request throws an AbortError', async () => {
> 10 | expect.assertions( 1 );
| ^
11 |
12 | const { abort, fetch } = fetchJson( url );
13 |
at Object.assertions (tests/jest/mediawiki.skinning.typeaheadSearch/fetch.test.js:10:10)
● fetch() using window.fetch › 200 without init param passed
The error below may be caused by using the wrong test environment, see https://jestjs.io/docs/configuration#testenvironment-string.
Consider using the "jsdom" test environment.
ReferenceError: window is not defined
27 | // so replacing it with no-op if it doesn't exist.
28 | // eslint-disable-next-line compat/compat
> 29 | const controller = window.AbortController ?
| ^
30 | // eslint-disable-next-line compat/compat
31 | new AbortController() :
32 | nullAbortController;
at window (resources/src/mediawiki.skinning.typeaheadSearch/fetch.js:29:21)
at Object.fetchJson (tests/jest/mediawiki.skinning.typeaheadSearch/fetch.test.js:54:21)
● fetch() using window.fetch › 200 with init param passed
The error below may be caused by using the wrong test environment, see https://jestjs.io/docs/configuration#testenvironment-string.
Consider using the "jsdom" test environment.
ReferenceError: window is not defined
27 | // so replacing it with no-op if it doesn't exist.
28 | // eslint-disable-next-line compat/compat
> 29 | const controller = window.AbortController ?
| ^
30 | // eslint-disable-next-line compat/compat
31 | new AbortController() :
32 | nullAbortController;
at window (resources/src/mediawiki.skinning.typeaheadSearch/fetch.js:29:21)
at Object.fetchJson (tests/jest/mediawiki.skinning.typeaheadSearch/fetch.test.js:66:21)
● fetch() using window.fetch › 404 response
The error below may be caused by using the wrong test environment, see https://jestjs.io/docs/configuration#testenvironment-string.
Consider using the "jsdom" test environment.
ReferenceError: window is not defined
27 | // so replacing it with no-op if it doesn't exist.
28 | // eslint-disable-next-line compat/compat
> 29 | const controller = window.AbortController ?
| ^
30 | // eslint-disable-next-line compat/compat
31 | new AbortController() :
32 | nullAbortController;
at window (resources/src/mediawiki.skinning.typeaheadSearch/fetch.js:29:21)
at Object.fetchJson (tests/jest/mediawiki.skinning.typeaheadSearch/fetch.test.js:82:21)
● fetch() using window.fetch › 404 response
expect.assertions(1)
Expected one assertion to be called but received zero assertion calls.
79 |
80 | test( '404 response', async () => {
> 81 | expect.assertions( 1 );
| ^
82 | const { fetch } = fetchJson( '//en.wikipedia.org/doesNotExist' );
83 |
84 | await expect( fetch )
at Object.assertions (tests/jest/mediawiki.skinning.typeaheadSearch/fetch.test.js:81:10)
FAIL vendor/wikimedia/parsoid/bin/domdiff.test.js
● Test suite failed to run
Cannot find module './lib/utils/promise.js' from 'vendor/wikimedia/parsoid/core-upgrade.js'
Require stack:
vendor/wikimedia/parsoid/core-upgrade.js
vendor/wikimedia/parsoid/bin/domdiff.test.js
2 |
3 | // Register prfun's Promises with node-pn
> 4 | var Promise = require('./lib/utils/promise.js');
| ^
5 | require('pn/_promise')(Promise); // This only needs to be done once.
6 |
7 | // Comments below annotate the highest lts version of node for which the
at Resolver._throwModNotFoundError (node_modules/jest-resolve/build/resolver.js:427:11)
at Object.require (vendor/wikimedia/parsoid/core-upgrade.js:4:15)
at Object.require (vendor/wikimedia/parsoid/bin/domdiff.test.js:5:1)
FAIL tests/qunit/resources/mediawiki.base/errorLogger.test.js
● Test suite failed to run
ReferenceError: QUnit is not defined
> 1 | QUnit.module( 'mediawiki.base/errorLogger', () => {
| ^
2 |
3 | QUnit.test( 'installGlobalHandler', function ( assert ) {
4 | const errorMessage = 'Foo';
at Object.<anonymous> (tests/qunit/resources/mediawiki.base/errorLogger.test.js:1:51)
FAIL tests/qunit/resources/startup/mw.requestIdleCallback.test.js
● Test suite failed to run
ReferenceError: QUnit is not defined
1 | ( function () {
> 2 | QUnit.module( 'mw.requestIdleCallback', QUnit.newMwEnvironment( {
| ^
3 | beforeEach: function () {
4 | const clock = this.clock = this.sandbox.useFakeTimers();
5 |
at QUnit (tests/qunit/resources/startup/mw.requestIdleCallback.test.js:2:2)
at Object.<anonymous> (tests/qunit/resources/startup/mw.requestIdleCallback.test.js:105:2)
FAIL tests/jest/mediawiki.skinning.typeaheadSearch/App.test.js
● Test suite failed to run
Jest encountered an unexpected token
Jest failed to parse a file. This happens e.g. when your code or its dependencies use non-standard JavaScript syntax, or when Jest is not configured to support such syntax.
Out of the box Jest supports Babel, which will be used to transform your files into valid JS based on your Babel configuration.
By default "node_modules" folder is ignored by transformers.
Here's what you can do:
• If you are trying to use ECMAScript Modules, see https://jestjs.io/docs/ecmascript-modules for how to enable it.
• If you are trying to use TypeScript, see https://jestjs.io/docs/getting-started#using-typescript
• To have some of your "node_modules" files transformed, you can specify a custom "transformIgnorePatterns" in your config.
• If you need a custom transformation specify a "transform" option in your config.
• If you simply want to mock your non-JS modules (e.g. binary assets) you can stub them out with the "moduleNameMapper" config option.
You'll find more details and examples of these config options in the docs:
https://jestjs.io/docs/configuration
For information about custom transformations, see:
https://jestjs.io/docs/code-transformation
Details:
/src/repo/resources/src/mediawiki.skinning.typeaheadSearch/App.vue:1
({"Object.<anonymous>":function(module,exports,require,__dirname,__filename,jest){<template>
^
SyntaxError: Unexpected token '<'
1 | const VueTestUtils = require( '@vue/test-utils' );
> 2 | const App = require( '../../../resources/src/mediawiki.skinning.typeaheadSearch/App.vue' );
| ^
3 | const urlGeneratorFn = require( '../../../resources/src/mediawiki.skinning.typeaheadSearch/urlGenerator.js' );
4 | const scriptPath = '/w/index.php';
5 | const urlGenerator = urlGeneratorFn( scriptPath );
at Runtime.createScriptFromCode (node_modules/jest-runtime/build/index.js:1505:14)
at Object.require (tests/jest/mediawiki.skinning.typeaheadSearch/App.test.js:2:13)
FAIL tests/jest/mediawiki.special.block/NamespacesField.test.js
● Test suite failed to run
Jest encountered an unexpected token
Jest failed to parse a file. This happens e.g. when your code or its dependencies use non-standard JavaScript syntax, or when Jest is not configured to support such syntax.
Out of the box Jest supports Babel, which will be used to transform your files into valid JS based on your Babel configuration.
By default "node_modules" folder is ignored by transformers.
Here's what you can do:
• If you are trying to use ECMAScript Modules, see https://jestjs.io/docs/ecmascript-modules for how to enable it.
• If you are trying to use TypeScript, see https://jestjs.io/docs/getting-started#using-typescript
• To have some of your "node_modules" files transformed, you can specify a custom "transformIgnorePatterns" in your config.
• If you need a custom transformation specify a "transform" option in your config.
• If you simply want to mock your non-JS modules (e.g. binary assets) you can stub them out with the "moduleNameMapper" config option.
You'll find more details and examples of these config options in the docs:
https://jestjs.io/docs/configuration
For information about custom transformations, see:
https://jestjs.io/docs/code-transformation
Details:
/src/repo/resources/src/mediawiki.special.block/SpecialBlock.vue:1
({"Object.<anonymous>":function(module,exports,require,__dirname,__filename,jest){<template>
^
SyntaxError: Unexpected token '<'
4 | const { createTestingPinia } = require( '@pinia/testing' );
5 |
> 6 | const SpecialBlock = require( '../../../resources/src/mediawiki.special.block/SpecialBlock.vue' );
| ^
7 |
8 | /**
9 | * Mount the SpecialBlock component with the default configuration,
at Runtime.createScriptFromCode (node_modules/jest-runtime/build/index.js:1505:14)
at Object.require (tests/jest/mediawiki.special.block/SpecialBlock.setup.js:6:22)
at Object.require (tests/jest/mediawiki.special.block/NamespacesField.test.js:5:29)
FAIL tests/qunit/resources/mediawiki.api/mediawiki.api.watch.test.js
● Test suite failed to run
ReferenceError: QUnit is not defined
> 1 | QUnit.module( 'mediawiki.api.watch', ( hooks ) => {
| ^
2 | let server;
3 | hooks.beforeEach( function () {
4 | server = this.sandbox.useFakeServer();
at Object.<anonymous> (tests/qunit/resources/mediawiki.api/mediawiki.api.watch.test.js:1:51)
FAIL tests/jest/mediawiki.skinning.typeaheadSearch/instrumentation.test.js
● instrumentation › addWprovToSearchResultUrls without offset
ReferenceError: location is not defined
57 | return results.map( ( result, index ) => {
58 | if ( result.url ) {
> 59 | const url = new URL( result.url, location.href );
| ^
60 | url.searchParams.set( 'wprov', getWprovFromResultIndex( index + offset ) );
61 | result = Object.assign( {}, result, { url: url.toString() } );
62 | }
at location (resources/src/mediawiki.skinning.typeaheadSearch/instrumentation.js:59:37)
at Array.map (<anonymous>)
at Object.map [as addWprovToSearchResultUrls] (resources/src/mediawiki.skinning.typeaheadSearch/instrumentation.js:57:17)
at Object.addWprovToSearchResultUrls (tests/jest/mediawiki.skinning.typeaheadSearch/instrumentation.test.js:40:27)
● instrumentation › addWprovToSearchResultUrls with offset
ReferenceError: location is not defined
57 | return results.map( ( result, index ) => {
58 | if ( result.url ) {
> 59 | const url = new URL( result.url, location.href );
| ^
60 | url.searchParams.set( 'wprov', getWprovFromResultIndex( index + offset ) );
61 | result = Object.assign( {}, result, { url: url.toString() } );
62 | }
at location (resources/src/mediawiki.skinning.typeaheadSearch/instrumentation.js:59:37)
at Array.map (<anonymous>)
at Object.map [as addWprovToSearchResultUrls] (resources/src/mediawiki.skinning.typeaheadSearch/instrumentation.js:57:17)
at Object.addWprovToSearchResultUrls (tests/jest/mediawiki.skinning.typeaheadSearch/instrumentation.test.js:79:27)
FAIL tests/qunit/resources/mediawiki.toc.test.js
● Test suite failed to run
ReferenceError: QUnit is not defined
1 | ( function () {
> 2 | QUnit.module( 'mediawiki.toc', {
| ^
3 | beforeEach: function () {
4 | this.getCookie = this.stub( mw.cookie, 'get' ).returns( null );
5 | this.setCookie = this.stub( mw.cookie, 'set' ).returns( null );
at QUnit (tests/qunit/resources/mediawiki.toc.test.js:2:2)
at Object.<anonymous> (tests/qunit/resources/mediawiki.toc.test.js:42:2)
FAIL tests/qunit/resources/mediawiki.rcfilters/dm.SavedQueryItemModel.test.js
● Test suite failed to run
Cannot find module 'mediawiki.rcfilters.filters.ui' from 'tests/qunit/resources/mediawiki.rcfilters/dm.SavedQueryItemModel.test.js'
1 | /* eslint-disable camelcase */
2 | ( function () {
> 3 | const rcfilters = require( 'mediawiki.rcfilters.filters.ui' );
| ^
4 | const itemData = {
5 | params: {
6 | param1: '1',
at Resolver._throwModNotFoundError (node_modules/jest-resolve/build/resolver.js:427:11)
at require (tests/qunit/resources/mediawiki.rcfilters/dm.SavedQueryItemModel.test.js:3:20)
at Object.<anonymous> (tests/qunit/resources/mediawiki.rcfilters/dm.SavedQueryItemModel.test.js:88:2)
FAIL vendor/wikimedia/parsoid/bin/normalize.test.js
● Test suite failed to run
Cannot find module './lib/utils/promise.js' from 'vendor/wikimedia/parsoid/core-upgrade.js'
Require stack:
vendor/wikimedia/parsoid/core-upgrade.js
vendor/wikimedia/parsoid/bin/normalize.test.js
2 |
3 | // Register prfun's Promises with node-pn
> 4 | var Promise = require('./lib/utils/promise.js');
| ^
5 | require('pn/_promise')(Promise); // This only needs to be done once.
6 |
7 | // Comments below annotate the highest lts version of node for which the
at Resolver._throwModNotFoundError (node_modules/jest-resolve/build/resolver.js:427:11)
at Object.require (vendor/wikimedia/parsoid/core-upgrade.js:4:15)
at Object.require (vendor/wikimedia/parsoid/bin/normalize.test.js:5:1)
FAIL tests/jest/mediawiki.special.block/ReasonField.test.js
● Test suite failed to run
Jest encountered an unexpected token
Jest failed to parse a file. This happens e.g. when your code or its dependencies use non-standard JavaScript syntax, or when Jest is not configured to support such syntax.
Out of the box Jest supports Babel, which will be used to transform your files into valid JS based on your Babel configuration.
By default "node_modules" folder is ignored by transformers.
Here's what you can do:
• If you are trying to use ECMAScript Modules, see https://jestjs.io/docs/ecmascript-modules for how to enable it.
• If you are trying to use TypeScript, see https://jestjs.io/docs/getting-started#using-typescript
• To have some of your "node_modules" files transformed, you can specify a custom "transformIgnorePatterns" in your config.
• If you need a custom transformation specify a "transform" option in your config.
• If you simply want to mock your non-JS modules (e.g. binary assets) you can stub them out with the "moduleNameMapper" config option.
You'll find more details and examples of these config options in the docs:
https://jestjs.io/docs/configuration
For information about custom transformations, see:
https://jestjs.io/docs/code-transformation
Details:
/src/repo/resources/src/mediawiki.special.block/components/ReasonField.vue:1
({"Object.<anonymous>":function(module,exports,require,__dirname,__filename,jest){<template>
^
SyntaxError: Unexpected token '<'
2 |
3 | const { mount, shallowMount } = require( '@vue/test-utils' );
> 4 | const ReasonField = require( '../../../resources/src/mediawiki.special.block/components/ReasonField.vue' );
| ^
5 | const { mockMwConfigGet } = require( './SpecialBlock.setup.js' );
6 |
7 | describe( 'ReasonField', () => {
at Runtime.createScriptFromCode (node_modules/jest-runtime/build/index.js:1505:14)
at Object.require (tests/jest/mediawiki.special.block/ReasonField.test.js:4:21)
FAIL tests/qunit/resources/mediawiki.template.test.js
● Test suite failed to run
ReferenceError: QUnit is not defined
1 | ( function () {
2 |
> 3 | QUnit.module( 'mediawiki.template', {
| ^
4 | beforeEach: function () {
5 | const abcCompiler = {
6 | compile: function () {
at QUnit (tests/qunit/resources/mediawiki.template.test.js:3:2)
at Object.<anonymous> (tests/qunit/resources/mediawiki.template.test.js:63:2)
FAIL tests/qunit/resources/mediawiki.api/mediawiki.api.parse.test.js
● Test suite failed to run
ReferenceError: QUnit is not defined
> 1 | QUnit.module( 'mediawiki.api.edit', ( hooks ) => {
| ^
2 | let server;
3 | hooks.beforeEach( function () {
4 | server = this.sandbox.useFakeServer();
at Object.<anonymous> (tests/qunit/resources/mediawiki.api/mediawiki.api.parse.test.js:1:50)
FAIL tests/jest/mediawiki.special.block/BlockDetailsField.test.js
● Test suite failed to run
Jest encountered an unexpected token
Jest failed to parse a file. This happens e.g. when your code or its dependencies use non-standard JavaScript syntax, or when Jest is not configured to support such syntax.
Out of the box Jest supports Babel, which will be used to transform your files into valid JS based on your Babel configuration.
By default "node_modules" folder is ignored by transformers.
Here's what you can do:
• If you are trying to use ECMAScript Modules, see https://jestjs.io/docs/ecmascript-modules for how to enable it.
• If you are trying to use TypeScript, see https://jestjs.io/docs/getting-started#using-typescript
• To have some of your "node_modules" files transformed, you can specify a custom "transformIgnorePatterns" in your config.
• If you need a custom transformation specify a "transform" option in your config.
• If you simply want to mock your non-JS modules (e.g. binary assets) you can stub them out with the "moduleNameMapper" config option.
You'll find more details and examples of these config options in the docs:
https://jestjs.io/docs/configuration
For information about custom transformations, see:
https://jestjs.io/docs/code-transformation
Details:
/src/repo/resources/src/mediawiki.special.block/SpecialBlock.vue:1
({"Object.<anonymous>":function(module,exports,require,__dirname,__filename,jest){<template>
^
SyntaxError: Unexpected token '<'
4 | const { createTestingPinia } = require( '@pinia/testing' );
5 |
> 6 | const SpecialBlock = require( '../../../resources/src/mediawiki.special.block/SpecialBlock.vue' );
| ^
7 |
8 | /**
9 | * Mount the SpecialBlock component with the default configuration,
at Runtime.createScriptFromCode (node_modules/jest-runtime/build/index.js:1505:14)
at Object.require (tests/jest/mediawiki.special.block/SpecialBlock.setup.js:6:22)
at Object.require (tests/jest/mediawiki.special.block/BlockDetailsField.test.js:5:29)
FAIL tests/qunit/resources/mediawiki.api/mediawiki.api.messages.test.js
● Test suite failed to run
ReferenceError: QUnit is not defined
> 1 | QUnit.module( 'mediawiki.api.messages', ( hooks ) => {
| ^
2 | let server;
3 | hooks.beforeEach( function () {
4 | server = this.sandbox.useFakeServer();
at Object.<anonymous> (tests/qunit/resources/mediawiki.api/mediawiki.api.messages.test.js:1:54)
FAIL tests/qunit/resources/mediawiki.experiments.test.js
● Test suite failed to run
ReferenceError: mw is not defined
1 | ( function () {
2 |
> 3 | const getBucket = mw.experiments.getBucket;
| ^
4 |
5 | function createExperiment() {
6 | return {
at mw (tests/qunit/resources/mediawiki.experiments.test.js:3:20)
at Object.<anonymous> (tests/qunit/resources/mediawiki.experiments.test.js:63:2)
FAIL tests/jest/mediawiki.special.block/init.test.js
● SpecialBlock init.js › should give the form the ID mw-block-form
The error below may be caused by using the wrong test environment, see https://jestjs.io/docs/configuration#testenvironment-string.
Consider using the "jsdom" test environment.
ReferenceError: document is not defined
5 |
6 | beforeEach( () => {
> 7 | document.body.innerHTML = '';
| ^
8 | const form = document.createElement( 'form' );
9 | form.className = 'mw-htmlform';
10 | document.body.appendChild( form );
at Object.document (tests/jest/mediawiki.special.block/init.test.js:7:3)
● SpecialBlock init.js › should do nothing if there is no mw-htmlform
The error below may be caused by using the wrong test environment, see https://jestjs.io/docs/configuration#testenvironment-string.
Consider using the "jsdom" test environment.
ReferenceError: document is not defined
5 |
6 | beforeEach( () => {
> 7 | document.body.innerHTML = '';
| ^
8 | const form = document.createElement( 'form' );
9 | form.className = 'mw-htmlform';
10 | document.body.appendChild( form );
at Object.document (tests/jest/mediawiki.special.block/init.test.js:7:3)
FAIL tests/jest/mediawiki.special.block/AdditionalDetailsField.test.js
● Test suite failed to run
Jest encountered an unexpected token
Jest failed to parse a file. This happens e.g. when your code or its dependencies use non-standard JavaScript syntax, or when Jest is not configured to support such syntax.
Out of the box Jest supports Babel, which will be used to transform your files into valid JS based on your Babel configuration.
By default "node_modules" folder is ignored by transformers.
Here's what you can do:
• If you are trying to use ECMAScript Modules, see https://jestjs.io/docs/ecmascript-modules for how to enable it.
• If you are trying to use TypeScript, see https://jestjs.io/docs/getting-started#using-typescript
• To have some of your "node_modules" files transformed, you can specify a custom "transformIgnorePatterns" in your config.
• If you need a custom transformation specify a "transform" option in your config.
• If you simply want to mock your non-JS modules (e.g. binary assets) you can stub them out with the "moduleNameMapper" config option.
You'll find more details and examples of these config options in the docs:
https://jestjs.io/docs/configuration
For information about custom transformations, see:
https://jestjs.io/docs/code-transformation
Details:
/src/repo/resources/src/mediawiki.special.block/SpecialBlock.vue:1
({"Object.<anonymous>":function(module,exports,require,__dirname,__filename,jest){<template>
^
SyntaxError: Unexpected token '<'
4 | const { createTestingPinia } = require( '@pinia/testing' );
5 |
> 6 | const SpecialBlock = require( '../../../resources/src/mediawiki.special.block/SpecialBlock.vue' );
| ^
7 |
8 | /**
9 | * Mount the SpecialBlock component with the default configuration,
at Runtime.createScriptFromCode (node_modules/jest-runtime/build/index.js:1505:14)
at Object.require (tests/jest/mediawiki.special.block/SpecialBlock.setup.js:6:22)
at Object.require (tests/jest/mediawiki.special.block/AdditionalDetailsField.test.js:5:29)
FAIL tests/qunit/resources/mediawiki.widgets/NamespaceInput/mediawiki.widgets.NamespaceInputWidget.test.js
● Test suite failed to run
ReferenceError: QUnit is not defined
3 | */
4 |
> 5 | QUnit.module( 'mediawiki.widgets.NamespaceInputWidget' );
| ^
6 |
7 | ( function () {
8 | const widgetA = new mw.widgets.NamespaceInputWidget( {} );
at Object.QUnit (tests/qunit/resources/mediawiki.widgets/NamespaceInput/mediawiki.widgets.NamespaceInputWidget.test.js:5:1)
FAIL tests/qunit/resources/startup/jscompat.test.js
● Test suite failed to run
ReferenceError: QUnit is not defined
1 | // JavaScript compatibility tests to confirm that server and browser
2 | // are behaving consistently and configured correctly.
> 3 | QUnit.module( 'startup/jscompat', () => {
| ^
4 |
5 | QUnit.test( 'Unicode variable name', ( assert ) => {
6 | const ŝablono = true;
at Object.QUnit (tests/qunit/resources/startup/jscompat.test.js:3:1)
PASS tests/jest/mediawiki.skinning.typeaheadSearch/urlGenerator.test.js
FAIL tests/qunit/resources/mediawiki.special.block/AdditionalDetailsField.test.js
● Test suite failed to run
Cannot find module 'vue-test-utils' from 'tests/qunit/resources/mediawiki.special.block/AdditionalDetailsField.test.js'
> 1 | const { shallowMount } = require( 'vue-test-utils' );
| ^
2 | const { createPinia } = require( 'pinia' );
3 | const AdditionalDetailsField = require( 'mediawiki.special.block.codex/components/AdditionalDetailsField.vue' );
4 | const useBlockStore = require( 'mediawiki.special.block.codex/stores/block.js' );
at Resolver._throwModNotFoundError (node_modules/jest-resolve/build/resolver.js:427:11)
at Object.require (tests/qunit/resources/mediawiki.special.block/AdditionalDetailsField.test.js:1:26)
FAIL tests/qunit/resources/mediawiki.template.mustache.test.js
● Test suite failed to run
ReferenceError: QUnit is not defined
> 1 | QUnit.module( 'mediawiki.template.mustache', ( hooks ) => {
| ^
2 |
3 | hooks.beforeEach( function () {
4 | // Stub register some templates
at Object.<anonymous> (tests/qunit/resources/mediawiki.template.mustache.test.js:1:59)
FAIL tests/qunit/resources/mediawiki.messagePoster/factory.test.js
● Test suite failed to run
ReferenceError: QUnit is not defined
> 1 | QUnit.module( 'mediawiki.messagePoster', ( hooks ) => {
| ^
2 | const TEST_MODEL = 'test-content-model';
3 |
4 | hooks.afterEach( () => {
at Object.<anonymous> (tests/qunit/resources/mediawiki.messagePoster/factory.test.js:1:55)
FAIL tests/qunit/resources/mediawiki.inspect.test.js
● Test suite failed to run
ReferenceError: QUnit is not defined
> 1 | QUnit.module( 'mediawiki.inspect', () => {
| ^
2 |
3 | QUnit.test( '.getModuleSize() - scripts', ( assert ) => {
4 | // Use eval so that the size doesn't change depending on minification
at Object.<anonymous> (tests/qunit/resources/mediawiki.inspect.test.js:1:42)
FAIL tests/qunit/resources/mediawiki.api/mediawiki.api.upload.test.js
● Test suite failed to run
ReferenceError: QUnit is not defined
> 1 | QUnit.module( 'mediawiki.api.upload', () => {
| ^
2 |
3 | QUnit.test( 'Basic functionality', ( assert ) => {
4 | const api = new mw.Api();
at Object.<anonymous> (tests/qunit/resources/mediawiki.api/mediawiki.api.upload.test.js:1:45)
FAIL tests/qunit/resources/jquery.tablesorter.parsers.test.js
● Test suite failed to run
Your test suite must contain at least one test.
at onResult (node_modules/@jest/core/build/TestScheduler.js:133:18)
at node_modules/@jest/core/build/TestScheduler.js:254:19
at node_modules/emittery/index.js:363:13
at Array.map (<anonymous>)
at Emittery.emit (node_modules/emittery/index.js:361:23)
FAIL tests/qunit/resources/mediawiki.router.test.js
● Test suite failed to run
ReferenceError: QUnit is not defined
> 1 | QUnit.module( 'mediawiki.router', () => {
| ^
2 | const router = require( 'mediawiki.router' );
3 |
4 | QUnit.test( 'instance', ( assert ) => {
at Object.<anonymous> (tests/qunit/resources/mediawiki.router.test.js:1:41)
Summary of all failing tests
FAIL tests/qunit/resources/mediawiki.jqueryMsg.test.js
● Test suite failed to run
Cannot find module 'mediawiki.jqueryMsg' from 'tests/qunit/resources/mediawiki.jqueryMsg.test.js'
1 | ( function () {
> 2 | const jqueryMsg = require( 'mediawiki.jqueryMsg' ).test;
| ^
3 |
4 | /* eslint-disable camelcase */
5 | let formatText, formatParse, specialCharactersPageName, expectedListUsers,
at Resolver._throwModNotFoundError (node_modules/jest-resolve/build/resolver.js:427:11)
at require (tests/qunit/resources/mediawiki.jqueryMsg.test.js:2:20)
at Object.<anonymous> (tests/qunit/resources/mediawiki.jqueryMsg.test.js:1511:2)
FAIL tests/qunit/resources/jquery.tablesorter.test.js
● Test suite failed to run
ReferenceError: QUnit is not defined
> 1 | QUnit.module( 'jquery.tablesorter', QUnit.newMwEnvironment( {
| ^
2 | beforeEach: function () {
3 | this.liveMonths = mw.language.months;
4 | mw.language.months = {
at Object.<anonymous> (tests/qunit/resources/jquery.tablesorter.test.js:1:61)
FAIL tests/qunit/resources/mediawiki.rcfilters/dm.FiltersViewModel.test.js
● Test suite failed to run
Cannot find module 'mediawiki.rcfilters.filters.ui' from 'tests/qunit/resources/mediawiki.rcfilters/dm.FiltersViewModel.test.js'
1 | /* eslint-disable camelcase */
2 | ( function () {
> 3 | const rcfilters = require( 'mediawiki.rcfilters.filters.ui' );
| ^
4 | const filterDefinition = [ {
5 | name: 'group1',
6 | type: 'send_unselected_if_any',
at Resolver._throwModNotFoundError (node_modules/jest-resolve/build/resolver.js:427:11)
at require (tests/qunit/resources/mediawiki.rcfilters/dm.FiltersViewModel.test.js:3:20)
at Object.<anonymous> (tests/qunit/resources/mediawiki.rcfilters/dm.FiltersViewModel.test.js:1548:2)
FAIL tests/qunit/resources/startup/mw.loader.test.js
● Test suite failed to run
ReferenceError: QUnit is not defined
1 | ( function () {
> 2 | QUnit.module( 'mw.loader', QUnit.newMwEnvironment( {
| ^
3 | beforeEach: function ( assert ) {
4 | // Expose for load.mock.php
5 | mw.loader.testFail = function ( reason ) {
at QUnit (tests/qunit/resources/startup/mw.loader.test.js:2:2)
at Object.<anonymous> (tests/qunit/resources/startup/mw.loader.test.js:1236:2)
FAIL tests/qunit/resources/mediawiki.language.test.js
● Test suite failed to run
ReferenceError: QUnit is not defined
2 | 'use strict';
3 |
> 4 | QUnit.module( 'mediawiki.language', QUnit.newMwEnvironment( {
| ^
5 | beforeEach: function () {
6 | this.userLang = mw.config.get( 'wgUserLanguage' );
7 | this.liveLangData = mw.language.data;
at QUnit (tests/qunit/resources/mediawiki.language.test.js:4:2)
at Object.<anonymous> (tests/qunit/resources/mediawiki.language.test.js:914:2)
FAIL tests/qunit/resources/mediawiki.util/util.test.js
● Test suite failed to run
ReferenceError: QUnit is not defined
> 1 | QUnit.module( 'mediawiki.util', QUnit.newMwEnvironment( {
| ^
2 | messages: {
3 | // Used by accessKeyLabel in test for addPortletLink
4 | brackets: '[$1]',
at Object.<anonymous> (tests/qunit/resources/mediawiki.util/util.test.js:1:57)
FAIL tests/qunit/resources/mediawiki.Title.test.js
● Test suite failed to run
ReferenceError: QUnit is not defined
75 | };
76 |
> 77 | QUnit.module( 'mediawiki.Title', QUnit.newMwEnvironment( {
| ^
78 | // mw.Title relies on these three config vars
79 | // Restore them after each test run
80 | config: {
at QUnit (tests/qunit/resources/mediawiki.Title.test.js:77:2)
at Object.<anonymous> (tests/qunit/resources/mediawiki.Title.test.js:790:2)
FAIL tests/qunit/resources/jquery.makeCollapsible.test.js
● Test suite failed to run
ReferenceError: QUnit is not defined
1 | /* eslint-disable no-jquery/no-class-state */
> 2 | QUnit.module( 'jquery.makeCollapsible', () => {
| ^
3 | const loremIpsum = 'Lorem ipsum dolor sit amet, consectetuer adipiscing elit.';
4 |
5 | /**
at Object.QUnit (tests/qunit/resources/jquery.makeCollapsible.test.js:2:1)
FAIL tests/qunit/resources/mediawiki.Uri.test.js
● Test suite failed to run
ReferenceError: QUnit is not defined
> 1 | QUnit.module( 'mediawiki.Uri', ( hooks ) => {
| ^
2 | hooks.beforeEach( function () {
3 | this.sandbox.replace( mw, 'Uri', mw.UriRelative( 'http://example.org/w/index.php' ) );
4 | } );
at Object.<anonymous> (tests/qunit/resources/mediawiki.Uri.test.js:1:45)
FAIL tests/qunit/resources/mediawiki.api/mediawiki.api.test.js
● Test suite failed to run
ReferenceError: QUnit is not defined
> 1 | QUnit.module( 'mediawiki.api', ( hooks ) => {
| ^
2 | const originalFormData = window.FormData;
3 | const originalMwVersion = mw.config.get( 'wgVersion' );
4 | hooks.beforeEach( function () {
at Object.<anonymous> (tests/qunit/resources/mediawiki.api/mediawiki.api.test.js:1:45)
FAIL tests/qunit/resources/mediawiki.rcfilters/dm.SavedQueriesModel.test.js
● Test suite failed to run
Cannot find module 'mediawiki.rcfilters.filters.ui' from 'tests/qunit/resources/mediawiki.rcfilters/dm.SavedQueriesModel.test.js'
1 | /* eslint-disable camelcase */
2 | ( function () {
> 3 | const rcfilters = require( 'mediawiki.rcfilters.filters.ui' );
| ^
4 | const filterDefinition = [ {
5 | name: 'group1',
6 | type: 'send_unselected_if_any',
at Resolver._throwModNotFoundError (node_modules/jest-resolve/build/resolver.js:427:11)
at require (tests/qunit/resources/mediawiki.rcfilters/dm.SavedQueriesModel.test.js:3:20)
at Object.<anonymous> (tests/qunit/resources/mediawiki.rcfilters/dm.SavedQueriesModel.test.js:608:2)
FAIL tests/jest/mediawiki.special.block/SpecialBlock.test.js
● Test suite failed to run
Jest encountered an unexpected token
Jest failed to parse a file. This happens e.g. when your code or its dependencies use non-standard JavaScript syntax, or when Jest is not configured to support such syntax.
Out of the box Jest supports Babel, which will be used to transform your files into valid JS based on your Babel configuration.
By default "node_modules" folder is ignored by transformers.
Here's what you can do:
• If you are trying to use ECMAScript Modules, see https://jestjs.io/docs/ecmascript-modules for how to enable it.
• If you are trying to use TypeScript, see https://jestjs.io/docs/getting-started#using-typescript
• To have some of your "node_modules" files transformed, you can specify a custom "transformIgnorePatterns" in your config.
• If you need a custom transformation specify a "transform" option in your config.
• If you simply want to mock your non-JS modules (e.g. binary assets) you can stub them out with the "moduleNameMapper" config option.
You'll find more details and examples of these config options in the docs:
https://jestjs.io/docs/configuration
For information about custom transformations, see:
https://jestjs.io/docs/code-transformation
Details:
/src/repo/resources/src/mediawiki.special.block/SpecialBlock.vue:1
({"Object.<anonymous>":function(module,exports,require,__dirname,__filename,jest){<template>
^
SyntaxError: Unexpected token '<'
4 | const { createTestingPinia } = require( '@pinia/testing' );
5 |
> 6 | const SpecialBlock = require( '../../../resources/src/mediawiki.special.block/SpecialBlock.vue' );
| ^
7 |
8 | /**
9 | * Mount the SpecialBlock component with the default configuration,
at Runtime.createScriptFromCode (node_modules/jest-runtime/build/index.js:1505:14)
at Object.require (tests/jest/mediawiki.special.block/SpecialBlock.setup.js:6:22)
at Object.require (tests/jest/mediawiki.special.block/SpecialBlock.test.js:5:29)
FAIL tests/qunit/resources/mediawiki.user.test.js
● Test suite failed to run
ReferenceError: QUnit is not defined
> 1 | QUnit.module( 'mediawiki.user', QUnit.newMwEnvironment(), ( hooks ) => {
| ^
2 | hooks.beforeEach( function () {
3 | this.server = this.sandbox.useFakeServer();
4 | this.server.respondImmediately = true;
at Object.<anonymous> (tests/qunit/resources/mediawiki.user.test.js:1:72)
FAIL tests/qunit/resources/mediawiki.base/mediawiki.base.test.js
● Test suite failed to run
ReferenceError: QUnit is not defined
> 1 | QUnit.module( 'mediawiki.base', ( hooks ) => {
| ^
2 | hooks.beforeEach( function () {
3 | this.clock = this.sandbox.useFakeTimers();
4 | } );
at Object.<anonymous> (tests/qunit/resources/mediawiki.base/mediawiki.base.test.js:1:46)
FAIL tests/qunit/resources/mediawiki.DateFormatter/DateFormatter.test.js
● Test suite failed to run
ReferenceError: QUnit is not defined
9 | const norm = ( str ) => typeof str === 'string' ? str.replaceAll( '\u2009', ' ' ) : str;
10 |
> 11 | QUnit.module( 'mediawiki.DateFormatter static functions', ( hooks ) => {
| ^
12 | let userOptions;
13 |
14 | function fakeOptionsGet( key, fallback ) {
at Object.QUnit (tests/qunit/resources/mediawiki.DateFormatter/DateFormatter.test.js:11:1)
FAIL tests/qunit/resources/mediawiki.rcfilters/UriProcessor.test.js
● Test suite failed to run
Cannot find module 'mediawiki.rcfilters.filters.ui' from 'tests/qunit/resources/mediawiki.rcfilters/UriProcessor.test.js'
2 | /* eslint no-underscore-dangle: "off" */
3 | ( function () {
> 4 | const rcfilters = require( 'mediawiki.rcfilters.filters.ui' );
| ^
5 | const mockFilterStructure = [ {
6 | name: 'group1',
7 | title: 'Group 1',
at Resolver._throwModNotFoundError (node_modules/jest-resolve/build/resolver.js:427:11)
at require (tests/qunit/resources/mediawiki.rcfilters/UriProcessor.test.js:4:20)
at Object.<anonymous> (tests/qunit/resources/mediawiki.rcfilters/UriProcessor.test.js:309:2)
FAIL tests/qunit/resources/jquery.lengthLimit.test.js
● Test suite failed to run
ReferenceError: QUnit is not defined
> 1 | QUnit.module( 'jquery.lengthLimit', () => {
| ^
2 | // Simple sample (20 chars, 20 bytes)
3 | const simpleSample = '12345678901234567890';
4 |
at Object.<anonymous> (tests/qunit/resources/jquery.lengthLimit.test.js:1:43)
FAIL tests/qunit/resources/startup/mediawiki.test.js
● Test suite failed to run
Cannot find module 'mediawiki.jqueryMsg' from 'tests/qunit/resources/startup/mediawiki.test.js'
1 | ( function () {
> 2 | const jqueryMsg = require( 'mediawiki.jqueryMsg' ).test;
| ^
3 | QUnit.module( 'mediawiki' );
4 |
5 | QUnit.test( 'Initial check', ( assert ) => {
at Resolver._throwModNotFoundError (node_modules/jest-resolve/build/resolver.js:427:11)
at require (tests/qunit/resources/startup/mediawiki.test.js:2:20)
at Object.<anonymous> (tests/qunit/resources/startup/mediawiki.test.js:156:2)
FAIL tests/jest/mediawiki.special.block/stores/block.test.js
● Test suite failed to run
Jest encountered an unexpected token
Jest failed to parse a file. This happens e.g. when your code or its dependencies use non-standard JavaScript syntax, or when Jest is not configured to support such syntax.
Out of the box Jest supports Babel, which will be used to transform your files into valid JS based on your Babel configuration.
By default "node_modules" folder is ignored by transformers.
Here's what you can do:
• If you are trying to use ECMAScript Modules, see https://jestjs.io/docs/ecmascript-modules for how to enable it.
• If you are trying to use TypeScript, see https://jestjs.io/docs/getting-started#using-typescript
• To have some of your "node_modules" files transformed, you can specify a custom "transformIgnorePatterns" in your config.
• If you need a custom transformation specify a "transform" option in your config.
• If you simply want to mock your non-JS modules (e.g. binary assets) you can stub them out with the "moduleNameMapper" config option.
You'll find more details and examples of these config options in the docs:
https://jestjs.io/docs/configuration
For information about custom transformations, see:
https://jestjs.io/docs/code-transformation
Details:
/src/repo/resources/src/mediawiki.special.block/SpecialBlock.vue:1
({"Object.<anonymous>":function(module,exports,require,__dirname,__filename,jest){<template>
^
SyntaxError: Unexpected token '<'
4 | const { createTestingPinia } = require( '@pinia/testing' );
5 |
> 6 | const SpecialBlock = require( '../../../resources/src/mediawiki.special.block/SpecialBlock.vue' );
| ^
7 |
8 | /**
9 | * Mount the SpecialBlock component with the default configuration,
at Runtime.createScriptFromCode (node_modules/jest-runtime/build/index.js:1505:14)
at Object.require (tests/jest/mediawiki.special.block/SpecialBlock.setup.js:6:22)
at Object.require (tests/jest/mediawiki.special.block/stores/block.test.js:6:29)
FAIL tests/qunit/resources/jquery.highlightText.test.js
● Test suite failed to run
ReferenceError: QUnit is not defined
> 1 | QUnit.module( 'jquery.highlightText', () => {
| ^
2 |
3 | QUnit.test.each( 'highlightText()', [
4 | {
at Object.<anonymous> (tests/qunit/resources/jquery.highlightText.test.js:1:45)
FAIL tests/qunit/resources/mediawiki.util/accessKeyLabel.test.js
● Test suite failed to run
ReferenceError: QUnit is not defined
1 | ( function () {
> 2 | QUnit.module( 'mediawiki.util: jquery.accessKeyLabel', QUnit.newMwEnvironment( {
| ^
3 | messages: {
4 | brackets: '[$1]',
5 | 'word-separator': ' '
at QUnit (tests/qunit/resources/mediawiki.util/accessKeyLabel.test.js:2:2)
at Object.<anonymous> (tests/qunit/resources/mediawiki.util/accessKeyLabel.test.js:106:2)
FAIL tests/qunit/resources/mediawiki.widgets/MediaSearch/mediawiki.widgets.APIResultsQueue.test.js
● Test suite failed to run
ReferenceError: QUnit is not defined
5 | */
6 |
> 7 | QUnit.module( 'mediawiki.widgets.APIResultsQueue' );
| ^
8 |
9 | ( function () {
10 | let itemCounter = 0;
at Object.QUnit (tests/qunit/resources/mediawiki.widgets/MediaSearch/mediawiki.widgets.APIResultsQueue.test.js:7:1)
FAIL tests/qunit/resources/mediawiki.storage.test.js
● Test suite failed to run
ReferenceError: QUnit is not defined
2 | const EXPIRY_PREFIX = '_EXPIRY_';
3 |
> 4 | QUnit.module( 'mediawiki.storage' );
| ^
5 |
6 | QUnit.test( 'set/get(Object) with storage support', function ( assert ) {
7 | const data = {},
at QUnit (tests/qunit/resources/mediawiki.storage.test.js:4:2)
at Object.<anonymous> (tests/qunit/resources/mediawiki.storage.test.js:156:2)
FAIL tests/jest/mediawiki.special.block/BlockLog.test.js
● Test suite failed to run
Jest encountered an unexpected token
Jest failed to parse a file. This happens e.g. when your code or its dependencies use non-standard JavaScript syntax, or when Jest is not configured to support such syntax.
Out of the box Jest supports Babel, which will be used to transform your files into valid JS based on your Babel configuration.
By default "node_modules" folder is ignored by transformers.
Here's what you can do:
• If you are trying to use ECMAScript Modules, see https://jestjs.io/docs/ecmascript-modules for how to enable it.
• If you are trying to use TypeScript, see https://jestjs.io/docs/getting-started#using-typescript
• To have some of your "node_modules" files transformed, you can specify a custom "transformIgnorePatterns" in your config.
• If you need a custom transformation specify a "transform" option in your config.
• If you simply want to mock your non-JS modules (e.g. binary assets) you can stub them out with the "moduleNameMapper" config option.
You'll find more details and examples of these config options in the docs:
https://jestjs.io/docs/configuration
For information about custom transformations, see:
https://jestjs.io/docs/code-transformation
Details:
/src/repo/resources/src/mediawiki.special.block/SpecialBlock.vue:1
({"Object.<anonymous>":function(module,exports,require,__dirname,__filename,jest){<template>
^
SyntaxError: Unexpected token '<'
4 | const { createTestingPinia } = require( '@pinia/testing' );
5 |
> 6 | const SpecialBlock = require( '../../../resources/src/mediawiki.special.block/SpecialBlock.vue' );
| ^
7 |
8 | /**
9 | * Mount the SpecialBlock component with the default configuration,
at Runtime.createScriptFromCode (node_modules/jest-runtime/build/index.js:1505:14)
at Object.require (tests/jest/mediawiki.special.block/SpecialBlock.setup.js:6:22)
at Object.require (tests/jest/mediawiki.special.block/BlockLog.test.js:6:43)
FAIL tests/qunit/resources/mediawiki.api/mediawiki.api.edit.test.js
● Test suite failed to run
ReferenceError: QUnit is not defined
> 1 | QUnit.module( 'mediawiki.api.edit', ( hooks ) => {
| ^
2 | let server;
3 | hooks.beforeEach( function () {
4 | server = this.sandbox.useFakeServer();
at Object.<anonymous> (tests/qunit/resources/mediawiki.api/mediawiki.api.edit.test.js:1:50)
FAIL tests/qunit/resources/mediawiki.String.test.js
● Test suite failed to run
ReferenceError: QUnit is not defined
> 1 | QUnit.module( 'mediawiki.String', () => {
| ^
2 | const { byteLength } = require( 'mediawiki.String' );
3 |
4 | QUnit.test.each( 'byteLength()', {
at Object.<anonymous> (tests/qunit/resources/mediawiki.String.test.js:1:41)
FAIL tests/qunit/resources/mediawiki.api/mediawiki.api.options.test.js
● Test suite failed to run
ReferenceError: QUnit is not defined
> 1 | QUnit.module( 'mediawiki.api.options', QUnit.newMwEnvironment(), ( hooks ) => {
| ^
2 | mw.config.set( {
3 | wgUserName: 'Foo'
4 | } );
at Object.<anonymous> (tests/qunit/resources/mediawiki.api/mediawiki.api.options.test.js:1:79)
FAIL tests/qunit/resources/mediawiki.rcfilters/dm.FilterItem.test.js
● Test suite failed to run
ReferenceError: QUnit is not defined
1 | /* eslint-disable camelcase */
2 | ( function () {
> 3 | QUnit.module( 'mediawiki.rcfilters - FilterItem' );
| ^
4 | const rcfilters = require( 'mediawiki.rcfilters.filters.ui' );
5 |
6 | QUnit.test( 'Initializing filter item', ( assert ) => {
at QUnit (tests/qunit/resources/mediawiki.rcfilters/dm.FilterItem.test.js:3:2)
at Object.<anonymous> (tests/qunit/resources/mediawiki.rcfilters/dm.FilterItem.test.js:195:2)
FAIL tests/jest/mediawiki.special.block/UserLookup.test.js
● Test suite failed to run
Jest encountered an unexpected token
Jest failed to parse a file. This happens e.g. when your code or its dependencies use non-standard JavaScript syntax, or when Jest is not configured to support such syntax.
Out of the box Jest supports Babel, which will be used to transform your files into valid JS based on your Babel configuration.
By default "node_modules" folder is ignored by transformers.
Here's what you can do:
• If you are trying to use ECMAScript Modules, see https://jestjs.io/docs/ecmascript-modules for how to enable it.
• If you are trying to use TypeScript, see https://jestjs.io/docs/getting-started#using-typescript
• To have some of your "node_modules" files transformed, you can specify a custom "transformIgnorePatterns" in your config.
• If you need a custom transformation specify a "transform" option in your config.
• If you simply want to mock your non-JS modules (e.g. binary assets) you can stub them out with the "moduleNameMapper" config option.
You'll find more details and examples of these config options in the docs:
https://jestjs.io/docs/configuration
For information about custom transformations, see:
https://jestjs.io/docs/code-transformation
Details:
/src/repo/resources/src/mediawiki.special.block/SpecialBlock.vue:1
({"Object.<anonymous>":function(module,exports,require,__dirname,__filename,jest){<template>
^
SyntaxError: Unexpected token '<'
4 | const { createTestingPinia } = require( '@pinia/testing' );
5 |
> 6 | const SpecialBlock = require( '../../../resources/src/mediawiki.special.block/SpecialBlock.vue' );
| ^
7 |
8 | /**
9 | * Mount the SpecialBlock component with the default configuration,
at Runtime.createScriptFromCode (node_modules/jest-runtime/build/index.js:1505:14)
at Object.require (tests/jest/mediawiki.special.block/SpecialBlock.setup.js:6:22)
at Object.require (tests/jest/mediawiki.special.block/UserLookup.test.js:6:60)
FAIL tests/qunit/resources/mediawiki.cookie.test.js
● Test suite failed to run
Cannot find module 'mediawiki.cookie' from 'tests/qunit/resources/mediawiki.cookie.test.js'
11 | secure: false
12 | },
> 13 | mwCookie = require( 'mediawiki.cookie' ),
| ^
14 | setDefaults = mwCookie.setDefaults,
15 | expiryDate = new Date();
16 |
at Resolver._throwModNotFoundError (node_modules/jest-resolve/build/resolver.js:427:11)
at require (tests/qunit/resources/mediawiki.cookie.test.js:13:14)
at Object.<anonymous> (tests/qunit/resources/mediawiki.cookie.test.js:183:2)
FAIL tests/qunit/resources/mediawiki.visibleTimeout.test.js
● Test suite failed to run
ReferenceError: QUnit is not defined
> 1 | QUnit.module( 'mediawiki.visibleTimeout', QUnit.newMwEnvironment( {
| ^
2 | beforeEach: function () {
3 | // Document with just enough stuff to make the tests work.
4 | const listeners = [];
at Object.<anonymous> (tests/qunit/resources/mediawiki.visibleTimeout.test.js:1:67)
FAIL tests/qunit/resources/startup/mw.Map.test.js
● Test suite failed to run
ReferenceError: QUnit is not defined
5 | const arry = [];
6 |
> 7 | QUnit.module( 'mw.Map' );
| ^
8 |
9 | QUnit.test( 'Store simple string key', ( assert ) => {
10 | const conf = new mw.Map();
at QUnit (tests/qunit/resources/startup/mw.Map.test.js:7:2)
at Object.<anonymous> (tests/qunit/resources/startup/mw.Map.test.js:130:2)
FAIL tests/qunit/resources/jquery.textSelection.test.js
● Test suite failed to run
ReferenceError: QUnit is not defined
> 1 | QUnit.module( 'jquery.textSelection', () => {
| ^
2 | const sig = {
3 | pre: '--~~~~'
4 | };
at Object.<anonymous> (tests/qunit/resources/jquery.textSelection.test.js:1:45)
FAIL tests/jest/mediawiki.special.block/ExpiryField.test.js
● Test suite failed to run
Jest encountered an unexpected token
Jest failed to parse a file. This happens e.g. when your code or its dependencies use non-standard JavaScript syntax, or when Jest is not configured to support such syntax.
Out of the box Jest supports Babel, which will be used to transform your files into valid JS based on your Babel configuration.
By default "node_modules" folder is ignored by transformers.
Here's what you can do:
• If you are trying to use ECMAScript Modules, see https://jestjs.io/docs/ecmascript-modules for how to enable it.
• If you are trying to use TypeScript, see https://jestjs.io/docs/getting-started#using-typescript
• To have some of your "node_modules" files transformed, you can specify a custom "transformIgnorePatterns" in your config.
• If you need a custom transformation specify a "transform" option in your config.
• If you simply want to mock your non-JS modules (e.g. binary assets) you can stub them out with the "moduleNameMapper" config option.
You'll find more details and examples of these config options in the docs:
https://jestjs.io/docs/configuration
For information about custom transformations, see:
https://jestjs.io/docs/code-transformation
Details:
/src/repo/resources/src/mediawiki.special.block/SpecialBlock.vue:1
({"Object.<anonymous>":function(module,exports,require,__dirname,__filename,jest){<template>
^
SyntaxError: Unexpected token '<'
4 | const { createTestingPinia } = require( '@pinia/testing' );
5 |
> 6 | const SpecialBlock = require( '../../../resources/src/mediawiki.special.block/SpecialBlock.vue' );
| ^
7 |
8 | /**
9 | * Mount the SpecialBlock component with the default configuration,
at Runtime.createScriptFromCode (node_modules/jest-runtime/build/index.js:1505:14)
at Object.require (tests/jest/mediawiki.special.block/SpecialBlock.setup.js:6:22)
at Object.require (tests/jest/mediawiki.special.block/ExpiryField.test.js:5:29)
FAIL tests/qunit/resources/mediawiki.api/mediawiki.rest.test.js
● Test suite failed to run
ReferenceError: QUnit is not defined
> 1 | QUnit.module( 'mediawiki.rest', ( hooks ) => {
| ^
2 | let server;
3 | hooks.beforeEach( function () {
4 | server = this.sandbox.useFakeServer();
at Object.<anonymous> (tests/qunit/resources/mediawiki.api/mediawiki.rest.test.js:1:46)
FAIL tests/jest/mediawiki.skinning.typeaheadSearch/restSearchClient.test.js
● restApiSearchClient › 2 results
ReferenceError: mw is not defined
17 | wgContentNamespaces: [ 0 ]
18 | };
> 19 | mw.config.get.mockImplementation( ( key ) => mockConfig[ key ] );
| ^
20 | } );
21 |
22 | afterAll( () => {
at Object.mw (tests/jest/mediawiki.skinning.typeaheadSearch/restSearchClient.test.js:19:3)
● restApiSearchClient › 0 results
ReferenceError: mw is not defined
17 | wgContentNamespaces: [ 0 ]
18 | };
> 19 | mw.config.get.mockImplementation( ( key ) => mockConfig[ key ] );
| ^
20 | } );
21 |
22 | afterAll( () => {
at Object.mw (tests/jest/mediawiki.skinning.typeaheadSearch/restSearchClient.test.js:19:3)
● restApiSearchClient › no recommendations service
ReferenceError: mw is not defined
17 | wgContentNamespaces: [ 0 ]
18 | };
> 19 | mw.config.get.mockImplementation( ( key ) => mockConfig[ key ] );
| ^
20 | } );
21 |
22 | afterAll( () => {
at Object.mw (tests/jest/mediawiki.skinning.typeaheadSearch/restSearchClient.test.js:19:3)
● restApiSearchClient › recommendations service
ReferenceError: mw is not defined
17 | wgContentNamespaces: [ 0 ]
18 | };
> 19 | mw.config.get.mockImplementation( ( key ) => mockConfig[ key ] );
| ^
20 | } );
21 |
22 | afterAll( () => {
at Object.mw (tests/jest/mediawiki.skinning.typeaheadSearch/restSearchClient.test.js:19:3)
● restApiSearchClient › network error
ReferenceError: mw is not defined
17 | wgContentNamespaces: [ 0 ]
18 | };
> 19 | mw.config.get.mockImplementation( ( key ) => mockConfig[ key ] );
| ^
20 | } );
21 |
22 | afterAll( () => {
at Object.mw (tests/jest/mediawiki.skinning.typeaheadSearch/restSearchClient.test.js:19:3)
FAIL tests/qunit/resources/mediawiki.widgets/UserInputWidget/mediawiki.widgets.UserInputWidget.test.js
● Test suite failed to run
ReferenceError: QUnit is not defined
3 | */
4 |
> 5 | QUnit.module( 'mediawiki.widgets.UserInputWidget' );
| ^
6 |
7 | ( function () {
8 | const widgetWithDefaults = new mw.widgets.UserInputWidget( {} );
at Object.QUnit (tests/qunit/resources/mediawiki.widgets/UserInputWidget/mediawiki.widgets.UserInputWidget.test.js:5:1)
FAIL tests/qunit/resources/mediawiki.cldr.test.js
● Test suite failed to run
ReferenceError: QUnit is not defined
60 | };
61 |
> 62 | QUnit.module( 'mediawiki.cldr', QUnit.newMwEnvironment() );
| ^
63 |
64 | function pluralTest( langCode, tests ) {
65 | QUnit.test( 'Plural Test for ' + langCode, ( assert ) => {
at QUnit (tests/qunit/resources/mediawiki.cldr.test.js:62:2)
at Object.<anonymous> (tests/qunit/resources/mediawiki.cldr.test.js:83:2)
FAIL tests/qunit/resources/mediawiki.deflate.test.js
● Test suite failed to run
ReferenceError: QUnit is not defined
> 1 | QUnit.module( 'mediawiki.deflate', () => {
| ^
2 | let seed = 1234567890;
3 | function getPseudoRandom() {
4 | seed = seed * 16807 % 2147483646;
at Object.<anonymous> (tests/qunit/resources/mediawiki.deflate.test.js:1:42)
FAIL tests/qunit/resources/mediawiki.api/mediawiki.api.category.test.js
● Test suite failed to run
ReferenceError: QUnit is not defined
> 1 | QUnit.module( 'mediawiki.api.category', ( hooks ) => {
| ^
2 | let server;
3 | hooks.beforeEach( function () {
4 | server = this.sandbox.useFakeServer();
at Object.<anonymous> (tests/qunit/resources/mediawiki.api/mediawiki.api.category.test.js:1:54)
FAIL tests/qunit/resources/mediawiki.pager.codex/limitSelectors.test.js
● Test suite failed to run
Cannot find module 'mediawiki.pager.codex/limitSelectors.js' from 'tests/qunit/resources/mediawiki.pager.codex/limitSelectors.test.js'
> 1 | const limitSelectors = require( 'mediawiki.pager.codex/limitSelectors.js' );
| ^
2 |
3 | QUnit.module( 'mediawiki.pager.codex.limitSelectors', QUnit.newMwEnvironment( {
4 | beforeEach: function () {
at Resolver._throwModNotFoundError (node_modules/jest-resolve/build/resolver.js:427:11)
at Object.<anonymous> (tests/qunit/resources/mediawiki.pager.codex/limitSelectors.test.js:1:76)
FAIL tests/qunit/resources/mediawiki.widgets/Table/mediawiki.widgets.TableWidget.test.js
● Test suite failed to run
ReferenceError: QUnit is not defined
3 | */
4 |
> 5 | QUnit.module( 'mediawiki.widgets.TableWidget' );
| ^
6 |
7 | ( function () {
8 | const widgetA = new mw.widgets.TableWidget( {
at Object.QUnit (tests/qunit/resources/mediawiki.widgets/Table/mediawiki.widgets.TableWidget.test.js:5:1)
FAIL tests/qunit/resources/startup/clientprefs.test.js
● Test suite failed to run
ReferenceError: QUnit is not defined
> 1 | QUnit.module( 'startup/clientprefs', () => {
| ^
2 | // See /resources/src/startup/clientprefs.js
3 | const clientprefs = mw.clientprefs;
4 |
at Object.<anonymous> (tests/qunit/resources/startup/clientprefs.test.js:1:44)
FAIL tests/qunit/resources/mediawiki.base/track.test.js
● Test suite failed to run
ReferenceError: QUnit is not defined
> 1 | QUnit.module( 'mediawiki.base/track', () => {
| ^
2 |
3 | QUnit.test( 'track', ( assert ) => {
4 | const sequence = [];
at Object.<anonymous> (tests/qunit/resources/mediawiki.base/track.test.js:1:45)
FAIL tests/jest/mediawiki.special.block/util.test.js
● util › sanitizeRange (IPv4 range)
ReferenceError: mw is not defined
71 | it.each( santizeRangeTestCases )( 'sanitizeRange ($title)',
72 | ( { input, expected, sanitizeIP, isIPv4Address, isIPv6Address } ) => {
> 73 | mw.util.sanitizeIP = jest.fn().mockReturnValue( sanitizeIP || input );
| ^
74 | mw.util.isIPv4Address = jest.fn().mockReturnValue( !!isIPv4Address );
75 | mw.util.isIPv6Address = jest.fn().mockReturnValue( !!isIPv6Address );
76 | expect( util.sanitizeRange( input ) ).toBe( expected );
at mw (tests/jest/mediawiki.special.block/util.test.js:73:4)
● util › sanitizeRange (IPv4 range 2)
ReferenceError: mw is not defined
71 | it.each( santizeRangeTestCases )( 'sanitizeRange ($title)',
72 | ( { input, expected, sanitizeIP, isIPv4Address, isIPv6Address } ) => {
> 73 | mw.util.sanitizeIP = jest.fn().mockReturnValue( sanitizeIP || input );
| ^
74 | mw.util.isIPv4Address = jest.fn().mockReturnValue( !!isIPv4Address );
75 | mw.util.isIPv6Address = jest.fn().mockReturnValue( !!isIPv6Address );
76 | expect( util.sanitizeRange( input ) ).toBe( expected );
at mw (tests/jest/mediawiki.special.block/util.test.js:73:4)
● util › sanitizeRange (IPv4 large range)
ReferenceError: mw is not defined
71 | it.each( santizeRangeTestCases )( 'sanitizeRange ($title)',
72 | ( { input, expected, sanitizeIP, isIPv4Address, isIPv6Address } ) => {
> 73 | mw.util.sanitizeIP = jest.fn().mockReturnValue( sanitizeIP || input );
| ^
74 | mw.util.isIPv4Address = jest.fn().mockReturnValue( !!isIPv4Address );
75 | mw.util.isIPv6Address = jest.fn().mockReturnValue( !!isIPv6Address );
76 | expect( util.sanitizeRange( input ) ).toBe( expected );
at mw (tests/jest/mediawiki.special.block/util.test.js:73:4)
● util › sanitizeRange (IPv4 intermediate range)
ReferenceError: mw is not defined
71 | it.each( santizeRangeTestCases )( 'sanitizeRange ($title)',
72 | ( { input, expected, sanitizeIP, isIPv4Address, isIPv6Address } ) => {
> 73 | mw.util.sanitizeIP = jest.fn().mockReturnValue( sanitizeIP || input );
| ^
74 | mw.util.isIPv4Address = jest.fn().mockReturnValue( !!isIPv4Address );
75 | mw.util.isIPv6Address = jest.fn().mockReturnValue( !!isIPv6Address );
76 | expect( util.sanitizeRange( input ) ).toBe( expected );
at mw (tests/jest/mediawiki.special.block/util.test.js:73:4)
● util › sanitizeRange (IPv4 silly range)
ReferenceError: mw is not defined
71 | it.each( santizeRangeTestCases )( 'sanitizeRange ($title)',
72 | ( { input, expected, sanitizeIP, isIPv4Address, isIPv6Address } ) => {
> 73 | mw.util.sanitizeIP = jest.fn().mockReturnValue( sanitizeIP || input );
| ^
74 | mw.util.isIPv4Address = jest.fn().mockReturnValue( !!isIPv4Address );
75 | mw.util.isIPv6Address = jest.fn().mockReturnValue( !!isIPv6Address );
76 | expect( util.sanitizeRange( input ) ).toBe( expected );
at mw (tests/jest/mediawiki.special.block/util.test.js:73:4)
● util › sanitizeRange (IPv4 non-range)
ReferenceError: mw is not defined
71 | it.each( santizeRangeTestCases )( 'sanitizeRange ($title)',
72 | ( { input, expected, sanitizeIP, isIPv4Address, isIPv6Address } ) => {
> 73 | mw.util.sanitizeIP = jest.fn().mockReturnValue( sanitizeIP || input );
| ^
74 | mw.util.isIPv4Address = jest.fn().mockReturnValue( !!isIPv4Address );
75 | mw.util.isIPv6Address = jest.fn().mockReturnValue( !!isIPv6Address );
76 | expect( util.sanitizeRange( input ) ).toBe( expected );
at mw (tests/jest/mediawiki.special.block/util.test.js:73:4)
● util › sanitizeRange (IPv6 range)
ReferenceError: mw is not defined
71 | it.each( santizeRangeTestCases )( 'sanitizeRange ($title)',
72 | ( { input, expected, sanitizeIP, isIPv4Address, isIPv6Address } ) => {
> 73 | mw.util.sanitizeIP = jest.fn().mockReturnValue( sanitizeIP || input );
| ^
74 | mw.util.isIPv4Address = jest.fn().mockReturnValue( !!isIPv4Address );
75 | mw.util.isIPv6Address = jest.fn().mockReturnValue( !!isIPv6Address );
76 | expect( util.sanitizeRange( input ) ).toBe( expected );
at mw (tests/jest/mediawiki.special.block/util.test.js:73:4)
● util › sanitizeRange (IPv6 range 2)
ReferenceError: mw is not defined
71 | it.each( santizeRangeTestCases )( 'sanitizeRange ($title)',
72 | ( { input, expected, sanitizeIP, isIPv4Address, isIPv6Address } ) => {
> 73 | mw.util.sanitizeIP = jest.fn().mockReturnValue( sanitizeIP || input );
| ^
74 | mw.util.isIPv4Address = jest.fn().mockReturnValue( !!isIPv4Address );
75 | mw.util.isIPv6Address = jest.fn().mockReturnValue( !!isIPv6Address );
76 | expect( util.sanitizeRange( input ) ).toBe( expected );
at mw (tests/jest/mediawiki.special.block/util.test.js:73:4)
● util › sanitizeRange (IPv6 large range)
ReferenceError: mw is not defined
71 | it.each( santizeRangeTestCases )( 'sanitizeRange ($title)',
72 | ( { input, expected, sanitizeIP, isIPv4Address, isIPv6Address } ) => {
> 73 | mw.util.sanitizeIP = jest.fn().mockReturnValue( sanitizeIP || input );
| ^
74 | mw.util.isIPv4Address = jest.fn().mockReturnValue( !!isIPv4Address );
75 | mw.util.isIPv6Address = jest.fn().mockReturnValue( !!isIPv6Address );
76 | expect( util.sanitizeRange( input ) ).toBe( expected );
at mw (tests/jest/mediawiki.special.block/util.test.js:73:4)
● util › sanitizeRange (IPv6 intermediate range)
ReferenceError: mw is not defined
71 | it.each( santizeRangeTestCases )( 'sanitizeRange ($title)',
72 | ( { input, expected, sanitizeIP, isIPv4Address, isIPv6Address } ) => {
> 73 | mw.util.sanitizeIP = jest.fn().mockReturnValue( sanitizeIP || input );
| ^
74 | mw.util.isIPv4Address = jest.fn().mockReturnValue( !!isIPv4Address );
75 | mw.util.isIPv6Address = jest.fn().mockReturnValue( !!isIPv6Address );
76 | expect( util.sanitizeRange( input ) ).toBe( expected );
at mw (tests/jest/mediawiki.special.block/util.test.js:73:4)
● util › sanitizeRange (IPv6 silly range)
ReferenceError: mw is not defined
71 | it.each( santizeRangeTestCases )( 'sanitizeRange ($title)',
72 | ( { input, expected, sanitizeIP, isIPv4Address, isIPv6Address } ) => {
> 73 | mw.util.sanitizeIP = jest.fn().mockReturnValue( sanitizeIP || input );
| ^
74 | mw.util.isIPv4Address = jest.fn().mockReturnValue( !!isIPv4Address );
75 | mw.util.isIPv6Address = jest.fn().mockReturnValue( !!isIPv6Address );
76 | expect( util.sanitizeRange( input ) ).toBe( expected );
at mw (tests/jest/mediawiki.special.block/util.test.js:73:4)
● util › sanitizeRange (IPv6 non range)
ReferenceError: mw is not defined
71 | it.each( santizeRangeTestCases )( 'sanitizeRange ($title)',
72 | ( { input, expected, sanitizeIP, isIPv4Address, isIPv6Address } ) => {
> 73 | mw.util.sanitizeIP = jest.fn().mockReturnValue( sanitizeIP || input );
| ^
74 | mw.util.isIPv4Address = jest.fn().mockReturnValue( !!isIPv4Address );
75 | mw.util.isIPv6Address = jest.fn().mockReturnValue( !!isIPv6Address );
76 | expect( util.sanitizeRange( input ) ).toBe( expected );
at mw (tests/jest/mediawiki.special.block/util.test.js:73:4)
● util › formatTimestamp
ReferenceError: mw is not defined
92 |
93 | it.each( formatTimestampCases )( 'formatTimestamp', ( { input, expected } ) => {
> 94 | mw.util.isInfinity = jest.fn().mockReturnValue( input === 'infinity' );
| ^
95 | expect( util.formatTimestamp( input ) ).toBe( expected );
96 | } );
97 | } );
at mw (tests/jest/mediawiki.special.block/util.test.js:94:3)
● util › formatTimestamp
ReferenceError: mw is not defined
92 |
93 | it.each( formatTimestampCases )( 'formatTimestamp', ( { input, expected } ) => {
> 94 | mw.util.isInfinity = jest.fn().mockReturnValue( input === 'infinity' );
| ^
95 | expect( util.formatTimestamp( input ) ).toBe( expected );
96 | } );
97 | } );
at mw (tests/jest/mediawiki.special.block/util.test.js:94:3)
FAIL tests/qunit/resources/mediawiki.ForeignApi/mediawiki.ForeignApi.test.js
● Test suite failed to run
ReferenceError: QUnit is not defined
> 1 | QUnit.module( 'mediawiki.ForeignApi', ( hooks ) => {
| ^
2 | const CoreForeignApi = require( 'mediawiki.ForeignApi.core' ).ForeignApi;
3 |
4 | hooks.beforeEach( function () {
at Object.<anonymous> (tests/qunit/resources/mediawiki.ForeignApi/mediawiki.ForeignApi.test.js:1:52)
FAIL tests/qunit/resources/mediawiki.base/html.test.js
● Test suite failed to run
ReferenceError: QUnit is not defined
> 1 | QUnit.module( 'mediawiki.base/html', () => {
| ^
2 |
3 | QUnit.test( 'escape', ( assert ) => {
4 | assert.throws(
at Object.<anonymous> (tests/qunit/resources/mediawiki.base/html.test.js:1:44)
FAIL tests/qunit/resources/testrunner.test.js
● Test suite failed to run
ReferenceError: QUnit is not defined
> 1 | QUnit.module( 'testrunner', () => {
| ^
2 | QUnit.test( 'assert.htmlEqual', ( assert ) => {
3 | assert.htmlEqual(
4 | '<div><p class="some classes" data-length="10">Child paragraph with <a href="http://example.com">A link</a></p>Regular text<span>A span</span></div>',
at Object.<anonymous> (tests/qunit/resources/testrunner.test.js:1:35)
FAIL tests/qunit/resources/mediawiki.ForeignApi/mediawiki.ForeignRest.test.js
● Test suite failed to run
ReferenceError: QUnit is not defined
> 1 | QUnit.module( 'mediawiki.ForeignRest', ( hooks ) => {
| ^
2 | const CoreForeignApi = require( 'mediawiki.ForeignApi.core' ).ForeignApi;
3 | const CoreForeignRest = require( 'mediawiki.ForeignApi.core' ).ForeignRest;
4 |
at Object.<anonymous> (tests/qunit/resources/mediawiki.ForeignApi/mediawiki.ForeignRest.test.js:1:53)
FAIL tests/jest/mediawiki.skinning.typeaheadSearch/fetch.test.js
● abort() using AbortController › Aborting an unfinished request throws an AbortError
The error below may be caused by using the wrong test environment, see https://jestjs.io/docs/configuration#testenvironment-string.
Consider using the "jsdom" test environment.
ReferenceError: window is not defined
27 | // so replacing it with no-op if it doesn't exist.
28 | // eslint-disable-next-line compat/compat
> 29 | const controller = window.AbortController ?
| ^
30 | // eslint-disable-next-line compat/compat
31 | new AbortController() :
32 | nullAbortController;
at window (resources/src/mediawiki.skinning.typeaheadSearch/fetch.js:29:21)
at Object.fetchJson (tests/jest/mediawiki.skinning.typeaheadSearch/fetch.test.js:12:28)
● abort() using AbortController › Aborting an unfinished request throws an AbortError
expect.assertions(1)
Expected one assertion to be called but received zero assertion calls.
8 | describe( 'abort() using AbortController', () => {
9 | test( 'Aborting an unfinished request throws an AbortError', async () => {
> 10 | expect.assertions( 1 );
| ^
11 |
12 | const { abort, fetch } = fetchJson( url );
13 |
at Object.assertions (tests/jest/mediawiki.skinning.typeaheadSearch/fetch.test.js:10:10)
● fetch() using window.fetch › 200 without init param passed
The error below may be caused by using the wrong test environment, see https://jestjs.io/docs/configuration#testenvironment-string.
Consider using the "jsdom" test environment.
ReferenceError: window is not defined
27 | // so replacing it with no-op if it doesn't exist.
28 | // eslint-disable-next-line compat/compat
> 29 | const controller = window.AbortController ?
| ^
30 | // eslint-disable-next-line compat/compat
31 | new AbortController() :
32 | nullAbortController;
at window (resources/src/mediawiki.skinning.typeaheadSearch/fetch.js:29:21)
at Object.fetchJson (tests/jest/mediawiki.skinning.typeaheadSearch/fetch.test.js:54:21)
● fetch() using window.fetch › 200 with init param passed
The error below may be caused by using the wrong test environment, see https://jestjs.io/docs/configuration#testenvironment-string.
Consider using the "jsdom" test environment.
ReferenceError: window is not defined
27 | // so replacing it with no-op if it doesn't exist.
28 | // eslint-disable-next-line compat/compat
> 29 | const controller = window.AbortController ?
| ^
30 | // eslint-disable-next-line compat/compat
31 | new AbortController() :
32 | nullAbortController;
at window (resources/src/mediawiki.skinning.typeaheadSearch/fetch.js:29:21)
at Object.fetchJson (tests/jest/mediawiki.skinning.typeaheadSearch/fetch.test.js:66:21)
● fetch() using window.fetch › 404 response
The error below may be caused by using the wrong test environment, see https://jestjs.io/docs/configuration#testenvironment-string.
Consider using the "jsdom" test environment.
ReferenceError: window is not defined
27 | // so replacing it with no-op if it doesn't exist.
28 | // eslint-disable-next-line compat/compat
> 29 | const controller = window.AbortController ?
| ^
30 | // eslint-disable-next-line compat/compat
31 | new AbortController() :
32 | nullAbortController;
at window (resources/src/mediawiki.skinning.typeaheadSearch/fetch.js:29:21)
at Object.fetchJson (tests/jest/mediawiki.skinning.typeaheadSearch/fetch.test.js:82:21)
● fetch() using window.fetch › 404 response
expect.assertions(1)
Expected one assertion to be called but received zero assertion calls.
79 |
80 | test( '404 response', async () => {
> 81 | expect.assertions( 1 );
| ^
82 | const { fetch } = fetchJson( '//en.wikipedia.org/doesNotExist' );
83 |
84 | await expect( fetch )
at Object.assertions (tests/jest/mediawiki.skinning.typeaheadSearch/fetch.test.js:81:10)
FAIL vendor/wikimedia/parsoid/bin/domdiff.test.js
● Test suite failed to run
Cannot find module './lib/utils/promise.js' from 'vendor/wikimedia/parsoid/core-upgrade.js'
Require stack:
vendor/wikimedia/parsoid/core-upgrade.js
vendor/wikimedia/parsoid/bin/domdiff.test.js
2 |
3 | // Register prfun's Promises with node-pn
> 4 | var Promise = require('./lib/utils/promise.js');
| ^
5 | require('pn/_promise')(Promise); // This only needs to be done once.
6 |
7 | // Comments below annotate the highest lts version of node for which the
at Resolver._throwModNotFoundError (node_modules/jest-resolve/build/resolver.js:427:11)
at Object.require (vendor/wikimedia/parsoid/core-upgrade.js:4:15)
at Object.require (vendor/wikimedia/parsoid/bin/domdiff.test.js:5:1)
FAIL tests/qunit/resources/mediawiki.base/errorLogger.test.js
● Test suite failed to run
ReferenceError: QUnit is not defined
> 1 | QUnit.module( 'mediawiki.base/errorLogger', () => {
| ^
2 |
3 | QUnit.test( 'installGlobalHandler', function ( assert ) {
4 | const errorMessage = 'Foo';
at Object.<anonymous> (tests/qunit/resources/mediawiki.base/errorLogger.test.js:1:51)
FAIL tests/qunit/resources/startup/mw.requestIdleCallback.test.js
● Test suite failed to run
ReferenceError: QUnit is not defined
1 | ( function () {
> 2 | QUnit.module( 'mw.requestIdleCallback', QUnit.newMwEnvironment( {
| ^
3 | beforeEach: function () {
4 | const clock = this.clock = this.sandbox.useFakeTimers();
5 |
at QUnit (tests/qunit/resources/startup/mw.requestIdleCallback.test.js:2:2)
at Object.<anonymous> (tests/qunit/resources/startup/mw.requestIdleCallback.test.js:105:2)
FAIL tests/jest/mediawiki.skinning.typeaheadSearch/App.test.js
● Test suite failed to run
Jest encountered an unexpected token
Jest failed to parse a file. This happens e.g. when your code or its dependencies use non-standard JavaScript syntax, or when Jest is not configured to support such syntax.
Out of the box Jest supports Babel, which will be used to transform your files into valid JS based on your Babel configuration.
By default "node_modules" folder is ignored by transformers.
Here's what you can do:
• If you are trying to use ECMAScript Modules, see https://jestjs.io/docs/ecmascript-modules for how to enable it.
• If you are trying to use TypeScript, see https://jestjs.io/docs/getting-started#using-typescript
• To have some of your "node_modules" files transformed, you can specify a custom "transformIgnorePatterns" in your config.
• If you need a custom transformation specify a "transform" option in your config.
• If you simply want to mock your non-JS modules (e.g. binary assets) you can stub them out with the "moduleNameMapper" config option.
You'll find more details and examples of these config options in the docs:
https://jestjs.io/docs/configuration
For information about custom transformations, see:
https://jestjs.io/docs/code-transformation
Details:
/src/repo/resources/src/mediawiki.skinning.typeaheadSearch/App.vue:1
({"Object.<anonymous>":function(module,exports,require,__dirname,__filename,jest){<template>
^
SyntaxError: Unexpected token '<'
1 | const VueTestUtils = require( '@vue/test-utils' );
> 2 | const App = require( '../../../resources/src/mediawiki.skinning.typeaheadSearch/App.vue' );
| ^
3 | const urlGeneratorFn = require( '../../../resources/src/mediawiki.skinning.typeaheadSearch/urlGenerator.js' );
4 | const scriptPath = '/w/index.php';
5 | const urlGenerator = urlGeneratorFn( scriptPath );
at Runtime.createScriptFromCode (node_modules/jest-runtime/build/index.js:1505:14)
at Object.require (tests/jest/mediawiki.skinning.typeaheadSearch/App.test.js:2:13)
FAIL tests/jest/mediawiki.special.block/NamespacesField.test.js
● Test suite failed to run
Jest encountered an unexpected token
Jest failed to parse a file. This happens e.g. when your code or its dependencies use non-standard JavaScript syntax, or when Jest is not configured to support such syntax.
Out of the box Jest supports Babel, which will be used to transform your files into valid JS based on your Babel configuration.
By default "node_modules" folder is ignored by transformers.
Here's what you can do:
• If you are trying to use ECMAScript Modules, see https://jestjs.io/docs/ecmascript-modules for how to enable it.
• If you are trying to use TypeScript, see https://jestjs.io/docs/getting-started#using-typescript
• To have some of your "node_modules" files transformed, you can specify a custom "transformIgnorePatterns" in your config.
• If you need a custom transformation specify a "transform" option in your config.
• If you simply want to mock your non-JS modules (e.g. binary assets) you can stub them out with the "moduleNameMapper" config option.
You'll find more details and examples of these config options in the docs:
https://jestjs.io/docs/configuration
For information about custom transformations, see:
https://jestjs.io/docs/code-transformation
Details:
/src/repo/resources/src/mediawiki.special.block/SpecialBlock.vue:1
({"Object.<anonymous>":function(module,exports,require,__dirname,__filename,jest){<template>
^
SyntaxError: Unexpected token '<'
4 | const { createTestingPinia } = require( '@pinia/testing' );
5 |
> 6 | const SpecialBlock = require( '../../../resources/src/mediawiki.special.block/SpecialBlock.vue' );
| ^
7 |
8 | /**
9 | * Mount the SpecialBlock component with the default configuration,
at Runtime.createScriptFromCode (node_modules/jest-runtime/build/index.js:1505:14)
at Object.require (tests/jest/mediawiki.special.block/SpecialBlock.setup.js:6:22)
at Object.require (tests/jest/mediawiki.special.block/NamespacesField.test.js:5:29)
FAIL tests/qunit/resources/mediawiki.api/mediawiki.api.watch.test.js
● Test suite failed to run
ReferenceError: QUnit is not defined
> 1 | QUnit.module( 'mediawiki.api.watch', ( hooks ) => {
| ^
2 | let server;
3 | hooks.beforeEach( function () {
4 | server = this.sandbox.useFakeServer();
at Object.<anonymous> (tests/qunit/resources/mediawiki.api/mediawiki.api.watch.test.js:1:51)
FAIL tests/jest/mediawiki.skinning.typeaheadSearch/instrumentation.test.js
● instrumentation › addWprovToSearchResultUrls without offset
ReferenceError: location is not defined
57 | return results.map( ( result, index ) => {
58 | if ( result.url ) {
> 59 | const url = new URL( result.url, location.href );
| ^
60 | url.searchParams.set( 'wprov', getWprovFromResultIndex( index + offset ) );
61 | result = Object.assign( {}, result, { url: url.toString() } );
62 | }
at location (resources/src/mediawiki.skinning.typeaheadSearch/instrumentation.js:59:37)
at Array.map (<anonymous>)
at Object.map [as addWprovToSearchResultUrls] (resources/src/mediawiki.skinning.typeaheadSearch/instrumentation.js:57:17)
at Object.addWprovToSearchResultUrls (tests/jest/mediawiki.skinning.typeaheadSearch/instrumentation.test.js:40:27)
● instrumentation › addWprovToSearchResultUrls with offset
ReferenceError: location is not defined
57 | return results.map( ( result, index ) => {
58 | if ( result.url ) {
> 59 | const url = new URL( result.url, location.href );
| ^
60 | url.searchParams.set( 'wprov', getWprovFromResultIndex( index + offset ) );
61 | result = Object.assign( {}, result, { url: url.toString() } );
62 | }
at location (resources/src/mediawiki.skinning.typeaheadSearch/instrumentation.js:59:37)
at Array.map (<anonymous>)
at Object.map [as addWprovToSearchResultUrls] (resources/src/mediawiki.skinning.typeaheadSearch/instrumentation.js:57:17)
at Object.addWprovToSearchResultUrls (tests/jest/mediawiki.skinning.typeaheadSearch/instrumentation.test.js:79:27)
FAIL tests/qunit/resources/mediawiki.toc.test.js
● Test suite failed to run
ReferenceError: QUnit is not defined
1 | ( function () {
> 2 | QUnit.module( 'mediawiki.toc', {
| ^
3 | beforeEach: function () {
4 | this.getCookie = this.stub( mw.cookie, 'get' ).returns( null );
5 | this.setCookie = this.stub( mw.cookie, 'set' ).returns( null );
at QUnit (tests/qunit/resources/mediawiki.toc.test.js:2:2)
at Object.<anonymous> (tests/qunit/resources/mediawiki.toc.test.js:42:2)
FAIL tests/qunit/resources/mediawiki.rcfilters/dm.SavedQueryItemModel.test.js
● Test suite failed to run
Cannot find module 'mediawiki.rcfilters.filters.ui' from 'tests/qunit/resources/mediawiki.rcfilters/dm.SavedQueryItemModel.test.js'
1 | /* eslint-disable camelcase */
2 | ( function () {
> 3 | const rcfilters = require( 'mediawiki.rcfilters.filters.ui' );
| ^
4 | const itemData = {
5 | params: {
6 | param1: '1',
at Resolver._throwModNotFoundError (node_modules/jest-resolve/build/resolver.js:427:11)
at require (tests/qunit/resources/mediawiki.rcfilters/dm.SavedQueryItemModel.test.js:3:20)
at Object.<anonymous> (tests/qunit/resources/mediawiki.rcfilters/dm.SavedQueryItemModel.test.js:88:2)
FAIL vendor/wikimedia/parsoid/bin/normalize.test.js
● Test suite failed to run
Cannot find module './lib/utils/promise.js' from 'vendor/wikimedia/parsoid/core-upgrade.js'
Require stack:
vendor/wikimedia/parsoid/core-upgrade.js
vendor/wikimedia/parsoid/bin/normalize.test.js
2 |
3 | // Register prfun's Promises with node-pn
> 4 | var Promise = require('./lib/utils/promise.js');
| ^
5 | require('pn/_promise')(Promise); // This only needs to be done once.
6 |
7 | // Comments below annotate the highest lts version of node for which the
at Resolver._throwModNotFoundError (node_modules/jest-resolve/build/resolver.js:427:11)
at Object.require (vendor/wikimedia/parsoid/core-upgrade.js:4:15)
at Object.require (vendor/wikimedia/parsoid/bin/normalize.test.js:5:1)
FAIL tests/jest/mediawiki.special.block/ReasonField.test.js
● Test suite failed to run
Jest encountered an unexpected token
Jest failed to parse a file. This happens e.g. when your code or its dependencies use non-standard JavaScript syntax, or when Jest is not configured to support such syntax.
Out of the box Jest supports Babel, which will be used to transform your files into valid JS based on your Babel configuration.
By default "node_modules" folder is ignored by transformers.
Here's what you can do:
• If you are trying to use ECMAScript Modules, see https://jestjs.io/docs/ecmascript-modules for how to enable it.
• If you are trying to use TypeScript, see https://jestjs.io/docs/getting-started#using-typescript
• To have some of your "node_modules" files transformed, you can specify a custom "transformIgnorePatterns" in your config.
• If you need a custom transformation specify a "transform" option in your config.
• If you simply want to mock your non-JS modules (e.g. binary assets) you can stub them out with the "moduleNameMapper" config option.
You'll find more details and examples of these config options in the docs:
https://jestjs.io/docs/configuration
For information about custom transformations, see:
https://jestjs.io/docs/code-transformation
Details:
/src/repo/resources/src/mediawiki.special.block/components/ReasonField.vue:1
({"Object.<anonymous>":function(module,exports,require,__dirname,__filename,jest){<template>
^
SyntaxError: Unexpected token '<'
2 |
3 | const { mount, shallowMount } = require( '@vue/test-utils' );
> 4 | const ReasonField = require( '../../../resources/src/mediawiki.special.block/components/ReasonField.vue' );
| ^
5 | const { mockMwConfigGet } = require( './SpecialBlock.setup.js' );
6 |
7 | describe( 'ReasonField', () => {
at Runtime.createScriptFromCode (node_modules/jest-runtime/build/index.js:1505:14)
at Object.require (tests/jest/mediawiki.special.block/ReasonField.test.js:4:21)
FAIL tests/qunit/resources/mediawiki.template.test.js
● Test suite failed to run
ReferenceError: QUnit is not defined
1 | ( function () {
2 |
> 3 | QUnit.module( 'mediawiki.template', {
| ^
4 | beforeEach: function () {
5 | const abcCompiler = {
6 | compile: function () {
at QUnit (tests/qunit/resources/mediawiki.template.test.js:3:2)
at Object.<anonymous> (tests/qunit/resources/mediawiki.template.test.js:63:2)
FAIL tests/qunit/resources/mediawiki.api/mediawiki.api.parse.test.js
● Test suite failed to run
ReferenceError: QUnit is not defined
> 1 | QUnit.module( 'mediawiki.api.edit', ( hooks ) => {
| ^
2 | let server;
3 | hooks.beforeEach( function () {
4 | server = this.sandbox.useFakeServer();
at Object.<anonymous> (tests/qunit/resources/mediawiki.api/mediawiki.api.parse.test.js:1:50)
FAIL tests/jest/mediawiki.special.block/BlockDetailsField.test.js
● Test suite failed to run
Jest encountered an unexpected token
Jest failed to parse a file. This happens e.g. when your code or its dependencies use non-standard JavaScript syntax, or when Jest is not configured to support such syntax.
Out of the box Jest supports Babel, which will be used to transform your files into valid JS based on your Babel configuration.
By default "node_modules" folder is ignored by transformers.
Here's what you can do:
• If you are trying to use ECMAScript Modules, see https://jestjs.io/docs/ecmascript-modules for how to enable it.
• If you are trying to use TypeScript, see https://jestjs.io/docs/getting-started#using-typescript
• To have some of your "node_modules" files transformed, you can specify a custom "transformIgnorePatterns" in your config.
• If you need a custom transformation specify a "transform" option in your config.
• If you simply want to mock your non-JS modules (e.g. binary assets) you can stub them out with the "moduleNameMapper" config option.
You'll find more details and examples of these config options in the docs:
https://jestjs.io/docs/configuration
For information about custom transformations, see:
https://jestjs.io/docs/code-transformation
Details:
/src/repo/resources/src/mediawiki.special.block/SpecialBlock.vue:1
({"Object.<anonymous>":function(module,exports,require,__dirname,__filename,jest){<template>
^
SyntaxError: Unexpected token '<'
4 | const { createTestingPinia } = require( '@pinia/testing' );
5 |
> 6 | const SpecialBlock = require( '../../../resources/src/mediawiki.special.block/SpecialBlock.vue' );
| ^
7 |
8 | /**
9 | * Mount the SpecialBlock component with the default configuration,
at Runtime.createScriptFromCode (node_modules/jest-runtime/build/index.js:1505:14)
at Object.require (tests/jest/mediawiki.special.block/SpecialBlock.setup.js:6:22)
at Object.require (tests/jest/mediawiki.special.block/BlockDetailsField.test.js:5:29)
FAIL tests/qunit/resources/mediawiki.api/mediawiki.api.messages.test.js
● Test suite failed to run
ReferenceError: QUnit is not defined
> 1 | QUnit.module( 'mediawiki.api.messages', ( hooks ) => {
| ^
2 | let server;
3 | hooks.beforeEach( function () {
4 | server = this.sandbox.useFakeServer();
at Object.<anonymous> (tests/qunit/resources/mediawiki.api/mediawiki.api.messages.test.js:1:54)
FAIL tests/qunit/resources/mediawiki.experiments.test.js
● Test suite failed to run
ReferenceError: mw is not defined
1 | ( function () {
2 |
> 3 | const getBucket = mw.experiments.getBucket;
| ^
4 |
5 | function createExperiment() {
6 | return {
at mw (tests/qunit/resources/mediawiki.experiments.test.js:3:20)
at Object.<anonymous> (tests/qunit/resources/mediawiki.experiments.test.js:63:2)
FAIL tests/jest/mediawiki.special.block/init.test.js
● SpecialBlock init.js › should give the form the ID mw-block-form
The error below may be caused by using the wrong test environment, see https://jestjs.io/docs/configuration#testenvironment-string.
Consider using the "jsdom" test environment.
ReferenceError: document is not defined
5 |
6 | beforeEach( () => {
> 7 | document.body.innerHTML = '';
| ^
8 | const form = document.createElement( 'form' );
9 | form.className = 'mw-htmlform';
10 | document.body.appendChild( form );
at Object.document (tests/jest/mediawiki.special.block/init.test.js:7:3)
● SpecialBlock init.js › should do nothing if there is no mw-htmlform
The error below may be caused by using the wrong test environment, see https://jestjs.io/docs/configuration#testenvironment-string.
Consider using the "jsdom" test environment.
ReferenceError: document is not defined
5 |
6 | beforeEach( () => {
> 7 | document.body.innerHTML = '';
| ^
8 | const form = document.createElement( 'form' );
9 | form.className = 'mw-htmlform';
10 | document.body.appendChild( form );
at Object.document (tests/jest/mediawiki.special.block/init.test.js:7:3)
FAIL tests/jest/mediawiki.special.block/AdditionalDetailsField.test.js
● Test suite failed to run
Jest encountered an unexpected token
Jest failed to parse a file. This happens e.g. when your code or its dependencies use non-standard JavaScript syntax, or when Jest is not configured to support such syntax.
Out of the box Jest supports Babel, which will be used to transform your files into valid JS based on your Babel configuration.
By default "node_modules" folder is ignored by transformers.
Here's what you can do:
• If you are trying to use ECMAScript Modules, see https://jestjs.io/docs/ecmascript-modules for how to enable it.
• If you are trying to use TypeScript, see https://jestjs.io/docs/getting-started#using-typescript
• To have some of your "node_modules" files transformed, you can specify a custom "transformIgnorePatterns" in your config.
• If you need a custom transformation specify a "transform" option in your config.
• If you simply want to mock your non-JS modules (e.g. binary assets) you can stub them out with the "moduleNameMapper" config option.
You'll find more details and examples of these config options in the docs:
https://jestjs.io/docs/configuration
For information about custom transformations, see:
https://jestjs.io/docs/code-transformation
Details:
/src/repo/resources/src/mediawiki.special.block/SpecialBlock.vue:1
({"Object.<anonymous>":function(module,exports,require,__dirname,__filename,jest){<template>
^
SyntaxError: Unexpected token '<'
4 | const { createTestingPinia } = require( '@pinia/testing' );
5 |
> 6 | const SpecialBlock = require( '../../../resources/src/mediawiki.special.block/SpecialBlock.vue' );
| ^
7 |
8 | /**
9 | * Mount the SpecialBlock component with the default configuration,
at Runtime.createScriptFromCode (node_modules/jest-runtime/build/index.js:1505:14)
at Object.require (tests/jest/mediawiki.special.block/SpecialBlock.setup.js:6:22)
at Object.require (tests/jest/mediawiki.special.block/AdditionalDetailsField.test.js:5:29)
FAIL tests/qunit/resources/mediawiki.widgets/NamespaceInput/mediawiki.widgets.NamespaceInputWidget.test.js
● Test suite failed to run
ReferenceError: QUnit is not defined
3 | */
4 |
> 5 | QUnit.module( 'mediawiki.widgets.NamespaceInputWidget' );
| ^
6 |
7 | ( function () {
8 | const widgetA = new mw.widgets.NamespaceInputWidget( {} );
at Object.QUnit (tests/qunit/resources/mediawiki.widgets/NamespaceInput/mediawiki.widgets.NamespaceInputWidget.test.js:5:1)
FAIL tests/qunit/resources/startup/jscompat.test.js
● Test suite failed to run
ReferenceError: QUnit is not defined
1 | // JavaScript compatibility tests to confirm that server and browser
2 | // are behaving consistently and configured correctly.
> 3 | QUnit.module( 'startup/jscompat', () => {
| ^
4 |
5 | QUnit.test( 'Unicode variable name', ( assert ) => {
6 | const ŝablono = true;
at Object.QUnit (tests/qunit/resources/startup/jscompat.test.js:3:1)
FAIL tests/qunit/resources/mediawiki.special.block/AdditionalDetailsField.test.js
● Test suite failed to run
Cannot find module 'vue-test-utils' from 'tests/qunit/resources/mediawiki.special.block/AdditionalDetailsField.test.js'
> 1 | const { shallowMount } = require( 'vue-test-utils' );
| ^
2 | const { createPinia } = require( 'pinia' );
3 | const AdditionalDetailsField = require( 'mediawiki.special.block.codex/components/AdditionalDetailsField.vue' );
4 | const useBlockStore = require( 'mediawiki.special.block.codex/stores/block.js' );
at Resolver._throwModNotFoundError (node_modules/jest-resolve/build/resolver.js:427:11)
at Object.require (tests/qunit/resources/mediawiki.special.block/AdditionalDetailsField.test.js:1:26)
FAIL tests/qunit/resources/mediawiki.template.mustache.test.js
● Test suite failed to run
ReferenceError: QUnit is not defined
> 1 | QUnit.module( 'mediawiki.template.mustache', ( hooks ) => {
| ^
2 |
3 | hooks.beforeEach( function () {
4 | // Stub register some templates
at Object.<anonymous> (tests/qunit/resources/mediawiki.template.mustache.test.js:1:59)
FAIL tests/qunit/resources/mediawiki.messagePoster/factory.test.js
● Test suite failed to run
ReferenceError: QUnit is not defined
> 1 | QUnit.module( 'mediawiki.messagePoster', ( hooks ) => {
| ^
2 | const TEST_MODEL = 'test-content-model';
3 |
4 | hooks.afterEach( () => {
at Object.<anonymous> (tests/qunit/resources/mediawiki.messagePoster/factory.test.js:1:55)
FAIL tests/qunit/resources/mediawiki.inspect.test.js
● Test suite failed to run
ReferenceError: QUnit is not defined
> 1 | QUnit.module( 'mediawiki.inspect', () => {
| ^
2 |
3 | QUnit.test( '.getModuleSize() - scripts', ( assert ) => {
4 | // Use eval so that the size doesn't change depending on minification
at Object.<anonymous> (tests/qunit/resources/mediawiki.inspect.test.js:1:42)
FAIL tests/qunit/resources/mediawiki.api/mediawiki.api.upload.test.js
● Test suite failed to run
ReferenceError: QUnit is not defined
> 1 | QUnit.module( 'mediawiki.api.upload', () => {
| ^
2 |
3 | QUnit.test( 'Basic functionality', ( assert ) => {
4 | const api = new mw.Api();
at Object.<anonymous> (tests/qunit/resources/mediawiki.api/mediawiki.api.upload.test.js:1:45)
FAIL tests/qunit/resources/jquery.tablesorter.parsers.test.js
● Test suite failed to run
Your test suite must contain at least one test.
at onResult (node_modules/@jest/core/build/TestScheduler.js:133:18)
at node_modules/@jest/core/build/TestScheduler.js:254:19
at node_modules/emittery/index.js:363:13
at Array.map (<anonymous>)
at Emittery.emit (node_modules/emittery/index.js:361:23)
FAIL tests/qunit/resources/mediawiki.router.test.js
● Test suite failed to run
ReferenceError: QUnit is not defined
> 1 | QUnit.module( 'mediawiki.router', () => {
| ^
2 | const router = require( 'mediawiki.router' );
3 |
4 | QUnit.test( 'instance', ( assert ) => {
at Object.<anonymous> (tests/qunit/resources/mediawiki.router.test.js:1:41)
Test Suites: 77 failed, 1 passed, 78 total
Tests: 27 failed, 7 passed, 34 total
Snapshots: 0 total
Time: 4.639 s
Ran all test suites.
--- stdout ---
--- end ---
Traceback (most recent call last):
File "/venv/lib/python3.13/site-packages/runner/__init__.py", line 326, in npm_test
self.check_call(["npm", "test"])
~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
File "/venv/lib/python3.13/site-packages/runner/shell2.py", line 63, in check_call
res.check_returncode()
~~~~~~~~~~~~~~~~~~~~^^
File "/usr/lib/python3.13/subprocess.py", line 508, in check_returncode
raise CalledProcessError(self.returncode, self.args, self.stdout,
self.stderr)
subprocess.CalledProcessError: Command '['/usr/bin/npm', 'test']' returned non-zero exit status 1.
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/venv/lib/python3.13/site-packages/runner/__init__.py", line 2044, in main
libup.run(args.repo, args.output, args.branch)
~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/venv/lib/python3.13/site-packages/runner/__init__.py", line 1980, in run
self.npm_upgrade(plan)
~~~~~~~~~~~~~~~~^^^^^^
File "/venv/lib/python3.13/site-packages/runner/__init__.py", line 1259, in npm_upgrade
self.npm_test()
~~~~~~~~~~~~~^^
File "/venv/lib/python3.13/site-packages/runner/__init__.py", line 331, in npm_test
self.check_call(["node_modules/.bin/jest", "-u"])
~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/venv/lib/python3.13/site-packages/runner/shell2.py", line 63, in check_call
res.check_returncode()
~~~~~~~~~~~~~~~~~~~~^^
File "/usr/lib/python3.13/subprocess.py", line 508, in check_returncode
raise CalledProcessError(self.returncode, self.args, self.stdout,
self.stderr)
subprocess.CalledProcessError: Command '['node_modules/.bin/jest', '-u']' returned non-zero exit status 1.