This run took 53 seconds.
From d472d9c04896c4d6e1562e173be5e4194ce23f4a Mon Sep 17 00:00:00 2001 From: libraryupgrader <tools.libraryupgrader@tools.wmflabs.org> Date: Thu, 25 Apr 2024 14:36:32 +0000 Subject: [PATCH] build: Updating dependencies MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit composer: * mediawiki/mediawiki-codesniffer: 41.0.0 → 43.0.0 * mediawiki/mediawiki-phan-config: 0.12.1 → 0.14.0 * php-parallel-lint/php-parallel-lint: 1.3.2 → 1.4.0 npm: * eslint-config-wikimedia: 0.26.0 → 0.27.0 Change-Id: I1082143b77d70dfb2125de5fe615a7d38bae9152 --- composer.json | 9 +- includes/Api/ApiTeiConvert.php | 2 +- maintenance/GenerateTeiJsonDefinition.php | 4 +- package-lock.json | 735 +++++++++--------- package.json | 2 +- .../BetweenTeiAndHtmlConverterTest.php | 2 +- .../ContentModelValidatorTest.php | 24 +- 7 files changed, 382 insertions(+), 396 deletions(-) diff --git a/composer.json b/composer.json index 280454f..1befea0 100644 --- a/composer.json +++ b/composer.json @@ -10,11 +10,11 @@ "ext-libxml": "*" }, "require-dev": { - "mediawiki/mediawiki-codesniffer": "41.0.0", - "mediawiki/mediawiki-phan-config": "0.12.1", + "mediawiki/mediawiki-codesniffer": "43.0.0", + "mediawiki/mediawiki-phan-config": "0.14.0", "mediawiki/minus-x": "1.1.1", "php-parallel-lint/php-console-highlighter": "1.0.0", - "php-parallel-lint/php-parallel-lint": "1.3.2" + "php-parallel-lint/php-parallel-lint": "1.4.0" }, "scripts": { "test": [ @@ -31,7 +31,8 @@ }, "config": { "allow-plugins": { - "composer/installers": true + "composer/installers": true, + "dealerdirect/phpcodesniffer-composer-installer": true } } } diff --git a/includes/Api/ApiTeiConvert.php b/includes/Api/ApiTeiConvert.php index dcae577..b2748b2 100644 --- a/includes/Api/ApiTeiConvert.php +++ b/includes/Api/ApiTeiConvert.php @@ -106,7 +106,7 @@ class ApiTeiConvert extends ApiBase { $title = Title::makeTitle( NS_MAIN, 'API' ); } } else { - list( $title, $content ) = $this->getTitleAndContent( $params ); + [ $title, $content ] = $this->getTitleAndContent( $params ); if ( $from === null ) { $from = $content->getDefaultFormat(); diff --git a/maintenance/GenerateTeiJsonDefinition.php b/maintenance/GenerateTeiJsonDefinition.php index 9cc98df..bf23f2c 100644 --- a/maintenance/GenerateTeiJsonDefinition.php +++ b/maintenance/GenerateTeiJsonDefinition.php @@ -69,7 +69,7 @@ class GenerateTeiJsonDefinition extends Maintenance { } private function importSchema( $schemaIdent ) { - foreach ( $this->getElementsWithIdent( 'schemaSpec', $schemaIdent ) as $schemaSpec ) { + foreach ( $this->getElementsWithIdent( 'schemaSpec', $schemaIdent ) as $schemaSpec ) { $this->importSchemaSpec( $schemaSpec ); } } @@ -428,7 +428,7 @@ class GenerateTeiJsonDefinition extends Maintenance { 'proxy' => $proxy ] ); - list( $code, $desc, $header, $body, $err ) = $client->run( [ + [ $code, $desc, $header, $body, $err ] = $client->run( [ 'method' => 'GET', 'url' => 'http://www.tei-c.org/release/xml/tei/odd/p5subset.xml' ] ); diff --git a/package-lock.json b/package-lock.json index 0996c12..8211e71 100644 --- a/package-lock.json +++ b/package-lock.json @@ -6,7 +6,7 @@ "": { "name": "TEI", "devDependencies": { - "eslint-config-wikimedia": "0.26.0", + "eslint-config-wikimedia": "0.27.0", "grunt": "1.6.1", "grunt-banana-checker": "0.11.1", "grunt-eslint": "24.3.0", @@ -146,17 +146,17 @@ } }, "node_modules/@es-joy/jsdoccomment": { - "version": "0.37.1", - "resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.37.1.tgz", - "integrity": "sha512-5vxWJ1gEkEF0yRd0O+uK6dHJf7adrxwQSX8PuRiPfFSAbNLnY0ZJfXaZucoz14Jj2N11xn2DnlEPwWRpYpvRjg==", + "version": "0.42.0", + "resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.42.0.tgz", + "integrity": "sha512-R1w57YlVA6+YE01wch3GPYn6bCsrOV3YW/5oGGE2tmX6JcL9Nr+b5IikrjMPF+v9CV3ay+obImEdsDhovhJrzw==", "dev": true, "dependencies": { - "comment-parser": "1.3.1", + "comment-parser": "1.4.1", "esquery": "^1.5.0", "jsdoc-type-pratt-parser": "~4.0.0" }, "engines": { - "node": "^14 || ^16 || ^17 || ^18 || ^19 || ^20" + "node": ">=16" } }, "node_modules/@eslint-community/eslint-utils": { @@ -219,22 +219,22 @@ } }, "node_modules/@eslint/js": { - "version": "8.55.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.55.0.tgz", - "integrity": "sha512-qQfo2mxH5yVom1kacMtZZJFVdW+E70mqHMJvVg6WTLo+VBuQJ4TojZlfWBjK0ve5BdEeNAVxOsl/nvNMpJOaJA==", + "version": "8.57.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz", + "integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==", "dev": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, "node_modules/@humanwhocodes/config-array": { - "version": "0.11.13", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.13.tgz", - "integrity": "sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==", + "version": "0.11.14", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz", + "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==", "dev": true, "dependencies": { - "@humanwhocodes/object-schema": "^2.0.1", - "debug": "^4.1.1", + "@humanwhocodes/object-schema": "^2.0.2", + "debug": "^4.3.1", "minimatch": "^3.0.5" }, "engines": { @@ -255,9 +255,9 @@ } }, "node_modules/@humanwhocodes/object-schema": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.1.tgz", - "integrity": "sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", + "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", "dev": true }, "node_modules/@mdn/browser-compat-data": { @@ -326,9 +326,9 @@ "dev": true }, "node_modules/@types/semver": { - "version": "7.5.6", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.6.tgz", - "integrity": "sha512-dn1l8LaMea/IjDoHNd9J52uBbInB796CDffS6VdIxvqYCPSG0V0DzHp76GpaWnlhg88uYyPbXCDIowa86ybd5A==", + "version": "7.5.8", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz", + "integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==", "dev": true }, "node_modules/@typescript-eslint/scope-manager": { @@ -645,9 +645,9 @@ } }, "node_modules/browserslist": { - "version": "4.22.2", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.2.tgz", - "integrity": "sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A==", + "version": "4.23.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz", + "integrity": "sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==", "dev": true, "funding": [ { @@ -664,8 +664,8 @@ } ], "dependencies": { - "caniuse-lite": "^1.0.30001565", - "electron-to-chromium": "^1.4.601", + "caniuse-lite": "^1.0.30001587", + "electron-to-chromium": "^1.4.668", "node-releases": "^2.0.14", "update-browserslist-db": "^1.0.13" }, @@ -677,9 +677,9 @@ } }, "node_modules/browserslist-config-wikimedia": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/browserslist-config-wikimedia/-/browserslist-config-wikimedia-0.5.1.tgz", - "integrity": "sha512-jf532fUf/gaxiKdHgGCQUT552P5up3RpG+CzLixOQBJ5FwDmYQSRLYHCFUA9s3KMOHh4P3xVp+NUaGNxvtoT9g==", + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/browserslist-config-wikimedia/-/browserslist-config-wikimedia-0.6.1.tgz", + "integrity": "sha512-F3O+12ud7ZwBaiB/RZIMGDgz3nEuXz8RhtdPB4Lkd/WVP5Vy77EqBWRMz4vJ64x8LTTH3BOaHCD2ZuUcgShqyQ==", "dev": true }, "node_modules/builtin-modules": { @@ -695,9 +695,9 @@ } }, "node_modules/builtins": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/builtins/-/builtins-5.0.1.tgz", - "integrity": "sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/builtins/-/builtins-5.1.0.tgz", + "integrity": "sha512-SW9lzGTLvWTP1AY8xeAMZimqDrIaSdLQUcVr9DMef51niJ022Ri87SwRRKYm4A6iHfkPaiVUu/Duw2Wc4J7kKg==", "dev": true, "dependencies": { "semver": "^7.0.0" @@ -755,9 +755,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001566", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001566.tgz", - "integrity": "sha512-ggIhCsTxmITBAMmK8yZjEhCO5/47jKXPu6Dha/wuCS4JePVL+3uiDEBuhu2aIoT+bqTOR8L76Ip1ARL9xYsEJA==", + "version": "1.0.30001612", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001612.tgz", + "integrity": "sha512-lFgnZ07UhaCcsSZgWW0K5j4e69dK1u/ltrL9lTUiFOwNHs12S3UMIEYgBV0Z6C6hRDev7iRnMzzYmKabYdXF9g==", "dev": true, "funding": [ { @@ -798,9 +798,9 @@ } }, "node_modules/ci-info": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", - "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.0.0.tgz", + "integrity": "sha512-TdHqgGf9odd8SXNuxtUBVx8Nv+qZOejE6qyqiy5NtbYYQOeFa6zmHkxlPzmaLxWWHsU6nJmB7AETdVPi+2NBUg==", "dev": true, "funding": [ { @@ -875,9 +875,9 @@ } }, "node_modules/comment-parser": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-1.3.1.tgz", - "integrity": "sha512-B52sN2VNghyq5ofvUsqZjmk6YkihBX5vMSChmSK9v4ShjKf3Vk5Xcmgpw4o+iIgtrnM/u5FiMpz9VKb8lpBveA==", + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-1.4.1.tgz", + "integrity": "sha512-buhp5kePrmda3vhc5B9t7pUQXAb2Tnd0qgpkIhPhkHXxJpiPJ11H0ZEU0oBpJ2QztSbzG/ZxMj/CHsYJqRHmyg==", "dev": true, "engines": { "node": ">= 12.0.0" @@ -889,6 +889,19 @@ "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", "dev": true }, + "node_modules/core-js-compat": { + "version": "3.37.0", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.37.0.tgz", + "integrity": "sha512-vYq4L+T8aS5UuFg4UwDhc7YNRWVeVZwltad9C/jV3R2LgVOpS9BDr7l/WL6BN0dbV3k1XejPTHqqEzJgsa0frA==", + "dev": true, + "dependencies": { + "browserslist": "^4.23.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, "node_modules/core-util-is": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", @@ -1231,9 +1244,9 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.4.601", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.601.tgz", - "integrity": "sha512-SpwUMDWe9tQu8JX5QCO1+p/hChAi9AE9UpoC3rcHVc+gdCGlbT3SGb5I1klgb952HRIyvt9wZhSz9bNBYz9swA==", + "version": "1.4.748", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.748.tgz", + "integrity": "sha512-VWqjOlPZn70UZ8FTKUOkUvBLeTQ0xpty66qV0yJcAGY2/CthI4xyW9aEozRVtuwv3Kpf5xTesmJUcPwuJmgP4A==", "dev": true }, "node_modules/emoji-regex": { @@ -1285,16 +1298,16 @@ } }, "node_modules/eslint": { - "version": "8.55.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.55.0.tgz", - "integrity": "sha512-iyUUAM0PCKj5QpwGfmCAG9XXbZCWsqP/eWAWrG/W0umvjuLRBECwSFdt+rCntju0xEH7teIABPwXpahftIaTdA==", + "version": "8.57.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz", + "integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==", "dev": true, "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.6.1", "@eslint/eslintrc": "^2.1.4", - "@eslint/js": "8.55.0", - "@humanwhocodes/config-array": "^0.11.13", + "@eslint/js": "8.57.0", + "@humanwhocodes/config-array": "^0.11.14", "@humanwhocodes/module-importer": "^1.0.1", "@nodelib/fs.walk": "^1.2.8", "@ungap/structured-clone": "^1.2.0", @@ -1340,10 +1353,13 @@ } }, "node_modules/eslint-compat-utils": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/eslint-compat-utils/-/eslint-compat-utils-0.1.2.tgz", - "integrity": "sha512-Jia4JDldWnFNIru1Ehx1H5s9/yxiRHY/TimCuUc0jNexew3cF1gI6CYZil1ociakfWO3rRqFjl1mskBblB3RYg==", + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/eslint-compat-utils/-/eslint-compat-utils-0.5.0.tgz", + "integrity": "sha512-dc6Y8tzEcSYZMHa+CMPLi/hyo1FzNeonbhJL7Ol0ccuKQkwopJcJBA9YL/xmMTLU1eKigXo9vj9nALElWYSowg==", "dev": true, + "dependencies": { + "semver": "^7.5.4" + }, "engines": { "node": ">=12" }, @@ -1352,73 +1368,28 @@ } }, "node_modules/eslint-config-wikimedia": { - "version": "0.26.0", - "resolved": "https://registry.npmjs.org/eslint-config-wikimedia/-/eslint-config-wikimedia-0.26.0.tgz", - "integrity": "sha512-TAXTySls9k3oWs754rIjlcd9PBLvYeMvjqjiuU8u4gweu0UDgBJGslf+zcvVNXEooAtyLZdENjrzDDjG8ssS7Q==", + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/eslint-config-wikimedia/-/eslint-config-wikimedia-0.27.0.tgz", + "integrity": "sha512-KkZ54+MUnggz17C/RCEMXQSpiiqZRF7p9fjrz4phaaeKlTrjg0B+QbM5zcDWcjGiAWaJUptHaH17+RZldadkUw==", "dev": true, "dependencies": { - "browserslist-config-wikimedia": "^0.5.1", - "eslint": "^8.53.0", + "browserslist-config-wikimedia": "^0.6.1", + "eslint": "^8.57.0", "eslint-plugin-compat": "^4.2.0", - "eslint-plugin-es-x": "^7.3.0", - "eslint-plugin-jest": "^27.6.0", - "eslint-plugin-jsdoc": "^42.0.0", + "eslint-plugin-es-x": "^7.6.0", + "eslint-plugin-jest": "^27.9.0", + "eslint-plugin-jsdoc": "48.2.1", "eslint-plugin-json-es": "^1.5.7", - "eslint-plugin-mediawiki": "^0.5.0", - "eslint-plugin-mocha": "^10.2.0", - "eslint-plugin-n": "^16.0.1", + "eslint-plugin-mediawiki": "^0.6.0", + "eslint-plugin-mocha": "^10.4.1", + "eslint-plugin-n": "^16.6.2", "eslint-plugin-no-jquery": "^2.7.0", - "eslint-plugin-qunit": "^7.3.4", + "eslint-plugin-qunit": "^8.1.1", "eslint-plugin-security": "^1.7.1", - "eslint-plugin-unicorn": "^47.0.0", - "eslint-plugin-vue": "^9.18.1", - "eslint-plugin-wdio": "^7.19.4", - "eslint-plugin-yml": "^1.10.0" - } - }, - "node_modules/eslint-config-wikimedia/node_modules/eslint-plugin-vue": { - "version": "9.19.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-9.19.2.tgz", - "integrity": "sha512-CPDqTOG2K4Ni2o4J5wixkLVNwgctKXFu6oBpVJlpNq7f38lh9I80pRTouZSJ2MAebPJlINU/KTFSXyQfBUlymA==", - "dev": true, - "dependencies": { - "@eslint-community/eslint-utils": "^4.4.0", - "natural-compare": "^1.4.0", - "nth-check": "^2.1.1", - "postcss-selector-parser": "^6.0.13", - "semver": "^7.5.4", - "vue-eslint-parser": "^9.3.1", - "xml-name-validator": "^4.0.0" - }, - "engines": { - "node": "^14.17.0 || >=16.0.0" - }, - "peerDependencies": { - "eslint": "^6.2.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/eslint-config-wikimedia/node_modules/vue-eslint-parser": { - "version": "9.3.2", - "resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-9.3.2.tgz", - "integrity": "sha512-q7tWyCVaV9f8iQyIA5Mkj/S6AoJ9KBN8IeUSf3XEmBrOtxOZnfTg5s4KClbZBCK3GtnT/+RyCLZyDHuZwTuBjg==", - "dev": true, - "dependencies": { - "debug": "^4.3.4", - "eslint-scope": "^7.1.1", - "eslint-visitor-keys": "^3.3.0", - "espree": "^9.3.1", - "esquery": "^1.4.0", - "lodash": "^4.17.21", - "semver": "^7.3.6" - }, - "engines": { - "node": "^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - }, - "peerDependencies": { - "eslint": ">=6.0.0" + "eslint-plugin-unicorn": "^51.0.1", + "eslint-plugin-vue": "^9.23.0", + "eslint-plugin-wdio": "^8.24.12", + "eslint-plugin-yml": "^1.13.2" } }, "node_modules/eslint-plugin-compat": { @@ -1443,14 +1414,14 @@ } }, "node_modules/eslint-plugin-es-x": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-es-x/-/eslint-plugin-es-x-7.5.0.tgz", - "integrity": "sha512-ODswlDSO0HJDzXU0XvgZ3lF3lS3XAZEossh15Q2UHjwrJggWeBoKqqEsLTZLXl+dh5eOAozG0zRcYtuE35oTuQ==", + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-es-x/-/eslint-plugin-es-x-7.6.0.tgz", + "integrity": "sha512-I0AmeNgevgaTR7y2lrVCJmGYF0rjoznpDvqV/kIkZSZbZ8Rw3eu4cGlvBBULScfkSOCzqKbff5LR4CNrV7mZHA==", "dev": true, "dependencies": { "@eslint-community/eslint-utils": "^4.1.2", "@eslint-community/regexpp": "^4.6.0", - "eslint-compat-utils": "^0.1.2" + "eslint-compat-utils": "^0.5.0" }, "engines": { "node": "^14.18.0 || >=16.0.0" @@ -1463,9 +1434,9 @@ } }, "node_modules/eslint-plugin-jest": { - "version": "27.6.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-27.6.0.tgz", - "integrity": "sha512-MTlusnnDMChbElsszJvrwD1dN3x6nZl//s4JD23BxB6MgR66TZlL064su24xEIS3VACfAoHV1vgyMgPw8nkdng==", + "version": "27.9.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-27.9.0.tgz", + "integrity": "sha512-QIT7FH7fNmd9n4se7FFKHbsLKGQiw885Ds6Y/sxKgCZ6natwCsXdgPOADnYVxN2QrRweF0FZWbJ6S7Rsn7llug==", "dev": true, "dependencies": { "@typescript-eslint/utils": "^5.10.0" @@ -1474,7 +1445,7 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" }, "peerDependencies": { - "@typescript-eslint/eslint-plugin": "^5.0.0 || ^6.0.0", + "@typescript-eslint/eslint-plugin": "^5.0.0 || ^6.0.0 || ^7.0.0", "eslint": "^7.0.0 || ^8.0.0", "jest": "*" }, @@ -1488,25 +1459,36 @@ } }, "node_modules/eslint-plugin-jsdoc": { - "version": "42.0.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-42.0.0.tgz", - "integrity": "sha512-qXYr45G8atPKowZbIOdmABukMzu9IMjAlj6j5Fe0iuUItznWSXUDiBj57ejXcbt8bkPrg83333nuz+cqGKFgcQ==", + "version": "48.2.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-48.2.1.tgz", + "integrity": "sha512-iUvbcyDZSO/9xSuRv2HQBw++8VkV/pt3UWtX9cpPH0l7GKPq78QC/6+PmyQHHvNZaTjAce6QVciEbnc6J/zH5g==", "dev": true, "dependencies": { - "@es-joy/jsdoccomment": "~0.37.0", + "@es-joy/jsdoccomment": "~0.42.0", "are-docs-informative": "^0.0.2", - "comment-parser": "1.3.1", + "comment-parser": "1.4.1", "debug": "^4.3.4", "escape-string-regexp": "^4.0.0", "esquery": "^1.5.0", - "semver": "^7.3.8", - "spdx-expression-parse": "^3.0.1" + "is-builtin-module": "^3.2.1", + "semver": "^7.6.0", + "spdx-expression-parse": "^4.0.0" }, "engines": { - "node": "^14 || ^16 || ^17 || ^18 || ^19" + "node": ">=18" }, "peerDependencies": { - "eslint": "^7.0.0 || ^8.0.0" + "eslint": "^7.0.0 || ^8.0.0 || ^9.0.0" + } + }, + "node_modules/eslint-plugin-jsdoc/node_modules/spdx-expression-parse": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-4.0.0.tgz", + "integrity": "sha512-Clya5JIij/7C6bRR22+tnGXbc4VKlibKSVj2iHvVeX5iMW7s1SIQlqu699JkODJJIhh/pUu8L0/VLh8xflD+LQ==", + "dev": true, + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" } }, "node_modules/eslint-plugin-json-es": { @@ -1523,12 +1505,12 @@ } }, "node_modules/eslint-plugin-mediawiki": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-mediawiki/-/eslint-plugin-mediawiki-0.5.0.tgz", - "integrity": "sha512-rjkHFyv3VDan/dmu7YpD1Rl9h64NOlz4mqqesRN316R+571+ymmb6lXVOdNMbT8H1iPhmtHc+nijVLVkn7pYDw==", + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-mediawiki/-/eslint-plugin-mediawiki-0.6.0.tgz", + "integrity": "sha512-a2Zm18N5nPyflBajM2ZWATxucIpYPEmOSjFzUR1OBH3hAL0GY9fx1mpezEwzqAQ862d+kPkolgQOzktnZe8nKA==", "dev": true, "dependencies": { - "eslint-plugin-vue": "^8.7.1", + "eslint-plugin-vue": "^9.23.0", "upath": "^2.0.1" }, "peerDependencies": { @@ -1536,12 +1518,13 @@ } }, "node_modules/eslint-plugin-mocha": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-mocha/-/eslint-plugin-mocha-10.2.0.tgz", - "integrity": "sha512-ZhdxzSZnd1P9LqDPF0DBcFLpRIGdh1zkF2JHnQklKQOvrQtT73kdP5K9V2mzvbLR+cCAO9OI48NXK/Ax9/ciCQ==", + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/eslint-plugin-mocha/-/eslint-plugin-mocha-10.4.3.tgz", + "integrity": "sha512-emc4TVjq5Ht0/upR+psftuz6IBG5q279p+1dSRDeHf+NS9aaerBi3lXKo1SEzwC29hFIW21gO89CEWSvRsi8IQ==", "dev": true, "dependencies": { "eslint-utils": "^3.0.0", + "globals": "^13.24.0", "rambda": "^7.4.0" }, "engines": { @@ -1552,15 +1535,16 @@ } }, "node_modules/eslint-plugin-n": { - "version": "16.3.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-n/-/eslint-plugin-n-16.3.1.tgz", - "integrity": "sha512-w46eDIkxQ2FaTHcey7G40eD+FhTXOdKudDXPUO2n9WNcslze/i/HT2qJ3GXjHngYSGDISIgPNhwGtgoix4zeOw==", + "version": "16.6.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-n/-/eslint-plugin-n-16.6.2.tgz", + "integrity": "sha512-6TyDmZ1HXoFQXnhCTUjVFULReoBPOAjpuiKELMkeP40yffI/1ZRO+d9ug/VC6fqISo2WkuIBk3cvuRPALaWlOQ==", "dev": true, "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", "builtins": "^5.0.1", - "eslint-plugin-es-x": "^7.1.0", + "eslint-plugin-es-x": "^7.5.0", "get-tsconfig": "^4.7.0", + "globals": "^13.24.0", "ignore": "^5.2.4", "is-builtin-module": "^3.2.1", "is-core-module": "^2.12.1", @@ -1600,16 +1584,16 @@ } }, "node_modules/eslint-plugin-qunit": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/eslint-plugin-qunit/-/eslint-plugin-qunit-7.3.4.tgz", - "integrity": "sha512-EbDM0zJerH9zVdUswMJpcFF7wrrpvsGuYfNexUpa5hZkkdFhaFcX+yD+RSK4Nrauw4psMGlcqeWUMhaVo+Manw==", + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-qunit/-/eslint-plugin-qunit-8.1.1.tgz", + "integrity": "sha512-j3xhiAf2Wvr8Dfwl5T6tlJ+F55vqYE9ZdAHUOTzq1lGerYrXzOS46RvK4SSWug2D8sl3ZYr2lA4/hgVXgLloxw==", "dev": true, "dependencies": { "eslint-utils": "^3.0.0", "requireindex": "^1.2.0" }, "engines": { - "node": "12.x || 14.x || >=16.0.0" + "node": "^16.0.0 || ^18.0.0 || >=20.0.0" } }, "node_modules/eslint-plugin-security": { @@ -1622,26 +1606,26 @@ } }, "node_modules/eslint-plugin-unicorn": { - "version": "47.0.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-unicorn/-/eslint-plugin-unicorn-47.0.0.tgz", - "integrity": "sha512-ivB3bKk7fDIeWOUmmMm9o3Ax9zbMz1Bsza/R2qm46ufw4T6VBFBaJIR1uN3pCKSmSXm8/9Nri8V+iUut1NhQGA==", + "version": "51.0.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-unicorn/-/eslint-plugin-unicorn-51.0.1.tgz", + "integrity": "sha512-MuR/+9VuB0fydoI0nIn2RDA5WISRn4AsJyNSaNKLVwie9/ONvQhxOBbkfSICBPnzKrB77Fh6CZZXjgTt/4Latw==", "dev": true, "dependencies": { - "@babel/helper-validator-identifier": "^7.19.1", + "@babel/helper-validator-identifier": "^7.22.20", "@eslint-community/eslint-utils": "^4.4.0", - "ci-info": "^3.8.0", + "@eslint/eslintrc": "^2.1.4", + "ci-info": "^4.0.0", "clean-regexp": "^1.0.0", + "core-js-compat": "^3.34.0", "esquery": "^1.5.0", "indent-string": "^4.0.0", "is-builtin-module": "^3.2.1", "jsesc": "^3.0.2", - "lodash": "^4.17.21", "pluralize": "^8.0.0", "read-pkg-up": "^7.0.1", - "regexp-tree": "^0.1.24", + "regexp-tree": "^0.1.27", "regjsparser": "^0.10.0", - "safe-regex": "^2.1.1", - "semver": "^7.3.8", + "semver": "^7.5.4", "strip-indent": "^3.0.0" }, "engines": { @@ -1651,46 +1635,48 @@ "url": "https://github.com/sindresorhus/eslint-plugin-unicorn?sponsor=1" }, "peerDependencies": { - "eslint": ">=8.38.0" + "eslint": ">=8.56.0" } }, "node_modules/eslint-plugin-vue": { - "version": "8.7.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-8.7.1.tgz", - "integrity": "sha512-28sbtm4l4cOzoO1LtzQPxfxhQABararUb1JtqusQqObJpWX2e/gmVyeYVfepizPFne0Q5cILkYGiBoV36L12Wg==", + "version": "9.25.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-9.25.0.tgz", + "integrity": "sha512-tDWlx14bVe6Bs+Nnh3IGrD+hb11kf2nukfm6jLsmJIhmiRQ1SUaksvwY9U5MvPB0pcrg0QK0xapQkfITs3RKOA==", "dev": true, "dependencies": { - "eslint-utils": "^3.0.0", + "@eslint-community/eslint-utils": "^4.4.0", + "globals": "^13.24.0", "natural-compare": "^1.4.0", - "nth-check": "^2.0.1", - "postcss-selector-parser": "^6.0.9", - "semver": "^7.3.5", - "vue-eslint-parser": "^8.0.1" + "nth-check": "^2.1.1", + "postcss-selector-parser": "^6.0.15", + "semver": "^7.6.0", + "vue-eslint-parser": "^9.4.2", + "xml-name-validator": "^4.0.0" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^14.17.0 || >=16.0.0" }, "peerDependencies": { - "eslint": "^6.2.0 || ^7.0.0 || ^8.0.0" + "eslint": "^6.2.0 || ^7.0.0 || ^8.0.0 || ^9.0.0" } }, "node_modules/eslint-plugin-wdio": { - "version": "7.25.3", - "resolved": "https://registry.npmjs.org/eslint-plugin-wdio/-/eslint-plugin-wdio-7.25.3.tgz", - "integrity": "sha512-2zbYwV14Md9FNlyhaIILVGPB6w4bu2eJdOTywDUs2Qy4ebcQNwrxB0qCaf7Rm4O+T0Ir+tdYHYBBfbDocSLKng==", + "version": "8.24.12", + "resolved": "https://registry.npmjs.org/eslint-plugin-wdio/-/eslint-plugin-wdio-8.24.12.tgz", + "integrity": "sha512-OmzGteXFOQnJDdkTNnTfksaVa18WlFCyeLjZXHvDpkbomLWAg9wc296Pr0wnTCagqNj8qfEHpy+N2XVew5VCMA==", "dev": true, "engines": { - "node": ">=12.0.0" + "node": "^16.13 || >=18" } }, "node_modules/eslint-plugin-yml": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-yml/-/eslint-plugin-yml-1.10.0.tgz", - "integrity": "sha512-53SUwuNDna97lVk38hL/5++WXDuugPM9SUQ1T645R0EHMRCdBIIxGye/oOX2qO3FQ7aImxaUZJU/ju+NMUBrLQ==", + "version": "1.14.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-yml/-/eslint-plugin-yml-1.14.0.tgz", + "integrity": "sha512-ESUpgYPOcAYQO9czugcX5OqRvn/ydDVwGCPXY4YjPqc09rHaUVUA6IE6HLQys4rXk/S+qx3EwTd1wHCwam/OWQ==", "dev": true, "dependencies": { "debug": "^4.3.2", - "eslint-compat-utils": "^0.1.0", + "eslint-compat-utils": "^0.5.0", "lodash": "^4.17.21", "natural-compare": "^1.4.0", "yaml-eslint-parser": "^1.2.1" @@ -2154,9 +2140,9 @@ } }, "node_modules/get-tsconfig": { - "version": "4.7.2", - "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.7.2.tgz", - "integrity": "sha512-wuMsz4leaj5hbGgg4IvDU0bqJagpftG5l5cXIAvo8uZrqn0NJqwtfupTN00VnkQJPcIRrxYrm1Ue24btpCha2A==", + "version": "4.7.3", + "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.7.3.tgz", + "integrity": "sha512-ZvkrzoUA0PQZM6fy6+/Hce561s+faD1rsNwhnO5FelNjyy7EMGJ3Rz1AQ8GYDWjhRs/7dBLOEJvhK8MiEJOAFg==", "dev": true, "dependencies": { "resolve-pkg-maps": "^1.0.0" @@ -2233,9 +2219,9 @@ } }, "node_modules/globals": { - "version": "13.23.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.23.0.tgz", - "integrity": "sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==", + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", "dev": true, "dependencies": { "type-fest": "^0.20.2" @@ -3930,9 +3916,9 @@ } }, "node_modules/postcss-selector-parser": { - "version": "6.0.13", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz", - "integrity": "sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==", + "version": "6.0.16", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.16.tgz", + "integrity": "sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw==", "dev": true, "dependencies": { "cssesc": "^3.0.0", @@ -4174,9 +4160,9 @@ } }, "node_modules/regexp-tree": { - "version": "0.1.24", - "resolved": "https://registry.npmjs.org/regexp-tree/-/regexp-tree-0.1.24.tgz", - "integrity": "sha512-s2aEVuLhvnVJW6s/iPgEGK6R+/xngd2jNQ+xy4bXNDKxZKJH6jpPHY6kVeVv1IeLCHgswRj+Kl3ELaDjG6V1iw==", + "version": "0.1.27", + "resolved": "https://registry.npmjs.org/regexp-tree/-/regexp-tree-0.1.27.tgz", + "integrity": "sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA==", "dev": true, "bin": { "regexp-tree": "bin/regexp-tree" @@ -4389,9 +4375,9 @@ "dev": true }, "node_modules/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", "dev": true, "dependencies": { "lru-cache": "^6.0.0" @@ -5232,21 +5218,21 @@ } }, "node_modules/vue-eslint-parser": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-8.3.0.tgz", - "integrity": "sha512-dzHGG3+sYwSf6zFBa0Gi9ZDshD7+ad14DGOdTLjruRVgZXe2J+DcZ9iUhyR48z5g1PqRa20yt3Njna/veLJL/g==", + "version": "9.4.2", + "resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-9.4.2.tgz", + "integrity": "sha512-Ry9oiGmCAK91HrKMtCrKFWmSFWvYkpGglCeFAIqDdr9zdXmMMpJOmUJS7WWsW7fX81h6mwHmUZCQQ1E0PkSwYQ==", "dev": true, "dependencies": { - "debug": "^4.3.2", - "eslint-scope": "^7.0.0", - "eslint-visitor-keys": "^3.1.0", - "espree": "^9.0.0", + "debug": "^4.3.4", + "eslint-scope": "^7.1.1", + "eslint-visitor-keys": "^3.3.0", + "espree": "^9.3.1", "esquery": "^1.4.0", "lodash": "^4.17.21", - "semver": "^7.3.5" + "semver": "^7.3.6" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^14.17.0 || >=16.0.0" }, "funding": { "url": "https://github.com/sponsors/mysticatea" @@ -5370,10 +5356,13 @@ "dev": true }, "node_modules/yaml": { - "version": "2.3.4", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.4.tgz", - "integrity": "sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.4.1.tgz", + "integrity": "sha512-pIXzoImaqmfOrL7teGUBt/T7ZDnyeGBWyXQBvOVhLkWLN37GXv8NMLK406UY6dS51JfcQHsmcW5cJ441bHg6Lg==", "dev": true, + "bin": { + "yaml": "bin.mjs" + }, "engines": { "node": ">= 14" } @@ -5497,12 +5486,12 @@ "requires": {} }, "@es-joy/jsdoccomment": { - "version": "0.37.1", - "resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.37.1.tgz", - "integrity": "sha512-5vxWJ1gEkEF0yRd0O+uK6dHJf7adrxwQSX8PuRiPfFSAbNLnY0ZJfXaZucoz14Jj2N11xn2DnlEPwWRpYpvRjg==", + "version": "0.42.0", + "resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.42.0.tgz", + "integrity": "sha512-R1w57YlVA6+YE01wch3GPYn6bCsrOV3YW/5oGGE2tmX6JcL9Nr+b5IikrjMPF+v9CV3ay+obImEdsDhovhJrzw==", "dev": true, "requires": { - "comment-parser": "1.3.1", + "comment-parser": "1.4.1", "esquery": "^1.5.0", "jsdoc-type-pratt-parser": "~4.0.0" } @@ -5551,19 +5540,19 @@ } }, "@eslint/js": { - "version": "8.55.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.55.0.tgz", - "integrity": "sha512-qQfo2mxH5yVom1kacMtZZJFVdW+E70mqHMJvVg6WTLo+VBuQJ4TojZlfWBjK0ve5BdEeNAVxOsl/nvNMpJOaJA==", + "version": "8.57.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz", + "integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==", "dev": true }, "@humanwhocodes/config-array": { - "version": "0.11.13", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.13.tgz", - "integrity": "sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==", + "version": "0.11.14", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz", + "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==", "dev": true, "requires": { - "@humanwhocodes/object-schema": "^2.0.1", - "debug": "^4.1.1", + "@humanwhocodes/object-schema": "^2.0.2", + "debug": "^4.3.1", "minimatch": "^3.0.5" } }, @@ -5574,9 +5563,9 @@ "dev": true }, "@humanwhocodes/object-schema": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.1.tgz", - "integrity": "sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", + "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", "dev": true }, "@mdn/browser-compat-data": { @@ -5636,9 +5625,9 @@ "dev": true }, "@types/semver": { - "version": "7.5.6", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.6.tgz", - "integrity": "sha512-dn1l8LaMea/IjDoHNd9J52uBbInB796CDffS6VdIxvqYCPSG0V0DzHp76GpaWnlhg88uYyPbXCDIowa86ybd5A==", + "version": "7.5.8", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz", + "integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==", "dev": true }, "@typescript-eslint/scope-manager": { @@ -5866,21 +5855,21 @@ } }, "browserslist": { - "version": "4.22.2", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.2.tgz", - "integrity": "sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A==", + "version": "4.23.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz", + "integrity": "sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==", "dev": true, "requires": { - "caniuse-lite": "^1.0.30001565", - "electron-to-chromium": "^1.4.601", + "caniuse-lite": "^1.0.30001587", + "electron-to-chromium": "^1.4.668", "node-releases": "^2.0.14", "update-browserslist-db": "^1.0.13" } }, "browserslist-config-wikimedia": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/browserslist-config-wikimedia/-/browserslist-config-wikimedia-0.5.1.tgz", - "integrity": "sha512-jf532fUf/gaxiKdHgGCQUT552P5up3RpG+CzLixOQBJ5FwDmYQSRLYHCFUA9s3KMOHh4P3xVp+NUaGNxvtoT9g==", + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/browserslist-config-wikimedia/-/browserslist-config-wikimedia-0.6.1.tgz", + "integrity": "sha512-F3O+12ud7ZwBaiB/RZIMGDgz3nEuXz8RhtdPB4Lkd/WVP5Vy77EqBWRMz4vJ64x8LTTH3BOaHCD2ZuUcgShqyQ==", "dev": true }, "builtin-modules": { @@ -5890,9 +5879,9 @@ "dev": true }, "builtins": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/builtins/-/builtins-5.0.1.tgz", - "integrity": "sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/builtins/-/builtins-5.1.0.tgz", + "integrity": "sha512-SW9lzGTLvWTP1AY8xeAMZimqDrIaSdLQUcVr9DMef51niJ022Ri87SwRRKYm4A6iHfkPaiVUu/Duw2Wc4J7kKg==", "dev": true, "requires": { "semver": "^7.0.0" @@ -5931,9 +5920,9 @@ } }, "caniuse-lite": { - "version": "1.0.30001566", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001566.tgz", - "integrity": "sha512-ggIhCsTxmITBAMmK8yZjEhCO5/47jKXPu6Dha/wuCS4JePVL+3uiDEBuhu2aIoT+bqTOR8L76Ip1ARL9xYsEJA==", + "version": "1.0.30001612", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001612.tgz", + "integrity": "sha512-lFgnZ07UhaCcsSZgWW0K5j4e69dK1u/ltrL9lTUiFOwNHs12S3UMIEYgBV0Z6C6hRDev7iRnMzzYmKabYdXF9g==", "dev": true }, "chalk": { @@ -5956,9 +5945,9 @@ } }, "ci-info": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", - "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.0.0.tgz", + "integrity": "sha512-TdHqgGf9odd8SXNuxtUBVx8Nv+qZOejE6qyqiy5NtbYYQOeFa6zmHkxlPzmaLxWWHsU6nJmB7AETdVPi+2NBUg==", "dev": true }, "clean-regexp": { @@ -6017,9 +6006,9 @@ "dev": true }, "comment-parser": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-1.3.1.tgz", - "integrity": "sha512-B52sN2VNghyq5ofvUsqZjmk6YkihBX5vMSChmSK9v4ShjKf3Vk5Xcmgpw4o+iIgtrnM/u5FiMpz9VKb8lpBveA==", + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-1.4.1.tgz", + "integrity": "sha512-buhp5kePrmda3vhc5B9t7pUQXAb2Tnd0qgpkIhPhkHXxJpiPJ11H0ZEU0oBpJ2QztSbzG/ZxMj/CHsYJqRHmyg==", "dev": true }, "concat-map": { @@ -6028,6 +6017,15 @@ "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", "dev": true }, + "core-js-compat": { + "version": "3.37.0", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.37.0.tgz", + "integrity": "sha512-vYq4L+T8aS5UuFg4UwDhc7YNRWVeVZwltad9C/jV3R2LgVOpS9BDr7l/WL6BN0dbV3k1XejPTHqqEzJgsa0frA==", + "dev": true, + "requires": { + "browserslist": "^4.23.0" + } + }, "core-util-is": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", @@ -6276,9 +6274,9 @@ } }, "electron-to-chromium": { - "version": "1.4.601", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.601.tgz", - "integrity": "sha512-SpwUMDWe9tQu8JX5QCO1+p/hChAi9AE9UpoC3rcHVc+gdCGlbT3SGb5I1klgb952HRIyvt9wZhSz9bNBYz9swA==", + "version": "1.4.748", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.748.tgz", + "integrity": "sha512-VWqjOlPZn70UZ8FTKUOkUvBLeTQ0xpty66qV0yJcAGY2/CthI4xyW9aEozRVtuwv3Kpf5xTesmJUcPwuJmgP4A==", "dev": true }, "emoji-regex": { @@ -6315,16 +6313,16 @@ "dev": true }, "eslint": { - "version": "8.55.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.55.0.tgz", - "integrity": "sha512-iyUUAM0PCKj5QpwGfmCAG9XXbZCWsqP/eWAWrG/W0umvjuLRBECwSFdt+rCntju0xEH7teIABPwXpahftIaTdA==", + "version": "8.57.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz", + "integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==", "dev": true, "requires": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.6.1", "@eslint/eslintrc": "^2.1.4", - "@eslint/js": "8.55.0", - "@humanwhocodes/config-array": "^0.11.13", + "@eslint/js": "8.57.0", + "@humanwhocodes/config-array": "^0.11.14", "@humanwhocodes/module-importer": "^1.0.1", "@nodelib/fs.walk": "^1.2.8", "@ungap/structured-clone": "^1.2.0", @@ -6421,67 +6419,37 @@ } }, "eslint-compat-utils": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/eslint-compat-utils/-/eslint-compat-utils-0.1.2.tgz", - "integrity": "sha512-Jia4JDldWnFNIru1Ehx1H5s9/yxiRHY/TimCuUc0jNexew3cF1gI6CYZil1ociakfWO3rRqFjl1mskBblB3RYg==", + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/eslint-compat-utils/-/eslint-compat-utils-0.5.0.tgz", + "integrity": "sha512-dc6Y8tzEcSYZMHa+CMPLi/hyo1FzNeonbhJL7Ol0ccuKQkwopJcJBA9YL/xmMTLU1eKigXo9vj9nALElWYSowg==", "dev": true, - "requires": {} + "requires": { + "semver": "^7.5.4" + } }, "eslint-config-wikimedia": { - "version": "0.26.0", - "resolved": "https://registry.npmjs.org/eslint-config-wikimedia/-/eslint-config-wikimedia-0.26.0.tgz", - "integrity": "sha512-TAXTySls9k3oWs754rIjlcd9PBLvYeMvjqjiuU8u4gweu0UDgBJGslf+zcvVNXEooAtyLZdENjrzDDjG8ssS7Q==", + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/eslint-config-wikimedia/-/eslint-config-wikimedia-0.27.0.tgz", + "integrity": "sha512-KkZ54+MUnggz17C/RCEMXQSpiiqZRF7p9fjrz4phaaeKlTrjg0B+QbM5zcDWcjGiAWaJUptHaH17+RZldadkUw==", "dev": true, "requires": { - "browserslist-config-wikimedia": "^0.5.1", - "eslint": "^8.53.0", + "browserslist-config-wikimedia": "^0.6.1", + "eslint": "^8.57.0", "eslint-plugin-compat": "^4.2.0", - "eslint-plugin-es-x": "^7.3.0", - "eslint-plugin-jest": "^27.6.0", - "eslint-plugin-jsdoc": "^42.0.0", + "eslint-plugin-es-x": "^7.6.0", + "eslint-plugin-jest": "^27.9.0", + "eslint-plugin-jsdoc": "48.2.1", "eslint-plugin-json-es": "^1.5.7", - "eslint-plugin-mediawiki": "^0.5.0", - "eslint-plugin-mocha": "^10.2.0", - "eslint-plugin-n": "^16.0.1", + "eslint-plugin-mediawiki": "^0.6.0", + "eslint-plugin-mocha": "^10.4.1", + "eslint-plugin-n": "^16.6.2", "eslint-plugin-no-jquery": "^2.7.0", - "eslint-plugin-qunit": "^7.3.4", + "eslint-plugin-qunit": "^8.1.1", "eslint-plugin-security": "^1.7.1", - "eslint-plugin-unicorn": "^47.0.0", - "eslint-plugin-vue": "^9.18.1", - "eslint-plugin-wdio": "^7.19.4", - "eslint-plugin-yml": "^1.10.0" - }, - "dependencies": { - "eslint-plugin-vue": { - "version": "9.19.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-9.19.2.tgz", - "integrity": "sha512-CPDqTOG2K4Ni2o4J5wixkLVNwgctKXFu6oBpVJlpNq7f38lh9I80pRTouZSJ2MAebPJlINU/KTFSXyQfBUlymA==", - "dev": true, - "requires": { - "@eslint-community/eslint-utils": "^4.4.0", - "natural-compare": "^1.4.0", - "nth-check": "^2.1.1", - "postcss-selector-parser": "^6.0.13", - "semver": "^7.5.4", - "vue-eslint-parser": "^9.3.1", - "xml-name-validator": "^4.0.0" - } - }, - "vue-eslint-parser": { - "version": "9.3.2", - "resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-9.3.2.tgz", - "integrity": "sha512-q7tWyCVaV9f8iQyIA5Mkj/S6AoJ9KBN8IeUSf3XEmBrOtxOZnfTg5s4KClbZBCK3GtnT/+RyCLZyDHuZwTuBjg==", - "dev": true, - "requires": { - "debug": "^4.3.4", - "eslint-scope": "^7.1.1", - "eslint-visitor-keys": "^3.3.0", - "espree": "^9.3.1", - "esquery": "^1.4.0", - "lodash": "^4.17.21", - "semver": "^7.3.6" - } - } + "eslint-plugin-unicorn": "^51.0.1", + "eslint-plugin-vue": "^9.23.0", + "eslint-plugin-wdio": "^8.24.12", + "eslint-plugin-yml": "^1.13.2" } }, "eslint-plugin-compat": { @@ -6500,39 +6468,52 @@ } }, "eslint-plugin-es-x": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-es-x/-/eslint-plugin-es-x-7.5.0.tgz", - "integrity": "sha512-ODswlDSO0HJDzXU0XvgZ3lF3lS3XAZEossh15Q2UHjwrJggWeBoKqqEsLTZLXl+dh5eOAozG0zRcYtuE35oTuQ==", + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-es-x/-/eslint-plugin-es-x-7.6.0.tgz", + "integrity": "sha512-I0AmeNgevgaTR7y2lrVCJmGYF0rjoznpDvqV/kIkZSZbZ8Rw3eu4cGlvBBULScfkSOCzqKbff5LR4CNrV7mZHA==", "dev": true, "requires": { "@eslint-community/eslint-utils": "^4.1.2", "@eslint-community/regexpp": "^4.6.0", - "eslint-compat-utils": "^0.1.2" + "eslint-compat-utils": "^0.5.0" } }, "eslint-plugin-jest": { - "version": "27.6.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-27.6.0.tgz", - "integrity": "sha512-MTlusnnDMChbElsszJvrwD1dN3x6nZl//s4JD23BxB6MgR66TZlL064su24xEIS3VACfAoHV1vgyMgPw8nkdng==", + "version": "27.9.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-27.9.0.tgz", + "integrity": "sha512-QIT7FH7fNmd9n4se7FFKHbsLKGQiw885Ds6Y/sxKgCZ6natwCsXdgPOADnYVxN2QrRweF0FZWbJ6S7Rsn7llug==", "dev": true, "requires": { "@typescript-eslint/utils": "^5.10.0" } }, "eslint-plugin-jsdoc": { - "version": "42.0.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-42.0.0.tgz", - "integrity": "sha512-qXYr45G8atPKowZbIOdmABukMzu9IMjAlj6j5Fe0iuUItznWSXUDiBj57ejXcbt8bkPrg83333nuz+cqGKFgcQ==", + "version": "48.2.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-48.2.1.tgz", + "integrity": "sha512-iUvbcyDZSO/9xSuRv2HQBw++8VkV/pt3UWtX9cpPH0l7GKPq78QC/6+PmyQHHvNZaTjAce6QVciEbnc6J/zH5g==", "dev": true, "requires": { - "@es-joy/jsdoccomment": "~0.37.0", + "@es-joy/jsdoccomment": "~0.42.0", "are-docs-informative": "^0.0.2", - "comment-parser": "1.3.1", + "comment-parser": "1.4.1", "debug": "^4.3.4", "escape-string-regexp": "^4.0.0", "esquery": "^1.5.0", - "semver": "^7.3.8", - "spdx-expression-parse": "^3.0.1" + "is-builtin-module": "^3.2.1", + "semver": "^7.6.0", + "spdx-expression-parse": "^4.0.0" + }, + "dependencies": { + "spdx-expression-parse": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-4.0.0.tgz", + "integrity": "sha512-Clya5JIij/7C6bRR22+tnGXbc4VKlibKSVj2iHvVeX5iMW7s1SIQlqu699JkODJJIhh/pUu8L0/VLh8xflD+LQ==", + "dev": true, + "requires": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + } } }, "eslint-plugin-json-es": { @@ -6546,35 +6527,37 @@ } }, "eslint-plugin-mediawiki": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-mediawiki/-/eslint-plugin-mediawiki-0.5.0.tgz", - "integrity": "sha512-rjkHFyv3VDan/dmu7YpD1Rl9h64NOlz4mqqesRN316R+571+ymmb6lXVOdNMbT8H1iPhmtHc+nijVLVkn7pYDw==", + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-mediawiki/-/eslint-plugin-mediawiki-0.6.0.tgz", + "integrity": "sha512-a2Zm18N5nPyflBajM2ZWATxucIpYPEmOSjFzUR1OBH3hAL0GY9fx1mpezEwzqAQ862d+kPkolgQOzktnZe8nKA==", "dev": true, "requires": { - "eslint-plugin-vue": "^8.7.1", + "eslint-plugin-vue": "^9.23.0", "upath": "^2.0.1" } }, "eslint-plugin-mocha": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-mocha/-/eslint-plugin-mocha-10.2.0.tgz", - "integrity": "sha512-ZhdxzSZnd1P9LqDPF0DBcFLpRIGdh1zkF2JHnQklKQOvrQtT73kdP5K9V2mzvbLR+cCAO9OI48NXK/Ax9/ciCQ==", + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/eslint-plugin-mocha/-/eslint-plugin-mocha-10.4.3.tgz", + "integrity": "sha512-emc4TVjq5Ht0/upR+psftuz6IBG5q279p+1dSRDeHf+NS9aaerBi3lXKo1SEzwC29hFIW21gO89CEWSvRsi8IQ==", "dev": true, "requires": { "eslint-utils": "^3.0.0", + "globals": "^13.24.0", "rambda": "^7.4.0" } }, "eslint-plugin-n": { - "version": "16.3.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-n/-/eslint-plugin-n-16.3.1.tgz", - "integrity": "sha512-w46eDIkxQ2FaTHcey7G40eD+FhTXOdKudDXPUO2n9WNcslze/i/HT2qJ3GXjHngYSGDISIgPNhwGtgoix4zeOw==", + "version": "16.6.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-n/-/eslint-plugin-n-16.6.2.tgz", + "integrity": "sha512-6TyDmZ1HXoFQXnhCTUjVFULReoBPOAjpuiKELMkeP40yffI/1ZRO+d9ug/VC6fqISo2WkuIBk3cvuRPALaWlOQ==", "dev": true, "requires": { "@eslint-community/eslint-utils": "^4.4.0", "builtins": "^5.0.1", - "eslint-plugin-es-x": "^7.1.0", + "eslint-plugin-es-x": "^7.5.0", "get-tsconfig": "^4.7.0", + "globals": "^13.24.0", "ignore": "^5.2.4", "is-builtin-module": "^3.2.1", "is-core-module": "^2.12.1", @@ -6602,9 +6585,9 @@ "requires": {} }, "eslint-plugin-qunit": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/eslint-plugin-qunit/-/eslint-plugin-qunit-7.3.4.tgz", - "integrity": "sha512-EbDM0zJerH9zVdUswMJpcFF7wrrpvsGuYfNexUpa5hZkkdFhaFcX+yD+RSK4Nrauw4psMGlcqeWUMhaVo+Manw==", + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-qunit/-/eslint-plugin-qunit-8.1.1.tgz", + "integrity": "sha512-j3xhiAf2Wvr8Dfwl5T6tlJ+F55vqYE9ZdAHUOTzq1lGerYrXzOS46RvK4SSWug2D8sl3ZYr2lA4/hgVXgLloxw==", "dev": true, "requires": { "eslint-utils": "^3.0.0", @@ -6621,57 +6604,59 @@ } }, "eslint-plugin-unicorn": { - "version": "47.0.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-unicorn/-/eslint-plugin-unicorn-47.0.0.tgz", - "integrity": "sha512-ivB3bKk7fDIeWOUmmMm9o3Ax9zbMz1Bsza/R2qm46ufw4T6VBFBaJIR1uN3pCKSmSXm8/9Nri8V+iUut1NhQGA==", + "version": "51.0.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-unicorn/-/eslint-plugin-unicorn-51.0.1.tgz", + "integrity": "sha512-MuR/+9VuB0fydoI0nIn2RDA5WISRn4AsJyNSaNKLVwie9/ONvQhxOBbkfSICBPnzKrB77Fh6CZZXjgTt/4Latw==", "dev": true, "requires": { - "@babel/helper-validator-identifier": "^7.19.1", + "@babel/helper-validator-identifier": "^7.22.20", "@eslint-community/eslint-utils": "^4.4.0", - "ci-info": "^3.8.0", + "@eslint/eslintrc": "^2.1.4", + "ci-info": "^4.0.0", "clean-regexp": "^1.0.0", + "core-js-compat": "^3.34.0", "esquery": "^1.5.0", "indent-string": "^4.0.0", "is-builtin-module": "^3.2.1", "jsesc": "^3.0.2", - "lodash": "^4.17.21", "pluralize": "^8.0.0", "read-pkg-up": "^7.0.1", - "regexp-tree": "^0.1.24", + "regexp-tree": "^0.1.27", "regjsparser": "^0.10.0", - "safe-regex": "^2.1.1", - "semver": "^7.3.8", + "semver": "^7.5.4", "strip-indent": "^3.0.0" } }, "eslint-plugin-vue": { - "version": "8.7.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-8.7.1.tgz", - "integrity": "sha512-28sbtm4l4cOzoO1LtzQPxfxhQABararUb1JtqusQqObJpWX2e/gmVyeYVfepizPFne0Q5cILkYGiBoV36L12Wg==", + "version": "9.25.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-9.25.0.tgz", + "integrity": "sha512-tDWlx14bVe6Bs+Nnh3IGrD+hb11kf2nukfm6jLsmJIhmiRQ1SUaksvwY9U5MvPB0pcrg0QK0xapQkfITs3RKOA==", "dev": true, "requires": { - "eslint-utils": "^3.0.0", + "@eslint-community/eslint-utils": "^4.4.0", + "globals": "^13.24.0", "natural-compare": "^1.4.0", - "nth-check": "^2.0.1", - "postcss-selector-parser": "^6.0.9", - "semver": "^7.3.5", - "vue-eslint-parser": "^8.0.1" + "nth-check": "^2.1.1", + "postcss-selector-parser": "^6.0.15", + "semver": "^7.6.0", + "vue-eslint-parser": "^9.4.2", + "xml-name-validator": "^4.0.0" } }, "eslint-plugin-wdio": { - "version": "7.25.3", - "resolved": "https://registry.npmjs.org/eslint-plugin-wdio/-/eslint-plugin-wdio-7.25.3.tgz", - "integrity": "sha512-2zbYwV14Md9FNlyhaIILVGPB6w4bu2eJdOTywDUs2Qy4ebcQNwrxB0qCaf7Rm4O+T0Ir+tdYHYBBfbDocSLKng==", + "version": "8.24.12", + "resolved": "https://registry.npmjs.org/eslint-plugin-wdio/-/eslint-plugin-wdio-8.24.12.tgz", + "integrity": "sha512-OmzGteXFOQnJDdkTNnTfksaVa18WlFCyeLjZXHvDpkbomLWAg9wc296Pr0wnTCagqNj8qfEHpy+N2XVew5VCMA==", "dev": true }, "eslint-plugin-yml": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-yml/-/eslint-plugin-yml-1.10.0.tgz", - "integrity": "sha512-53SUwuNDna97lVk38hL/5++WXDuugPM9SUQ1T645R0EHMRCdBIIxGye/oOX2qO3FQ7aImxaUZJU/ju+NMUBrLQ==", + "version": "1.14.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-yml/-/eslint-plugin-yml-1.14.0.tgz", + "integrity": "sha512-ESUpgYPOcAYQO9czugcX5OqRvn/ydDVwGCPXY4YjPqc09rHaUVUA6IE6HLQys4rXk/S+qx3EwTd1wHCwam/OWQ==", "dev": true, "requires": { "debug": "^4.3.2", - "eslint-compat-utils": "^0.1.0", + "eslint-compat-utils": "^0.5.0", "lodash": "^4.17.21", "natural-compare": "^1.4.0", "yaml-eslint-parser": "^1.2.1" @@ -6951,9 +6936,9 @@ "dev": true }, "get-tsconfig": { - "version": "4.7.2", - "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.7.2.tgz", - "integrity": "sha512-wuMsz4leaj5hbGgg4IvDU0bqJagpftG5l5cXIAvo8uZrqn0NJqwtfupTN00VnkQJPcIRrxYrm1Ue24btpCha2A==", + "version": "4.7.3", + "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.7.3.tgz", + "integrity": "sha512-ZvkrzoUA0PQZM6fy6+/Hce561s+faD1rsNwhnO5FelNjyy7EMGJ3Rz1AQ8GYDWjhRs/7dBLOEJvhK8MiEJOAFg==", "dev": true, "requires": { "resolve-pkg-maps": "^1.0.0" @@ -7009,9 +6994,9 @@ } }, "globals": { - "version": "13.23.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.23.0.tgz", - "integrity": "sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==", + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", "dev": true, "requires": { "type-fest": "^0.20.2" @@ -8286,9 +8271,9 @@ "requires": {} }, "postcss-selector-parser": { - "version": "6.0.13", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz", - "integrity": "sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==", + "version": "6.0.16", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.16.tgz", + "integrity": "sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw==", "dev": true, "requires": { "cssesc": "^3.0.0", @@ -8456,9 +8441,9 @@ } }, "regexp-tree": { - "version": "0.1.24", - "resolved": "https://registry.npmjs.org/regexp-tree/-/regexp-tree-0.1.24.tgz", - "integrity": "sha512-s2aEVuLhvnVJW6s/iPgEGK6R+/xngd2jNQ+xy4bXNDKxZKJH6jpPHY6kVeVv1IeLCHgswRj+Kl3ELaDjG6V1iw==", + "version": "0.1.27", + "resolved": "https://registry.npmjs.org/regexp-tree/-/regexp-tree-0.1.27.tgz", + "integrity": "sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA==", "dev": true }, "regjsparser": { @@ -8601,9 +8586,9 @@ "dev": true }, "semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", "dev": true, "requires": { "lru-cache": "^6.0.0" @@ -9256,18 +9241,18 @@ } }, "vue-eslint-parser": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-8.3.0.tgz", - "integrity": "sha512-dzHGG3+sYwSf6zFBa0Gi9ZDshD7+ad14DGOdTLjruRVgZXe2J+DcZ9iUhyR48z5g1PqRa20yt3Njna/veLJL/g==", + "version": "9.4.2", + "resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-9.4.2.tgz", + "integrity": "sha512-Ry9oiGmCAK91HrKMtCrKFWmSFWvYkpGglCeFAIqDdr9zdXmMMpJOmUJS7WWsW7fX81h6mwHmUZCQQ1E0PkSwYQ==", "dev": true, "requires": { - "debug": "^4.3.2", - "eslint-scope": "^7.0.0", - "eslint-visitor-keys": "^3.1.0", - "espree": "^9.0.0", + "debug": "^4.3.4", + "eslint-scope": "^7.1.1", + "eslint-visitor-keys": "^3.3.0", + "espree": "^9.3.1", "esquery": "^1.4.0", "lodash": "^4.17.21", - "semver": "^7.3.5" + "semver": "^7.3.6" } }, "which": { @@ -9357,9 +9342,9 @@ "dev": true }, "yaml": { - "version": "2.3.4", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.4.tgz", - "integrity": "sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.4.1.tgz", + "integrity": "sha512-pIXzoImaqmfOrL7teGUBt/T7ZDnyeGBWyXQBvOVhLkWLN37GXv8NMLK406UY6dS51JfcQHsmcW5cJ441bHg6Lg==", "dev": true }, "yaml-eslint-parser": { diff --git a/package.json b/package.json index 8292828..3ef1141 100644 --- a/package.json +++ b/package.json @@ -5,7 +5,7 @@ "test": "grunt test" }, "devDependencies": { - "eslint-config-wikimedia": "0.26.0", + "eslint-config-wikimedia": "0.27.0", "grunt": "1.6.1", "grunt-banana-checker": "0.11.1", "grunt-eslint": "24.3.0", diff --git a/tests/phpunit/Converter/BetweenTeiAndHtmlConverterTest.php b/tests/phpunit/Converter/BetweenTeiAndHtmlConverterTest.php index 4a0d885..43b84f5 100644 --- a/tests/phpunit/Converter/BetweenTeiAndHtmlConverterTest.php +++ b/tests/phpunit/Converter/BetweenTeiAndHtmlConverterTest.php @@ -66,7 +66,7 @@ class BetweenTeiAndHtmlConverterTest extends TestCase { $fileMock->expects( $this->any() ) ->method( 'transform' ) ->willReturnCallback( static function ( $params ) use ( $fileMock ) { - return new ThumbnailImage( $fileMock, 'http://example.com/file/FooBar.jpg', false, $params ); + return new ThumbnailImage( $fileMock, 'http://example.com/file/FooBar.jpg', false, $params ); } ); $fileLookupMock = $this->getMockBuilder( FileLookup::class ) diff --git a/tests/phpunit/Model/ContentModel/ContentModelValidatorTest.php b/tests/phpunit/Model/ContentModel/ContentModelValidatorTest.php index 6a027bc..4c88f32 100644 --- a/tests/phpunit/Model/ContentModel/ContentModelValidatorTest.php +++ b/tests/phpunit/Model/ContentModel/ContentModelValidatorTest.php @@ -145,62 +145,62 @@ class ContentModelValidatorTest extends TestCase { StatusValue::newGood() ], [ - [ 'type' => 'textNode' , 'minOccurs' => 0, 'maxOccurs' => 1 ], + [ 'type' => 'textNode', 'minOccurs' => 0, 'maxOccurs' => 1 ], [ '#text', '#text' ], StatusValue::newFatal( 'tei-validation-element-content-unexpected-text' ) ], [ - [ 'type' => 'textNode' , 'minOccurs' => 0, 'maxOccurs' => 1 ], + [ 'type' => 'textNode', 'minOccurs' => 0, 'maxOccurs' => 1 ], [ 'foo' ], StatusValue::newFatal( 'tei-validation-element-content-unexpected-node', 'foo' ) ], [ - [ 'type' => 'textNode' , 'minOccurs' => 0, 'maxOccurs' => null ], + [ 'type' => 'textNode', 'minOccurs' => 0, 'maxOccurs' => null ], [], StatusValue::newGood() ], [ - [ 'type' => 'textNode' , 'minOccurs' => 0, 'maxOccurs' => null ], + [ 'type' => 'textNode', 'minOccurs' => 0, 'maxOccurs' => null ], [ '#text' ], StatusValue::newGood() ], [ - [ 'type' => 'textNode' , 'minOccurs' => 0, 'maxOccurs' => null ], + [ 'type' => 'textNode', 'minOccurs' => 0, 'maxOccurs' => null ], [ '#text', '#text' ], StatusValue::newGood() ], [ - [ 'type' => 'textNode' , 'minOccurs' => 0, 'maxOccurs' => null ], + [ 'type' => 'textNode', 'minOccurs' => 0, 'maxOccurs' => null ], [ 'foo' ], StatusValue::newFatal( 'tei-validation-element-content-unexpected-node', 'foo' ) ], [ - [ 'type' => 'textNode' , 'minOccurs' => 1, 'maxOccurs' => null ], + [ 'type' => 'textNode', 'minOccurs' => 1, 'maxOccurs' => null ], [], StatusValue::newFatal( 'tei-validation-element-content-too-short', '#text' ) ], [ - [ 'type' => 'textNode' , 'minOccurs' => 1, 'maxOccurs' => null ], + [ 'type' => 'textNode', 'minOccurs' => 1, 'maxOccurs' => null ], [ '#text' ], StatusValue::newGood() ], [ - [ 'type' => 'textNode' , 'minOccurs' => 1, 'maxOccurs' => null ], + [ 'type' => 'textNode', 'minOccurs' => 1, 'maxOccurs' => null ], [ '#text', '#text' ], StatusValue::newGood() ], [ - [ 'type' => 'textNode' , 'minOccurs' => 1, 'maxOccurs' => null ], + [ 'type' => 'textNode', 'minOccurs' => 1, 'maxOccurs' => null ], [ '#text', '#text', '#text' ], StatusValue::newGood() ], [ - [ 'type' => 'textNode' , 'minOccurs' => 1, 'maxOccurs' => null ], + [ 'type' => 'textNode', 'minOccurs' => 1, 'maxOccurs' => null ], [ '#text', 'foo' ], StatusValue::newFatal( 'tei-validation-element-content-unexpected-node', 'foo' ) ], [ - [ 'type' => 'textNode' , 'minOccurs' => 1, 'maxOccurs' => null ], + [ 'type' => 'textNode', 'minOccurs' => 1, 'maxOccurs' => null ], [ 'foo', '#text' ], StatusValue::newFatal( 'tei-validation-element-content-unexpected-node', 'foo' ) ], -- 2.39.2
$ date --- stdout --- Thu Apr 25 14:35:52 UTC 2024 --- end --- $ git clone file:///srv/git/mediawiki-extensions-TEI.git repo --depth=1 -b master --- stderr --- Cloning into 'repo'... --- stdout --- --- end --- $ git config user.name libraryupgrader --- stdout --- --- end --- $ git config user.email tools.libraryupgrader@tools.wmflabs.org --- stdout --- --- end --- $ git submodule update --init --- stdout --- --- end --- $ grr init --- stdout --- Installed commit-msg hook. --- end --- $ git show-ref refs/heads/master --- stdout --- e11afa76b4865b70347d754e0c97591cfe96452a refs/heads/master --- end --- $ /usr/bin/npm audit --json --- stdout --- { "auditReportVersion": 2, "vulnerabilities": {}, "metadata": { "vulnerabilities": { "info": 0, "low": 0, "moderate": 0, "high": 0, "critical": 0, "total": 0 }, "dependencies": { "prod": 1, "dev": 453, "optional": 0, "peer": 7, "peerOptional": 0, "total": 453 } } } --- end --- $ /usr/bin/composer install --- stderr --- No composer.lock file present. Updating dependencies to latest instead of installing from lock file. See https://getcomposer.org/install for more information. Loading composer repositories with package information Updating dependencies Lock file operations: 37 installs, 0 updates, 0 removals - Locking composer/installers (v1.12.0) - Locking composer/pcre (3.1.3) - Locking composer/semver (3.3.2) - Locking composer/spdx-licenses (1.5.8) - Locking composer/xdebug-handler (3.0.4) - Locking doctrine/deprecations (1.1.3) - Locking felixfbecker/advanced-json-rpc (v3.2.1) - Locking mediawiki/mediawiki-codesniffer (v41.0.0) - Locking mediawiki/mediawiki-phan-config (0.12.1) - Locking mediawiki/minus-x (1.1.1) - Locking mediawiki/phan-taint-check-plugin (4.0.0) - Locking microsoft/tolerant-php-parser (v0.1.1) - Locking netresearch/jsonmapper (v4.4.1) - Locking phan/phan (5.4.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.3.2) - Locking phpdocumentor/reflection-common (2.2.0) - Locking phpdocumentor/reflection-docblock (5.4.0) - Locking phpdocumentor/type-resolver (1.8.2) - Locking phpstan/phpdoc-parser (1.28.0) - Locking psr/container (2.0.2) - Locking psr/log (2.0.0) - Locking sabre/event (5.1.4) - Locking squizlabs/php_codesniffer (3.7.2) - Locking symfony/console (v5.4.36) - Locking symfony/deprecation-contracts (v3.4.0) - Locking symfony/polyfill-ctype (v1.29.0) - Locking symfony/polyfill-intl-grapheme (v1.29.0) - Locking symfony/polyfill-intl-normalizer (v1.29.0) - Locking symfony/polyfill-mbstring (v1.29.0) - Locking symfony/polyfill-php73 (v1.29.0) - Locking symfony/polyfill-php80 (v1.29.0) - Locking symfony/service-contracts (v3.4.2) - Locking symfony/string (v6.4.4) - Locking tysonandre/var_representation_polyfill (0.1.3) - Locking webmozart/assert (1.11.0) Writing lock file Installing dependencies from lock file (including require-dev) Package operations: 37 installs, 0 updates, 0 removals 0 [>---------------------------] 0 [->--------------------------] - Installing composer/installers (v1.12.0): Extracting archive - Installing composer/pcre (3.1.3): Extracting archive - Installing symfony/polyfill-php80 (v1.29.0): Extracting archive - Installing squizlabs/php_codesniffer (3.7.2): Extracting archive - Installing symfony/polyfill-mbstring (v1.29.0): Extracting archive - Installing composer/spdx-licenses (1.5.8): Extracting archive - Installing composer/semver (3.3.2): Extracting archive - Installing mediawiki/mediawiki-codesniffer (v41.0.0): Extracting archive - Installing tysonandre/var_representation_polyfill (0.1.3): Extracting archive - Installing symfony/polyfill-intl-normalizer (v1.29.0): Extracting archive - Installing symfony/polyfill-intl-grapheme (v1.29.0): Extracting archive - Installing symfony/polyfill-ctype (v1.29.0): Extracting archive - Installing symfony/string (v6.4.4): Extracting archive - Installing psr/container (2.0.2): Extracting archive - Installing symfony/service-contracts (v3.4.2): Extracting archive - Installing symfony/polyfill-php73 (v1.29.0): Extracting archive - Installing symfony/deprecation-contracts (v3.4.0): Extracting archive - Installing symfony/console (v5.4.36): Extracting archive - Installing sabre/event (5.1.4): Extracting archive - Installing netresearch/jsonmapper (v4.4.1): Extracting archive - Installing microsoft/tolerant-php-parser (v0.1.1): Extracting archive - Installing webmozart/assert (1.11.0): Extracting archive - Installing phpstan/phpdoc-parser (1.28.0): Extracting archive - Installing phpdocumentor/reflection-common (2.2.0): Extracting archive - Installing doctrine/deprecations (1.1.3): Extracting archive - Installing phpdocumentor/type-resolver (1.8.2): Extracting archive - Installing phpdocumentor/reflection-docblock (5.4.0): Extracting archive - Installing felixfbecker/advanced-json-rpc (v3.2.1): Extracting archive - Installing psr/log (2.0.0): Extracting archive - Installing composer/xdebug-handler (3.0.4): Extracting archive - Installing phan/phan (5.4.1): Extracting archive - Installing mediawiki/phan-taint-check-plugin (4.0.0): Extracting archive - Installing mediawiki/mediawiki-phan-config (0.12.1): Extracting archive - Installing mediawiki/minus-x (1.1.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.3.2): Extracting archive 0/36 [>---------------------------] 0% 24/36 [==================>---------] 66% 36/36 [============================] 100% 3 package suggestions were added by new dependencies, use `composer suggest` to see details. Generating autoload files 16 packages you are using are looking for funding. Use the `composer fund` command to find out more! --- stdout --- --- end --- Upgrading n:eslint-config-wikimedia from 0.26.0 -> 0.27.0 $ /usr/bin/npm install --- stdout --- added 453 packages, and audited 454 packages in 6s 90 packages are looking for funding run `npm fund` for details found 0 vulnerabilities --- end --- $ package-lock-lint package-lock.json --- stdout --- Checking package-lock.json --- end --- $ /usr/bin/npm install grunt-eslint@24.3.0 --save-exact --- stdout --- up to date, audited 454 packages in 943ms 90 packages are looking for funding run `npm fund` for details found 0 vulnerabilities --- end --- $ package-lock-lint package-lock.json --- stdout --- Checking package-lock.json --- end --- $ ./node_modules/.bin/eslint . --fix --- stdout --- --- end --- $ ./node_modules/.bin/eslint . -f json --- stdout --- [{"filePath":"/src/repo/.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":"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":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","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":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-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/composer.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":"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/data/mw_tei_json_definition.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":"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/extension.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":"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/i18n/en.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":"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/i18n/qqq.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":"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/modules/.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":"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/modules/edit/Editor.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/modules/edit/EncapsulationTool.js","messages":[],"suppressedMessages":[{"ruleId":"no-jquery/no-global-selector","severity":2,"message":"Avoid queries which search the entire DOM. Keep DOM nodes in memory where possible.","line":35,"column":2,"nodeType":"CallExpression","endLine":35,"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":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/modules/edit/MWEditModeSourceTool.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/modules/edit/MWEditModeVisualTool.js","messages":[],"suppressedMessages":[{"ruleId":"no-jquery/no-global-selector","severity":2,"message":"Avoid queries which search the entire DOM. Keep DOM nodes in memory where possible.","line":22,"column":16,"nodeType":"CallExpression","endLine":22,"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":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/modules/edit/teiEditor.init.js","messages":[],"suppressedMessages":[{"ruleId":"no-jquery/no-global-selector","severity":2,"message":"Avoid queries which search the entire DOM. Keep DOM nodes in memory where possible.","line":3,"column":18,"nodeType":"CallExpression","endLine":3,"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":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/modules/edit/teiEditor.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/modules/lib/codemirror/lint.js","messages":[],"suppressedMessages":[{"ruleId":"no-shadow","severity":2,"message":"'e' is already declared in the upper scope on line 9 column 24.","line":15,"column":22,"nodeType":"Identifier","messageId":"noShadow","endLine":15,"endColumn":23,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":16,"column":26,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":16,"endColumn":27,"fix":{"range":[500,500],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"max-statements-per-line","severity":2,"message":"This line has 2 statements. Maximum allowed is 1.","line":16,"column":28,"nodeType":"ReturnStatement","messageId":"exceed","endLine":16,"endColumn":85,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":16,"column":86,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":16,"endColumn":87,"fix":{"range":[559,559],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"eqeqeq","severity":2,"message":"Expected '!==' and instead saw '!='.","line":22,"column":25,"nodeType":"BinaryExpression","messageId":"unexpected","endLine":22,"endColumn":27,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":22,"column":35,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":22,"endColumn":36,"fix":{"range":[787,787],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"max-statements-per-line","severity":2,"message":"This line has 2 statements. Maximum allowed is 1.","line":22,"column":37,"nodeType":"ExpressionStatement","messageId":"exceed","endLine":22,"endColumn":58,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":22,"column":59,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":22,"endColumn":60,"fix":{"range":[810,810],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":26,"column":25,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":26,"endColumn":26,"fix":{"range":[875,875],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"max-statements-per-line","severity":2,"message":"This line has 2 statements. Maximum allowed is 1.","line":26,"column":27,"nodeType":"ExpressionStatement","messageId":"exceed","endLine":26,"endColumn":61,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":26,"column":62,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":26,"endColumn":63,"fix":{"range":[911,911],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":29,"column":25,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":29,"endColumn":26,"fix":{"range":[971,971],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"max-statements-per-line","severity":2,"message":"This line has 2 statements. Maximum allowed is 1.","line":29,"column":27,"nodeType":"ReturnStatement","messageId":"exceed","endLine":29,"endColumn":34,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":29,"column":35,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":29,"endColumn":36,"fix":{"range":[980,980],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"eqeqeq","severity":2,"message":"Expected '===' and instead saw '=='.","line":30,"column":25,"nodeType":"BinaryExpression","messageId":"unexpected","endLine":30,"endColumn":27,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":30,"column":35,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":30,"endColumn":36,"fix":{"range":[1017,1017],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"max-statements-per-line","severity":2,"message":"This line has 2 statements. Maximum allowed is 1.","line":30,"column":37,"nodeType":"ExpressionStatement","messageId":"exceed","endLine":30,"endColumn":46,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":30,"column":47,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":30,"endColumn":48,"fix":{"range":[1028,1028],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":32,"column":27,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":32,"endColumn":28,"fix":{"range":[1081,1081],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"max-statements-per-line","severity":2,"message":"This line has 2 statements. Maximum allowed is 1.","line":32,"column":29,"nodeType":"ExpressionStatement","messageId":"exceed","endLine":32,"endColumn":38,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":32,"column":39,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":32,"endColumn":40,"fix":{"range":[1092,1092],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":39,"column":19,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":39,"endColumn":20,"fix":{"range":[1280,1280],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"max-statements-per-line","severity":2,"message":"This line has 3 statements. Maximum allowed is 1.","line":39,"column":21,"nodeType":"ExpressionStatement","messageId":"exceed","endLine":39,"endColumn":44,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":39,"column":61,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":39,"endColumn":62,"fix":{"range":[1321,1321],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"eqeqeq","severity":2,"message":"Expected '===' and instead saw '=='.","line":44,"column":27,"nodeType":"BinaryExpression","messageId":"unexpected","endLine":44,"endColumn":29,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":44,"column":35,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":44,"endColumn":36,"fix":{"range":[1469,1469],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"max-statements-per-line","severity":2,"message":"This line has 2 statements. Maximum allowed is 1.","line":44,"column":37,"nodeType":"ExpressionStatement","messageId":"exceed","endLine":44,"endColumn":48,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":44,"column":49,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":44,"endColumn":50,"fix":{"range":[1482,1482],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"eqeqeq","severity":2,"message":"Expected '===' and instead saw '=='.","line":45,"column":13,"nodeType":"BinaryExpression","messageId":"unexpected","endLine":45,"endColumn":15,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":45,"column":32,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":45,"endColumn":33,"fix":{"range":[1516,1516],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"max-statements-per-line","severity":2,"message":"This line has 2 statements. Maximum allowed is 1.","line":45,"column":34,"nodeType":"ReturnStatement","messageId":"exceed","endLine":45,"endColumn":41,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":45,"column":42,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":45,"endColumn":43,"fix":{"range":[1525,1525],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":46,"column":16,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":46,"endColumn":17,"fix":{"range":[1543,1543],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"max-statements-per-line","severity":2,"message":"This line has 3 statements. Maximum allowed is 1.","line":46,"column":18,"nodeType":"ExpressionStatement","messageId":"exceed","endLine":46,"endColumn":25,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":46,"column":33,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":46,"endColumn":34,"fix":{"range":[1559,1559],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":49,"column":20,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":49,"endColumn":21,"fix":{"range":[1592,1592],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"max-statements-per-line","severity":2,"message":"This line has 2 statements. Maximum allowed is 1.","line":49,"column":22,"nodeType":"ReturnStatement","messageId":"exceed","endLine":49,"endColumn":51,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":49,"column":52,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":49,"endColumn":53,"fix":{"range":[1623,1623],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":59,"column":37,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":59,"endColumn":38,"fix":{"range":[1868,1868],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"max-statements-per-line","severity":2,"message":"This line has 2 statements. Maximum allowed is 1.","line":59,"column":39,"nodeType":"ExpressionStatement","messageId":"exceed","endLine":59,"endColumn":60,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":59,"column":61,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":59,"endColumn":62,"fix":{"range":[1891,1891],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":64,"column":38,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":64,"endColumn":39,"fix":{"range":[2000,2000],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"max-statements-per-line","severity":2,"message":"This line has 2 statements. Maximum allowed is 1.","line":64,"column":40,"nodeType":"ReturnStatement","messageId":"exceed","endLine":64,"endColumn":75,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":64,"column":76,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":64,"endColumn":77,"fix":{"range":[2037,2037],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":65,"column":39,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":65,"endColumn":40,"fix":{"range":[2078,2078],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"max-statements-per-line","severity":2,"message":"This line has 2 statements. Maximum allowed is 1.","line":65,"column":41,"nodeType":"ExpressionStatement","messageId":"exceed","endLine":65,"endColumn":54,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":65,"column":55,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":65,"endColumn":56,"fix":{"range":[2093,2093],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":71,"column":26,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":71,"endColumn":27,"fix":{"range":[2201,2201],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"max-statements-per-line","severity":2,"message":"This line has 2 statements. Maximum allowed is 1.","line":71,"column":28,"nodeType":"ExpressionStatement","messageId":"exceed","endLine":71,"endColumn":56,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":71,"column":57,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":71,"endColumn":58,"fix":{"range":[2231,2231],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":72,"column":51,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":72,"endColumn":52,"fix":{"range":[2284,2284],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"max-statements-per-line","severity":2,"message":"This line has 2 statements. Maximum allowed is 1.","line":72,"column":53,"nodeType":"ExpressionStatement","messageId":"exceed","endLine":72,"endColumn":79,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":72,"column":80,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":72,"endColumn":81,"fix":{"range":[2312,2312],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"mediawiki/class-doc","severity":2,"message":"All possible CSS classes should be documented. See https://w.wiki/PS2 for details.","line":78,"column":3,"nodeType":"AssignmentExpression","endLine":78,"endColumn":58,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"eqeqeq","severity":2,"message":"Expected '!==' and instead saw '!='.","line":84,"column":17,"nodeType":"BinaryExpression","messageId":"unexpected","endLine":84,"endColumn":19,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"eqeqeq","severity":2,"message":"Expected '===' and instead saw '=='.","line":94,"column":10,"nodeType":"BinaryExpression","messageId":"unexpected","endLine":94,"endColumn":12,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":94,"column":23,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":94,"endColumn":24,"fix":{"range":[2894,2894],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"max-statements-per-line","severity":2,"message":"This line has 3 statements. Maximum allowed is 1.","line":94,"column":25,"nodeType":"ReturnStatement","messageId":"exceed","endLine":94,"endColumn":34,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":94,"column":35,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":94,"endColumn":36,"fix":{"range":[2905,2905],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":94,"column":42,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":94,"endColumn":43,"fix":{"range":[2913,2913],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":94,"column":54,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":94,"endColumn":55,"fix":{"range":[2924,2924],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":108,"column":20,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":108,"endColumn":21,"fix":{"range":[3263,3263],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"max-statements-per-line","severity":2,"message":"This line has 2 statements. Maximum allowed is 1.","line":108,"column":22,"nodeType":"ExpressionStatement","messageId":"exceed","endLine":108,"endColumn":41,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":108,"column":42,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":108,"endColumn":43,"fix":{"range":[3284,3284],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"mediawiki/class-doc","severity":2,"message":"All possible CSS classes should be documented. See https://w.wiki/PS2 for details.","line":110,"column":3,"nodeType":"AssignmentExpression","endLine":110,"endColumn":56,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-mixed-spaces-and-tabs","severity":2,"message":"Mixed spaces and tabs.","line":123,"column":2,"nodeType":"Program","messageId":"mixedSpacesAndTabs","endLine":123,"endColumn":4,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"eqeqeq","severity":2,"message":"Expected '!==' and instead saw '!='.","line":131,"column":26,"nodeType":"BinaryExpression","messageId":"unexpected","endLine":131,"endColumn":28,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":131,"column":34,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":131,"endColumn":35,"fix":{"range":[3955,3955],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"max-statements-per-line","severity":2,"message":"This line has 2 statements. Maximum allowed is 1.","line":131,"column":36,"nodeType":"ReturnStatement","messageId":"exceed","endLine":131,"endColumn":43,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":131,"column":44,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":131,"endColumn":45,"fix":{"range":[3964,3964],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":132,"column":53,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":132,"endColumn":54,"fix":{"range":[4019,4019],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"max-statements-per-line","severity":2,"message":"This line has 2 statements. Maximum allowed is 1.","line":132,"column":55,"nodeType":"ExpressionStatement","messageId":"exceed","endLine":132,"endColumn":74,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":132,"column":75,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":132,"endColumn":76,"fix":{"range":[4040,4040],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":133,"column":30,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":133,"endColumn":31,"fix":{"range":[4072,4072],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"max-statements-per-line","severity":2,"message":"This line has 2 statements. Maximum allowed is 1.","line":133,"column":32,"nodeType":"ExpressionStatement","messageId":"exceed","endLine":133,"endColumn":65,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":133,"column":66,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":133,"endColumn":67,"fix":{"range":[4107,4107],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-mixed-spaces-and-tabs","severity":2,"message":"Mixed spaces and tabs.","line":143,"column":2,"nodeType":"Program","messageId":"mixedSpacesAndTabs","endLine":143,"endColumn":4,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-mixed-spaces-and-tabs","severity":2,"message":"Mixed spaces and tabs.","line":144,"column":2,"nodeType":"Program","messageId":"mixedSpacesAndTabs","endLine":144,"endColumn":4,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":145,"column":26,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":145,"endColumn":27,"fix":{"range":[4580,4580],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"max-statements-per-line","severity":2,"message":"This line has 2 statements. Maximum allowed is 1.","line":145,"column":28,"nodeType":"ReturnStatement","messageId":"exceed","endLine":145,"endColumn":35,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":145,"column":36,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":145,"endColumn":37,"fix":{"range":[4589,4589],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":150,"column":24,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":150,"endColumn":25,"fix":{"range":[4795,4795],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"max-statements-per-line","severity":2,"message":"This line has 2 statements. Maximum allowed is 1.","line":150,"column":26,"nodeType":"ReturnStatement","messageId":"exceed","endLine":150,"endColumn":33,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":150,"column":34,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":150,"endColumn":35,"fix":{"range":[4804,4804],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":153,"column":32,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":153,"endColumn":33,"fix":{"range":[4911,4911],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"max-statements-per-line","severity":2,"message":"This line has 2 statements. Maximum allowed is 1.","line":153,"column":34,"nodeType":"ExpressionStatement","messageId":"exceed","endLine":153,"endColumn":62,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":153,"column":63,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":153,"endColumn":64,"fix":{"range":[4941,4941],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":155,"column":11,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":155,"endColumn":12,"fix":{"range":[4966,4966],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":155,"column":39,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":155,"endColumn":40,"fix":{"range":[4994,4994],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"max-statements-per-line","severity":2,"message":"This line has 2 statements. Maximum allowed is 1.","line":155,"column":41,"nodeType":"ExpressionStatement","messageId":"exceed","endLine":155,"endColumn":74,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":155,"column":75,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":155,"endColumn":76,"fix":{"range":[5029,5029],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":155,"column":80,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":155,"endColumn":81,"fix":{"range":[5034,5034],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-mixed-spaces-and-tabs","severity":2,"message":"Mixed spaces and tabs.","line":163,"column":2,"nodeType":"Program","messageId":"mixedSpacesAndTabs","endLine":163,"endColumn":4,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":167,"column":17,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":167,"endColumn":18,"fix":{"range":[5340,5340],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"max-statements-per-line","severity":2,"message":"This line has 2 statements. Maximum allowed is 1.","line":167,"column":19,"nodeType":"ContinueStatement","messageId":"exceed","endLine":167,"endColumn":28,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":167,"column":29,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":167,"endColumn":30,"fix":{"range":[5351,5351],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-mixed-spaces-and-tabs","severity":2,"message":"Mixed spaces and tabs.","line":170,"column":3,"nodeType":"Program","messageId":"mixedSpacesAndTabs","endLine":170,"endColumn":5,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-mixed-spaces-and-tabs","severity":2,"message":"Mixed spaces and tabs.","line":174,"column":4,"nodeType":"Program","messageId":"mixedSpacesAndTabs","endLine":174,"endColumn":6,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":175,"column":22,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":175,"endColumn":23,"fix":{"range":[5573,5573],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"max-statements-per-line","severity":2,"message":"This line has 2 statements. Maximum allowed is 1.","line":175,"column":24,"nodeType":"ExpressionStatement","messageId":"exceed","endLine":175,"endColumn":43,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":175,"column":44,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":175,"endColumn":45,"fix":{"range":[5594,5594],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":178,"column":37,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":178,"endColumn":38,"fix":{"range":[5693,5693],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"max-statements-per-line","severity":2,"message":"This line has 2 statements. Maximum allowed is 1.","line":178,"column":39,"nodeType":"ExpressionStatement","messageId":"exceed","endLine":178,"endColumn":77,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":178,"column":78,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":178,"endColumn":79,"fix":{"range":[5733,5733],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":179,"column":28,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":179,"endColumn":29,"fix":{"range":[5763,5763],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"max-statements-per-line","severity":2,"message":"This line has 2 statements. Maximum allowed is 1.","line":179,"column":30,"nodeType":"ExpressionStatement","messageId":"exceed","endLine":179,"endColumn":79,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":179,"column":80,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":179,"endColumn":81,"fix":{"range":[5814,5814],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":194,"column":34,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":194,"endColumn":35,"fix":{"range":[6192,6192],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"max-statements-per-line","severity":2,"message":"This line has 2 statements. Maximum allowed is 1.","line":194,"column":36,"nodeType":"ExpressionStatement","messageId":"exceed","endLine":194,"endColumn":101,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":194,"column":102,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":194,"endColumn":103,"fix":{"range":[6259,6259],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":199,"column":17,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":199,"endColumn":18,"fix":{"range":[6338,6338],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"max-statements-per-line","severity":2,"message":"This line has 2 statements. Maximum allowed is 1.","line":199,"column":19,"nodeType":"ReturnStatement","messageId":"exceed","endLine":199,"endColumn":26,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":199,"column":27,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":199,"endColumn":28,"fix":{"range":[6347,6347],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":201,"column":43,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":201,"endColumn":44,"fix":{"range":[6425,6425],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"max-statements-per-line","severity":2,"message":"This line has 2 statements. Maximum allowed is 1.","line":201,"column":45,"nodeType":"ExpressionStatement","messageId":"exceed","endLine":201,"endColumn":64,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":201,"column":65,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":201,"endColumn":66,"fix":{"range":[6446,6446],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-mixed-spaces-and-tabs","severity":2,"message":"Mixed spaces and tabs.","line":206,"column":2,"nodeType":"Program","messageId":"mixedSpacesAndTabs","endLine":206,"endColumn":4,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":216,"column":62,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":216,"endColumn":63,"fix":{"range":[6934,6934],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"max-statements-per-line","severity":2,"message":"This line has 2 statements. Maximum allowed is 1.","line":216,"column":64,"nodeType":"ReturnStatement","messageId":"exceed","endLine":216,"endColumn":71,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":216,"column":72,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":216,"endColumn":73,"fix":{"range":[6943,6943],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-mixed-spaces-and-tabs","severity":2,"message":"Mixed spaces and tabs.","line":218,"column":2,"nodeType":"Program","messageId":"mixedSpacesAndTabs","endLine":218,"endColumn":4,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-mixed-spaces-and-tabs","severity":2,"message":"Mixed spaces and tabs.","line":220,"column":2,"nodeType":"Program","messageId":"mixedSpacesAndTabs","endLine":220,"endColumn":4,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-underscore-dangle","severity":2,"message":"Unexpected dangling '_' in '__annotation'.","line":222,"column":14,"nodeType":"MemberExpression","messageId":"unexpectedUnderscore","endLine":222,"endColumn":37,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":223,"column":15,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":223,"endColumn":16,"fix":{"range":[7254,7254],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"max-statements-per-line","severity":2,"message":"This line has 2 statements. Maximum allowed is 1.","line":223,"column":17,"nodeType":"ExpressionStatement","messageId":"exceed","endLine":223,"endColumn":41,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":223,"column":42,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":223,"endColumn":43,"fix":{"range":[7280,7280],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":225,"column":29,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":225,"endColumn":30,"fix":{"range":[7315,7315],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"max-statements-per-line","severity":2,"message":"This line has 2 statements. Maximum allowed is 1.","line":225,"column":31,"nodeType":"ExpressionStatement","messageId":"exceed","endLine":225,"endColumn":63,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":225,"column":64,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":225,"endColumn":65,"fix":{"range":[7349,7349],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"eqeqeq","severity":2,"message":"Expected '!==' and instead saw '!='.","line":229,"column":19,"nodeType":"BinaryExpression","messageId":"unexpected","endLine":229,"endColumn":21,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":231,"column":56,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":231,"endColumn":57,"fix":{"range":[7542,7542],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"max-statements-per-line","severity":2,"message":"This line has 2 statements. Maximum allowed is 1.","line":231,"column":58,"nodeType":"ExpressionStatement","messageId":"exceed","endLine":231,"endColumn":87,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":231,"column":88,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":231,"endColumn":89,"fix":{"range":[7573,7573],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":239,"column":47,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":239,"endColumn":48,"fix":{"range":[7861,7861],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"max-statements-per-line","severity":2,"message":"This line has 3 statements. Maximum allowed is 1.","line":239,"column":49,"nodeType":"IfStatement","messageId":"exceed","endLine":239,"endColumn":107,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"eqeqeq","severity":2,"message":"Expected '===' and instead saw '=='.","line":239,"column":67,"nodeType":"BinaryExpression","messageId":"unexpected","endLine":239,"endColumn":69,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":239,"column":82,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":239,"endColumn":83,"fix":{"range":[7896,7896],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":239,"column":106,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":239,"endColumn":107,"fix":{"range":[7919,7919],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":239,"column":108,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":239,"endColumn":109,"fix":{"range":[7921,7921],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":241,"column":48,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":241,"endColumn":49,"fix":{"range":[8063,8063],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"max-statements-per-line","severity":2,"message":"This line has 2 statements. Maximum allowed is 1.","line":241,"column":50,"nodeType":"ExpressionStatement","messageId":"exceed","endLine":241,"endColumn":78,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":241,"column":79,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":241,"endColumn":80,"fix":{"range":[8093,8093],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"eqeqeq","severity":2,"message":"Expected '!==' and instead saw '!='.","line":242,"column":32,"nodeType":"BinaryExpression","messageId":"unexpected","endLine":242,"endColumn":34,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"eqeqeq","severity":2,"message":"Expected '!==' and instead saw '!='.","line":242,"column":67,"nodeType":"BinaryExpression","messageId":"unexpected","endLine":242,"endColumn":69,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":242,"column":81,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":242,"endColumn":82,"fix":{"range":[8176,8176],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"max-statements-per-line","severity":2,"message":"This line has 2 statements. Maximum allowed is 1.","line":242,"column":83,"nodeType":"ExpressionStatement","messageId":"exceed","endLine":242,"endColumn":155,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":242,"column":156,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":242,"endColumn":157,"fix":{"range":[8250,8250],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":249,"column":26,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":249,"endColumn":27,"fix":{"range":[8371,8371],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"max-statements-per-line","severity":2,"message":"This line has 2 statements. Maximum allowed is 1.","line":249,"column":28,"nodeType":"ExpressionStatement","messageId":"exceed","endLine":249,"endColumn":49,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":249,"column":50,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":249,"endColumn":51,"fix":{"range":[8394,8394],"text":"\n"},"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":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/modules/lib/codemirror/show-hint.js","messages":[],"suppressedMessages":[{"ruleId":"no-mixed-spaces-and-tabs","severity":2,"message":"Mixed spaces and tabs.","line":9,"column":1,"nodeType":"Program","messageId":"mixedSpacesAndTabs","endLine":9,"endColumn":3,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":14,"column":20,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":14,"endColumn":21,"fix":{"range":[461,461],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"max-statements-per-line","severity":2,"message":"This line has 2 statements. Maximum allowed is 1.","line":14,"column":22,"nodeType":"ReturnStatement","messageId":"exceed","endLine":14,"endColumn":52,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":14,"column":53,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":14,"endColumn":54,"fix":{"range":[493,493],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":15,"column":35,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":15,"endColumn":36,"fix":{"range":[530,530],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"max-statements-per-line","severity":2,"message":"This line has 2 statements. Maximum allowed is 1.","line":15,"column":37,"nodeType":"ExpressionStatement","messageId":"exceed","endLine":15,"endColumn":59,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":15,"column":60,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":15,"endColumn":61,"fix":{"range":[554,554],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":17,"column":18,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":17,"endColumn":19,"fix":{"range":[610,610],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"max-statements-per-line","severity":2,"message":"This line has 3 statements. Maximum allowed is 1.","line":17,"column":20,"nodeType":"ForInStatement","messageId":"exceed","endLine":17,"endColumn":86,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":17,"column":48,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":17,"endColumn":49,"fix":{"range":[640,640],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":17,"column":85,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":17,"endColumn":86,"fix":{"range":[676,676],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":17,"column":87,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":17,"endColumn":88,"fix":{"range":[678,678],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":24,"column":32,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":24,"endColumn":33,"fix":{"range":[926,926],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"max-statements-per-line","severity":2,"message":"This line has 2 statements. Maximum allowed is 1.","line":24,"column":34,"nodeType":"ReturnStatement","messageId":"exceed","endLine":24,"endColumn":41,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":24,"column":42,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":24,"endColumn":43,"fix":{"range":[935,935],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":29,"column":43,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":29,"endColumn":44,"fix":{"range":[1193,1193],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"max-statements-per-line","severity":2,"message":"This line has 2 statements. Maximum allowed is 1.","line":29,"column":45,"nodeType":"ReturnStatement","messageId":"exceed","endLine":29,"endColumn":52,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":29,"column":53,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":29,"endColumn":54,"fix":{"range":[1202,1202],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":31,"column":50,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":31,"endColumn":51,"fix":{"range":[1297,1297],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"max-statements-per-line","severity":2,"message":"This line has 3 statements. Maximum allowed is 1.","line":31,"column":52,"nodeType":"IfStatement","messageId":"exceed","endLine":31,"endColumn":127,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"eqeqeq","severity":2,"message":"Expected '!==' and instead saw '!='.","line":31,"column":83,"nodeType":"BinaryExpression","messageId":"unexpected","endLine":31,"endColumn":85,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":31,"column":116,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":31,"endColumn":117,"fix":{"range":[1363,1363],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":31,"column":126,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":31,"endColumn":127,"fix":{"range":[1372,1372],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":31,"column":128,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":31,"endColumn":129,"fix":{"range":[1374,1374],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":34,"column":38,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":34,"endColumn":39,"fix":{"range":[1419,1419],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"max-statements-per-line","severity":2,"message":"This line has 2 statements. Maximum allowed is 1.","line":34,"column":40,"nodeType":"ExpressionStatement","messageId":"exceed","endLine":34,"endColumn":76,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":34,"column":77,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":34,"endColumn":78,"fix":{"range":[1457,1457],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":36,"column":35,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":36,"endColumn":36,"fix":{"range":[1576,1576],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"max-statements-per-line","severity":2,"message":"This line has 2 statements. Maximum allowed is 1.","line":36,"column":37,"nodeType":"ReturnStatement","messageId":"exceed","endLine":36,"endColumn":44,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":36,"column":45,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":36,"endColumn":46,"fix":{"range":[1585,1585],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":43,"column":38,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":43,"endColumn":39,"fix":{"range":[1772,1772],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"max-statements-per-line","severity":2,"message":"This line has 2 statements. Maximum allowed is 1.","line":43,"column":40,"nodeType":"ExpressionStatement","messageId":"exceed","endLine":43,"endColumn":76,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":43,"column":77,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":43,"endColumn":78,"fix":{"range":[1810,1810],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":56,"column":60,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":56,"endColumn":61,"fix":{"range":[2183,2183],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"max-statements-per-line","severity":2,"message":"This line has 2 statements. Maximum allowed is 1.","line":56,"column":62,"nodeType":"ExpressionStatement","messageId":"exceed","endLine":56,"endColumn":84,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":56,"column":85,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":56,"endColumn":86,"fix":{"range":[2207,2207],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-mixed-spaces-and-tabs","severity":2,"message":"Mixed spaces and tabs.","line":62,"column":1,"nodeType":"Program","messageId":"mixedSpacesAndTabs","endLine":62,"endColumn":3,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":66,"column":26,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":66,"endColumn":27,"fix":{"range":[2485,2485],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"max-statements-per-line","severity":2,"message":"This line has 2 statements. Maximum allowed is 1.","line":66,"column":28,"nodeType":"ReturnStatement","messageId":"exceed","endLine":66,"endColumn":35,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":66,"column":36,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":66,"endColumn":37,"fix":{"range":[2494,2494],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":71,"column":36,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":71,"endColumn":37,"fix":{"range":[2651,2651],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"max-statements-per-line","severity":2,"message":"This line has 2 statements. Maximum allowed is 1.","line":71,"column":38,"nodeType":"ExpressionStatement","messageId":"exceed","endLine":71,"endColumn":78,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":71,"column":79,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":71,"endColumn":80,"fix":{"range":[2693,2693],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":72,"column":23,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":72,"endColumn":24,"fix":{"range":[2718,2718],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"max-statements-per-line","severity":2,"message":"This line has 2 statements. Maximum allowed is 1.","line":72,"column":25,"nodeType":"ExpressionStatement","messageId":"exceed","endLine":72,"endColumn":45,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":72,"column":46,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":72,"endColumn":47,"fix":{"range":[2740,2740],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"eqeqeq","severity":2,"message":"Expected '===' and instead saw '=='.","line":77,"column":42,"nodeType":"BinaryExpression","messageId":"unexpected","endLine":77,"endColumn":44,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":82,"column":27,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":82,"endColumn":28,"fix":{"range":[2981,2981],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"max-statements-per-line","severity":2,"message":"This line has 2 statements. Maximum allowed is 1.","line":82,"column":29,"nodeType":"ExpressionStatement","messageId":"exceed","endLine":82,"endColumn":74,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":82,"column":75,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":82,"endColumn":76,"fix":{"range":[3028,3028],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"eqeqeq","severity":2,"message":"Expected '!==' and instead saw '!='.","line":97,"column":18,"nodeType":"BinaryExpression","messageId":"unexpected","endLine":97,"endColumn":20,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"eqeqeq","severity":2,"message":"Expected '!==' and instead saw '!='.","line":97,"column":64,"nodeType":"BinaryExpression","messageId":"unexpected","endLine":97,"endColumn":66,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":103,"column":56,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":103,"endColumn":57,"fix":{"range":[3798,3798],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"max-statements-per-line","severity":2,"message":"This line has 2 statements. Maximum allowed is 1.","line":103,"column":58,"nodeType":"ExpressionStatement","messageId":"exceed","endLine":103,"endColumn":72,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":103,"column":73,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":103,"endColumn":74,"fix":{"range":[3814,3814],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":104,"column":24,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":104,"endColumn":25,"fix":{"range":[3843,3843],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"max-statements-per-line","severity":2,"message":"This line has 2 statements. Maximum allowed is 1.","line":104,"column":26,"nodeType":"ExpressionStatement","messageId":"exceed","endLine":104,"endColumn":48,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":104,"column":49,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":104,"endColumn":50,"fix":{"range":[3867,3867],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"eqeqeq","severity":2,"message":"Expected '===' and instead saw '=='.","line":109,"column":19,"nodeType":"BinaryExpression","messageId":"unexpected","endLine":109,"endColumn":21,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":109,"column":29,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":109,"endColumn":30,"fix":{"range":[3940,3940],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"max-statements-per-line","severity":2,"message":"This line has 2 statements. Maximum allowed is 1.","line":109,"column":31,"nodeType":"ReturnStatement","messageId":"exceed","endLine":109,"endColumn":38,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":109,"column":39,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":109,"endColumn":40,"fix":{"range":[3949,3949],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"eqeqeq","severity":2,"message":"Expected '===' and instead saw '=='.","line":112,"column":20,"nodeType":"BinaryExpression","messageId":"unexpected","endLine":112,"endColumn":22,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":112,"column":32,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":112,"endColumn":33,"fix":{"range":[4102,4102],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"max-statements-per-line","severity":2,"message":"This line has 2 statements. Maximum allowed is 1.","line":112,"column":34,"nodeType":"ExpressionStatement","messageId":"exceed","endLine":112,"endColumn":67,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":112,"column":68,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":112,"endColumn":69,"fix":{"range":[4137,4137],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":117,"column":21,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":117,"endColumn":22,"fix":{"range":[4217,4217],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"max-statements-per-line","severity":2,"message":"This line has 2 statements. Maximum allowed is 1.","line":117,"column":23,"nodeType":"ExpressionStatement","messageId":"exceed","endLine":117,"endColumn":64,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":117,"column":65,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":117,"endColumn":66,"fix":{"range":[4260,4260],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":120,"column":23,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":120,"endColumn":24,"fix":{"range":[4385,4385],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"max-statements-per-line","severity":2,"message":"This line has 2 statements. Maximum allowed is 1.","line":120,"column":25,"nodeType":"ExpressionStatement","messageId":"exceed","endLine":120,"endColumn":45,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":120,"column":46,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":120,"endColumn":47,"fix":{"range":[4407,4407],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"eqeqeq","severity":2,"message":"Expected '===' and instead saw '=='.","line":125,"column":37,"nodeType":"BinaryExpression","messageId":"unexpected","endLine":125,"endColumn":39,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-mixed-spaces-and-tabs","severity":2,"message":"Mixed spaces and tabs.","line":137,"column":2,"nodeType":"Program","messageId":"mixedSpacesAndTabs","endLine":137,"endColumn":4,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"block-scoped-var","severity":2,"message":"'prop' declared on line 140 column 14 is used outside of binding context.","line":138,"column":13,"nodeType":"Identifier","messageId":"outOfScope","endLine":138,"endColumn":17,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"block-scoped-var","severity":2,"message":"'prop' declared on line 143 column 14 is used outside of binding context.","line":138,"column":13,"nodeType":"Identifier","messageId":"outOfScope","endLine":138,"endColumn":17,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-use-before-define","severity":2,"message":"'defaultOptions' was used before it was defined.","line":138,"column":21,"nodeType":"Identifier","messageId":"usedBeforeDefined","endLine":138,"endColumn":35,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":138,"column":38,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":138,"endColumn":39,"fix":{"range":[4795,4795],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"max-statements-per-line","severity":2,"message":"This line has 2 statements. Maximum allowed is 1.","line":138,"column":40,"nodeType":"ExpressionStatement","messageId":"exceed","endLine":138,"endColumn":77,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"block-scoped-var","severity":2,"message":"'prop' declared on line 140 column 14 is used outside of binding context.","line":138,"column":45,"nodeType":"Identifier","messageId":"outOfScope","endLine":138,"endColumn":49,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"block-scoped-var","severity":2,"message":"'prop' declared on line 143 column 14 is used outside of binding context.","line":138,"column":45,"nodeType":"Identifier","messageId":"outOfScope","endLine":138,"endColumn":49,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-use-before-define","severity":2,"message":"'defaultOptions' was used before it was defined.","line":138,"column":54,"nodeType":"Identifier","messageId":"usedBeforeDefined","endLine":138,"endColumn":68,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"block-scoped-var","severity":2,"message":"'prop' declared on line 140 column 14 is used outside of binding context.","line":138,"column":70,"nodeType":"Identifier","messageId":"outOfScope","endLine":138,"endColumn":74,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"block-scoped-var","severity":2,"message":"'prop' declared on line 143 column 14 is used outside of binding context.","line":138,"column":70,"nodeType":"Identifier","messageId":"outOfScope","endLine":138,"endColumn":74,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":138,"column":78,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":138,"endColumn":79,"fix":{"range":[4834,4834],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-redeclare","severity":2,"message":"'prop' is already defined.","line":140,"column":14,"nodeType":"Identifier","messageId":"redeclared","endLine":140,"endColumn":18,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"block-scoped-var","severity":2,"message":"'prop' declared on line 138 column 13 is used outside of binding context.","line":140,"column":14,"nodeType":"Identifier","messageId":"outOfScope","endLine":140,"endColumn":18,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"block-scoped-var","severity":2,"message":"'prop' declared on line 143 column 14 is used outside of binding context.","line":140,"column":14,"nodeType":"Identifier","messageId":"outOfScope","endLine":140,"endColumn":18,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":140,"column":31,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":140,"endColumn":32,"fix":{"range":[4885,4885],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"max-statements-per-line","severity":2,"message":"This line has 3 statements. Maximum allowed is 1.","line":140,"column":33,"nodeType":"IfStatement","messageId":"exceed","endLine":140,"endColumn":102,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"block-scoped-var","severity":2,"message":"'prop' declared on line 138 column 13 is used outside of binding context.","line":140,"column":46,"nodeType":"Identifier","messageId":"outOfScope","endLine":140,"endColumn":50,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"block-scoped-var","severity":2,"message":"'prop' declared on line 143 column 14 is used outside of binding context.","line":140,"column":46,"nodeType":"Identifier","messageId":"outOfScope","endLine":140,"endColumn":50,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":140,"column":69,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":140,"endColumn":70,"fix":{"range":[4923,4923],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"block-scoped-var","severity":2,"message":"'prop' declared on line 138 column 13 is used outside of binding context.","line":140,"column":76,"nodeType":"Identifier","messageId":"outOfScope","endLine":140,"endColumn":80,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"block-scoped-var","severity":2,"message":"'prop' declared on line 143 column 14 is used outside of binding context.","line":140,"column":76,"nodeType":"Identifier","messageId":"outOfScope","endLine":140,"endColumn":80,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"block-scoped-var","severity":2,"message":"'prop' declared on line 138 column 13 is used outside of binding context.","line":140,"column":93,"nodeType":"Identifier","messageId":"outOfScope","endLine":140,"endColumn":97,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"block-scoped-var","severity":2,"message":"'prop' declared on line 143 column 14 is used outside of binding context.","line":140,"column":93,"nodeType":"Identifier","messageId":"outOfScope","endLine":140,"endColumn":97,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":140,"column":101,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":140,"endColumn":102,"fix":{"range":[4954,4954],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":140,"column":103,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":140,"endColumn":104,"fix":{"range":[4956,4956],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-redeclare","severity":2,"message":"'prop' is already defined.","line":143,"column":14,"nodeType":"Identifier","messageId":"redeclared","endLine":143,"endColumn":18,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"block-scoped-var","severity":2,"message":"'prop' declared on line 138 column 13 is used outside of binding context.","line":143,"column":14,"nodeType":"Identifier","messageId":"outOfScope","endLine":143,"endColumn":18,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"block-scoped-var","severity":2,"message":"'prop' declared on line 140 column 14 is used outside of binding context.","line":143,"column":14,"nodeType":"Identifier","messageId":"outOfScope","endLine":143,"endColumn":18,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":143,"column":32,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":143,"endColumn":33,"fix":{"range":[5013,5013],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"max-statements-per-line","severity":2,"message":"This line has 3 statements. Maximum allowed is 1.","line":143,"column":34,"nodeType":"IfStatement","messageId":"exceed","endLine":143,"endColumn":105,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"block-scoped-var","severity":2,"message":"'prop' declared on line 138 column 13 is used outside of binding context.","line":143,"column":48,"nodeType":"Identifier","messageId":"outOfScope","endLine":143,"endColumn":52,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"block-scoped-var","severity":2,"message":"'prop' declared on line 140 column 14 is used outside of binding context.","line":143,"column":48,"nodeType":"Identifier","messageId":"outOfScope","endLine":143,"endColumn":52,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":143,"column":71,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":143,"endColumn":72,"fix":{"range":[5052,5052],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"block-scoped-var","severity":2,"message":"'prop' declared on line 138 column 13 is used outside of binding context.","line":143,"column":78,"nodeType":"Identifier","messageId":"outOfScope","endLine":143,"endColumn":82,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"block-scoped-var","severity":2,"message":"'prop' declared on line 140 column 14 is used outside of binding context.","line":143,"column":78,"nodeType":"Identifier","messageId":"outOfScope","endLine":143,"endColumn":82,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"block-scoped-var","severity":2,"message":"'prop' declared on line 138 column 13 is used outside of binding context.","line":143,"column":96,"nodeType":"Identifier","messageId":"outOfScope","endLine":143,"endColumn":100,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"block-scoped-var","severity":2,"message":"'prop' declared on line 140 column 14 is used outside of binding context.","line":143,"column":96,"nodeType":"Identifier","messageId":"outOfScope","endLine":143,"endColumn":100,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":143,"column":104,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":143,"endColumn":105,"fix":{"range":[5084,5084],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":143,"column":106,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":143,"endColumn":107,"fix":{"range":[5086,5086],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":145,"column":27,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":145,"endColumn":28,"fix":{"range":[5119,5119],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"max-statements-per-line","severity":2,"message":"This line has 2 statements. Maximum allowed is 1.","line":145,"column":29,"nodeType":"ExpressionStatement","messageId":"exceed","endLine":145,"endColumn":68,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":145,"column":69,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":145,"endColumn":70,"fix":{"range":[5160,5160],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":150,"column":41,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":150,"endColumn":42,"fix":{"range":[5255,5255],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"max-statements-per-line","severity":2,"message":"This line has 3 statements. Maximum allowed is 1.","line":150,"column":43,"nodeType":"ReturnStatement","messageId":"exceed","endLine":150,"endColumn":61,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":150,"column":62,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":150,"endColumn":63,"fix":{"range":[5275,5275],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":150,"column":69,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":150,"endColumn":70,"fix":{"range":[5283,5283],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":150,"column":95,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":150,"endColumn":96,"fix":{"range":[5308,5308],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":155,"column":21,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":155,"endColumn":22,"fix":{"range":[5399,5399],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":155,"column":47,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":155,"endColumn":48,"fix":{"range":[5424,5424],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":156,"column":23,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":156,"endColumn":24,"fix":{"range":[5450,5450],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":156,"column":48,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":156,"endColumn":49,"fix":{"range":[5474,5474],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":157,"column":25,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":157,"endColumn":26,"fix":{"range":[5502,5502],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":157,"column":77,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":157,"endColumn":78,"fix":{"range":[5553,5553],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":158,"column":27,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":158,"endColumn":28,"fix":{"range":[5583,5583],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":158,"column":78,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":158,"endColumn":79,"fix":{"range":[5633,5633],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":159,"column":23,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":159,"endColumn":24,"fix":{"range":[5659,5659],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":159,"column":47,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":159,"endColumn":48,"fix":{"range":[5682,5682],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":160,"column":22,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":160,"endColumn":23,"fix":{"range":[5707,5707],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":160,"column":62,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":160,"endColumn":63,"fix":{"range":[5746,5746],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-mixed-spaces-and-tabs","severity":2,"message":"Mixed spaces and tabs.","line":166,"column":2,"nodeType":"Program","messageId":"mixedSpacesAndTabs","endLine":166,"endColumn":4,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":169,"column":38,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":169,"endColumn":39,"fix":{"range":[5921,5921],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"max-statements-per-line","severity":2,"message":"This line has 2 statements. Maximum allowed is 1.","line":169,"column":40,"nodeType":"ExpressionStatement","messageId":"exceed","endLine":169,"endColumn":63,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":169,"column":64,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":169,"endColumn":65,"fix":{"range":[5946,5946],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":170,"column":38,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":170,"endColumn":39,"fix":{"range":[5987,5987],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"max-statements-per-line","severity":2,"message":"This line has 2 statements. Maximum allowed is 1.","line":170,"column":40,"nodeType":"ExpressionStatement","messageId":"exceed","endLine":170,"endColumn":62,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":170,"column":63,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":170,"endColumn":64,"fix":{"range":[6011,6011],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-mixed-spaces-and-tabs","severity":2,"message":"Mixed spaces and tabs.","line":174,"column":2,"nodeType":"Program","messageId":"mixedSpacesAndTabs","endLine":174,"endColumn":4,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-shadow","severity":2,"message":"'key' is already declared in the upper scope on line 183 column 14.","line":175,"column":24,"nodeType":"Identifier","messageId":"noShadow","endLine":175,"endColumn":27,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":177,"column":35,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":177,"endColumn":36,"fix":{"range":[6185,6185],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"max-statements-per-line","severity":2,"message":"This line has 3 statements. Maximum allowed is 1.","line":177,"column":37,"nodeType":"ExpressionStatement","messageId":"exceed","endLine":177,"endColumn":91,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":177,"column":61,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":177,"endColumn":62,"fix":{"range":[6211,6211],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":177,"column":89,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":177,"endColumn":90,"fix":{"range":[6238,6238],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace does not appear on the same line as the subsequent block.","line":177,"column":92,"nodeType":"Punctuator","messageId":"nextLineClose","endLine":177,"endColumn":93,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":177,"column":92,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":177,"endColumn":93,"fix":{"range":[6241,6241],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-prototype-builtins","severity":2,"message":"Do not access Object.prototype method 'hasOwnProperty' from target object.","line":179,"column":22,"nodeType":"CallExpression","messageId":"prototypeBuildIn","endLine":179,"endColumn":36,"suggestions":[{"messageId":"callObjectPrototype","data":{"prop":"hasOwnProperty"},"fix":{"range":[6291,6314],"text":"Object.prototype.hasOwnProperty.call(baseMap, "},"desc":"Call Object.prototype.hasOwnProperty explicitly."}],"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":179,"column":46,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":179,"endColumn":47,"fix":{"range":[6324,6324],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"max-statements-per-line","severity":2,"message":"This line has 3 statements. Maximum allowed is 1.","line":179,"column":48,"nodeType":"ExpressionStatement","messageId":"exceed","endLine":179,"endColumn":71,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":179,"column":72,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":179,"endColumn":73,"fix":{"range":[6349,6349],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":179,"column":79,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":179,"endColumn":80,"fix":{"range":[6357,6357],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":179,"column":94,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":179,"endColumn":95,"fix":{"range":[6371,6371],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"block-scoped-var","severity":2,"message":"'key' declared on line 189 column 14 is used outside of binding context.","line":183,"column":14,"nodeType":"Identifier","messageId":"outOfScope","endLine":183,"endColumn":17,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-prototype-builtins","severity":2,"message":"Do not access Object.prototype method 'hasOwnProperty' from target object.","line":184,"column":17,"nodeType":"CallExpression","messageId":"prototypeBuildIn","endLine":184,"endColumn":31,"suggestions":[{"messageId":"callObjectPrototype","data":{"prop":"hasOwnProperty"},"fix":{"range":[6461,6483],"text":"Object.prototype.hasOwnProperty.call(custom, "},"desc":"Call Object.prototype.hasOwnProperty explicitly."}],"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"block-scoped-var","severity":2,"message":"'key' declared on line 189 column 14 is used outside of binding context.","line":184,"column":33,"nodeType":"Identifier","messageId":"outOfScope","endLine":184,"endColumn":36,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":184,"column":41,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":184,"endColumn":42,"fix":{"range":[6493,6493],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"max-statements-per-line","severity":2,"message":"This line has 2 statements. Maximum allowed is 1.","line":184,"column":43,"nodeType":"ExpressionStatement","messageId":"exceed","endLine":184,"endColumn":76,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"block-scoped-var","severity":2,"message":"'key' declared on line 189 column 14 is used outside of binding context.","line":184,"column":55,"nodeType":"Identifier","messageId":"outOfScope","endLine":184,"endColumn":58,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"block-scoped-var","severity":2,"message":"'key' declared on line 189 column 14 is used outside of binding context.","line":184,"column":68,"nodeType":"Identifier","messageId":"outOfScope","endLine":184,"endColumn":71,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":184,"column":77,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":184,"endColumn":78,"fix":{"range":[6528,6528],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-redeclare","severity":2,"message":"'key' is already defined.","line":189,"column":14,"nodeType":"Identifier","messageId":"redeclared","endLine":189,"endColumn":17,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"block-scoped-var","severity":2,"message":"'key' declared on line 183 column 14 is used outside of binding context.","line":189,"column":14,"nodeType":"Identifier","messageId":"outOfScope","endLine":189,"endColumn":17,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-prototype-builtins","severity":2,"message":"Do not access Object.prototype method 'hasOwnProperty' from target object.","line":190,"column":16,"nodeType":"CallExpression","messageId":"prototypeBuildIn","endLine":190,"endColumn":30,"suggestions":[{"messageId":"callObjectPrototype","data":{"prop":"hasOwnProperty"},"fix":{"range":[6639,6660],"text":"Object.prototype.hasOwnProperty.call(extra, "},"desc":"Call Object.prototype.hasOwnProperty explicitly."}],"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"block-scoped-var","severity":2,"message":"'key' declared on line 183 column 14 is used outside of binding context.","line":190,"column":32,"nodeType":"Identifier","messageId":"outOfScope","endLine":190,"endColumn":35,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":190,"column":40,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":190,"endColumn":41,"fix":{"range":[6670,6670],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"max-statements-per-line","severity":2,"message":"This line has 2 statements. Maximum allowed is 1.","line":190,"column":42,"nodeType":"ExpressionStatement","messageId":"exceed","endLine":190,"endColumn":74,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"block-scoped-var","severity":2,"message":"'key' declared on line 183 column 14 is used outside of binding context.","line":190,"column":54,"nodeType":"Identifier","messageId":"outOfScope","endLine":190,"endColumn":57,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"block-scoped-var","severity":2,"message":"'key' declared on line 183 column 14 is used outside of binding context.","line":190,"column":66,"nodeType":"Identifier","messageId":"outOfScope","endLine":190,"endColumn":69,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":190,"column":75,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":190,"endColumn":76,"fix":{"range":[6704,6704],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"eqeqeq","severity":2,"message":"Expected '!==' and instead saw '!='.","line":197,"column":20,"nodeType":"BinaryExpression","messageId":"unexpected","endLine":197,"endColumn":22,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"eqeqeq","severity":2,"message":"Expected '===' and instead saw '=='.","line":198,"column":61,"nodeType":"BinaryExpression","messageId":"unexpected","endLine":198,"endColumn":63,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":198,"column":79,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":198,"endColumn":80,"fix":{"range":[6901,6901],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"max-statements-per-line","severity":2,"message":"This line has 2 statements. Maximum allowed is 1.","line":198,"column":81,"nodeType":"ReturnStatement","messageId":"exceed","endLine":198,"endColumn":91,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":198,"column":92,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":198,"endColumn":93,"fix":{"range":[6913,6913],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-mixed-spaces-and-tabs","severity":2,"message":"Mixed spaces and tabs.","line":208,"column":2,"nodeType":"Program","messageId":"mixedSpacesAndTabs","endLine":208,"endColumn":4,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-mixed-spaces-and-tabs","severity":2,"message":"Mixed spaces and tabs.","line":209,"column":2,"nodeType":"Program","messageId":"mixedSpacesAndTabs","endLine":209,"endColumn":4,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-mixed-spaces-and-tabs","severity":2,"message":"Mixed spaces and tabs.","line":211,"column":2,"nodeType":"Program","messageId":"mixedSpacesAndTabs","endLine":211,"endColumn":4,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-mixed-spaces-and-tabs","severity":2,"message":"Mixed spaces and tabs.","line":212,"column":2,"nodeType":"Program","messageId":"mixedSpacesAndTabs","endLine":212,"endColumn":4,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"mediawiki/class-doc","severity":2,"message":"All possible CSS classes should be documented. See https://w.wiki/PS2 for details.","line":213,"column":3,"nodeType":"AssignmentExpression","endLine":213,"endColumn":48,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-mixed-spaces-and-tabs","severity":2,"message":"Mixed spaces and tabs.","line":219,"column":3,"nodeType":"Program","messageId":"mixedSpacesAndTabs","endLine":219,"endColumn":5,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"eqeqeq","severity":2,"message":"Expected '!==' and instead saw '!='.","line":219,"column":42,"nodeType":"BinaryExpression","messageId":"unexpected","endLine":219,"endColumn":44,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"eqeqeq","severity":2,"message":"Expected '!==' and instead saw '!='.","line":220,"column":23,"nodeType":"BinaryExpression","messageId":"unexpected","endLine":220,"endColumn":25,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":220,"column":33,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":220,"endColumn":34,"fix":{"range":[7741,7741],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"max-statements-per-line","severity":2,"message":"This line has 2 statements. Maximum allowed is 1.","line":220,"column":35,"nodeType":"ExpressionStatement","messageId":"exceed","endLine":220,"endColumn":79,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":220,"column":80,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":220,"endColumn":81,"fix":{"range":[7787,7787],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"mediawiki/class-doc","severity":2,"message":"All possible CSS classes should be documented. See https://w.wiki/PS2 for details.","line":221,"column":4,"nodeType":"AssignmentExpression","endLine":221,"endColumn":29,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":222,"column":22,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":222,"endColumn":23,"fix":{"range":[7841,7841],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"max-statements-per-line","severity":2,"message":"This line has 3 statements. Maximum allowed is 1.","line":222,"column":24,"nodeType":"ExpressionStatement","messageId":"exceed","endLine":222,"endColumn":53,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":222,"column":54,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":222,"endColumn":55,"fix":{"range":[7872,7872],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":222,"column":61,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":222,"endColumn":62,"fix":{"range":[7880,7880],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":222,"column":149,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":222,"endColumn":150,"fix":{"range":[7967,7967],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-mixed-spaces-and-tabs","severity":2,"message":"Mixed spaces and tabs.","line":227,"column":2,"nodeType":"Program","messageId":"mixedSpacesAndTabs","endLine":227,"endColumn":4,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-mixed-spaces-and-tabs","severity":2,"message":"Mixed spaces and tabs.","line":232,"column":2,"nodeType":"Program","messageId":"mixedSpacesAndTabs","endLine":232,"endColumn":4,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-mixed-spaces-and-tabs","severity":2,"message":"Mixed spaces and tabs.","line":235,"column":2,"nodeType":"Program","messageId":"mixedSpacesAndTabs","endLine":235,"endColumn":4,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-mixed-spaces-and-tabs","severity":2,"message":"Mixed spaces and tabs.","line":236,"column":2,"nodeType":"Program","messageId":"mixedSpacesAndTabs","endLine":236,"endColumn":4,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"eqeqeq","severity":2,"message":"Expected '!==' and instead saw '!='.","line":247,"column":23,"nodeType":"BinaryExpression","messageId":"unexpected","endLine":247,"endColumn":25,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":263,"column":71,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":263,"endColumn":72,"fix":{"range":[9745,9745],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"max-statements-per-line","severity":2,"message":"This line has 2 statements. Maximum allowed is 1.","line":263,"column":73,"nodeType":"ExpressionStatement","messageId":"exceed","endLine":263,"endColumn":132,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":263,"column":133,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":263,"endColumn":134,"fix":{"range":[9806,9806],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":267,"column":41,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":267,"endColumn":42,"fix":{"range":[9911,9911],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":267,"column":102,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":267,"endColumn":103,"fix":{"range":[9971,9971],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":268,"column":29,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":268,"endColumn":30,"fix":{"range":[10003,10003],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":268,"column":57,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":268,"endColumn":58,"fix":{"range":[10030,10030],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":269,"column":26,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":269,"endColumn":27,"fix":{"range":[10059,10059],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":269,"column":58,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":269,"endColumn":59,"fix":{"range":[10090,10090],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":271,"column":23,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":271,"endColumn":24,"fix":{"range":[10147,10147],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":271,"column":45,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":271,"endColumn":46,"fix":{"range":[10168,10168],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":272,"column":22,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":272,"endColumn":23,"fix":{"range":[10193,10193],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":272,"column":39,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":272,"endColumn":40,"fix":{"range":[10209,10209],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":278,"column":45,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":278,"endColumn":46,"fix":{"range":[10348,10348],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"max-statements-per-line","severity":2,"message":"This line has 3 statements. Maximum allowed is 1.","line":278,"column":47,"nodeType":"ExpressionStatement","messageId":"exceed","endLine":278,"endColumn":118,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":278,"column":87,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":278,"endColumn":88,"fix":{"range":[10390,10390],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":278,"column":109,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":278,"endColumn":110,"fix":{"range":[10411,10411],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":278,"column":119,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":278,"endColumn":120,"fix":{"range":[10421,10421],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":279,"column":47,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":279,"endColumn":48,"fix":{"range":[10473,10473],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"max-statements-per-line","severity":2,"message":"This line has 2 statements. Maximum allowed is 1.","line":279,"column":49,"nodeType":"ExpressionStatement","messageId":"exceed","endLine":279,"endColumn":79,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":279,"column":80,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":279,"endColumn":81,"fix":{"range":[10505,10505],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-mixed-spaces-and-tabs","severity":2,"message":"Mixed spaces and tabs.","line":284,"column":3,"nodeType":"Program","messageId":"mixedSpacesAndTabs","endLine":284,"endColumn":5,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-mixed-spaces-and-tabs","severity":2,"message":"Mixed spaces and tabs.","line":285,"column":3,"nodeType":"Program","messageId":"mixedSpacesAndTabs","endLine":285,"endColumn":5,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":286,"column":18,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":286,"endColumn":19,"fix":{"range":[10850,10850],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"max-statements-per-line","severity":2,"message":"This line has 2 statements. Maximum allowed is 1.","line":286,"column":20,"nodeType":"ExpressionStatement","messageId":"exceed","endLine":286,"endColumn":48,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":286,"column":49,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":286,"endColumn":50,"fix":{"range":[10880,10880],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":287,"column":57,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":287,"endColumn":58,"fix":{"range":[10939,10939],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"max-statements-per-line","severity":2,"message":"This line has 2 statements. Maximum allowed is 1.","line":287,"column":59,"nodeType":"ReturnStatement","messageId":"exceed","endLine":287,"endColumn":85,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":287,"column":86,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":287,"endColumn":87,"fix":{"range":[10967,10967],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"eqeqeq","severity":2,"message":"Expected '!==' and instead saw '!='.","line":294,"column":23,"nodeType":"BinaryExpression","messageId":"unexpected","endLine":294,"endColumn":25,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":294,"column":33,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":294,"endColumn":34,"fix":{"range":[11236,11236],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"max-statements-per-line","severity":2,"message":"This line has 3 statements. Maximum allowed is 1.","line":294,"column":35,"nodeType":"ExpressionStatement","messageId":"exceed","endLine":294,"endColumn":67,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":294,"column":83,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":294,"endColumn":84,"fix":{"range":[11285,11285],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"eqeqeq","severity":2,"message":"Expected '!==' and instead saw '!='.","line":299,"column":23,"nodeType":"BinaryExpression","messageId":"unexpected","endLine":299,"endColumn":25,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":301,"column":53,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":301,"endColumn":54,"fix":{"range":[11531,11531],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"max-statements-per-line","severity":2,"message":"This line has 2 statements. Maximum allowed is 1.","line":301,"column":55,"nodeType":"ExpressionStatement","messageId":"exceed","endLine":301,"endColumn":69,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":301,"column":70,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":301,"endColumn":71,"fix":{"range":[11547,11547],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":306,"column":28,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":306,"endColumn":29,"fix":{"range":[11641,11641],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"max-statements-per-line","severity":2,"message":"This line has 2 statements. Maximum allowed is 1.","line":306,"column":30,"nodeType":"ExpressionStatement","messageId":"exceed","endLine":306,"endColumn":41,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":306,"column":42,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":306,"endColumn":43,"fix":{"range":[11654,11654],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"eqeqeq","severity":2,"message":"Expected '!==' and instead saw '!='.","line":315,"column":32,"nodeType":"BinaryExpression","messageId":"unexpected","endLine":315,"endColumn":34,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":315,"column":42,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":315,"endColumn":43,"fix":{"range":[11889,11889],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"max-statements-per-line","severity":2,"message":"This line has 2 statements. Maximum allowed is 1.","line":315,"column":44,"nodeType":"ReturnStatement","messageId":"exceed","endLine":315,"endColumn":51,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":315,"column":52,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":315,"endColumn":53,"fix":{"range":[11898,11898],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":331,"column":39,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":331,"endColumn":40,"fix":{"range":[12379,12379],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"max-statements-per-line","severity":2,"message":"This line has 2 statements. Maximum allowed is 1.","line":331,"column":41,"nodeType":"ExpressionStatement","messageId":"exceed","endLine":331,"endColumn":62,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":331,"column":63,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":331,"endColumn":64,"fix":{"range":[12402,12402],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":340,"column":38,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":340,"endColumn":39,"fix":{"range":[12628,12628],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"max-statements-per-line","severity":2,"message":"This line has 4 statements. Maximum allowed is 1.","line":340,"column":40,"nodeType":"ExpressionStatement","messageId":"exceed","endLine":340,"endColumn":86,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":340,"column":87,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":340,"endColumn":88,"fix":{"range":[12676,12676],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":340,"column":107,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":340,"endColumn":108,"fix":{"range":[12697,12697],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":340,"column":156,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":340,"endColumn":157,"fix":{"range":[12745,12745],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"eqeqeq","severity":2,"message":"Expected '===' and instead saw '=='.","line":341,"column":27,"nodeType":"BinaryExpression","messageId":"unexpected","endLine":341,"endColumn":29,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":341,"column":34,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":341,"endColumn":35,"fix":{"range":[12781,12781],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"max-statements-per-line","severity":2,"message":"This line has 2 statements. Maximum allowed is 1.","line":341,"column":36,"nodeType":"ReturnStatement","messageId":"exceed","endLine":341,"endColumn":43,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":341,"column":44,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":341,"endColumn":45,"fix":{"range":[12790,12790],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":343,"column":16,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":343,"endColumn":17,"fix":{"range":[12866,12866],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"mediawiki/class-doc","severity":2,"message":"All possible CSS classes should be documented. See https://w.wiki/PS2 for details.","line":343,"column":18,"nodeType":"AssignmentExpression","endLine":343,"endColumn":96,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"max-statements-per-line","severity":2,"message":"This line has 2 statements. Maximum allowed is 1.","line":343,"column":18,"nodeType":"ExpressionStatement","messageId":"exceed","endLine":343,"endColumn":97,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":343,"column":98,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":343,"endColumn":99,"fix":{"range":[12947,12947],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"mediawiki/class-doc","severity":2,"message":"All possible CSS classes should be documented. See https://w.wiki/PS2 for details.","line":345,"column":4,"nodeType":"AssignmentExpression","endLine":345,"endColumn":53,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":346,"column":49,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":346,"endColumn":50,"fix":{"range":[13110,13110],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"max-statements-per-line","severity":2,"message":"This line has 4 statements. Maximum allowed is 1.","line":346,"column":51,"nodeType":"ExpressionStatement","messageId":"exceed","endLine":346,"endColumn":93,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":346,"column":94,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":346,"endColumn":95,"fix":{"range":[13154,13154],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":346,"column":192,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":346,"endColumn":193,"fix":{"range":[13253,13253],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":346,"column":283,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":346,"endColumn":284,"fix":{"range":[13343,13343],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":356,"column":34,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":356,"endColumn":35,"fix":{"range":[13648,13648],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"max-statements-per-line","severity":2,"message":"This line has 2 statements. Maximum allowed is 1.","line":356,"column":36,"nodeType":"ReturnStatement","messageId":"exceed","endLine":356,"endColumn":51,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":356,"column":52,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":356,"endColumn":53,"fix":{"range":[13665,13665],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":358,"column":46,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":358,"endColumn":47,"fix":{"range":[13732,13732],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"max-statements-per-line","severity":2,"message":"This line has 3 statements. Maximum allowed is 1.","line":358,"column":48,"nodeType":"IfStatement","messageId":"exceed","endLine":358,"endColumn":118,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":358,"column":86,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":358,"endColumn":87,"fix":{"range":[13772,13772],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":358,"column":117,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":358,"endColumn":118,"fix":{"range":[13802,13802],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":358,"column":119,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":358,"endColumn":120,"fix":{"range":[13804,13804],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":367,"column":33,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":367,"endColumn":34,"fix":{"range":[14018,14018],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"max-statements-per-line","severity":2,"message":"This line has 3 statements. Maximum allowed is 1.","line":367,"column":35,"nodeType":"ExpressionStatement","messageId":"exceed","endLine":367,"endColumn":59,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":367,"column":60,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":367,"endColumn":61,"fix":{"range":[14044,14044],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":367,"column":67,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":367,"endColumn":68,"fix":{"range":[14052,14052],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":367,"column":89,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":367,"endColumn":90,"fix":{"range":[14073,14073],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-shadow","severity":2,"message":"'cm' is already declared in the upper scope on line 371 column 29.","line":374,"column":30,"nodeType":"Identifier","messageId":"noShadow","endLine":374,"endColumn":32,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"eqeqeq","severity":2,"message":"Expected '===' and instead saw '=='.","line":377,"column":13,"nodeType":"BinaryExpression","messageId":"unexpected","endLine":377,"endColumn":15,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":377,"column":29,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":377,"endColumn":30,"fix":{"range":[14358,14358],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"max-statements-per-line","severity":2,"message":"This line has 2 statements. Maximum allowed is 1.","line":377,"column":31,"nodeType":"ReturnStatement","messageId":"exceed","endLine":377,"endColumn":55,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":377,"column":56,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":377,"endColumn":57,"fix":{"range":[14384,14384],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":379,"column":47,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":379,"endColumn":48,"fix":{"range":[14495,14495],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"max-statements-per-line","severity":2,"message":"This line has 3 statements. Maximum allowed is 1.","line":379,"column":49,"nodeType":"ExpressionStatement","messageId":"exceed","endLine":379,"endColumn":68,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":379,"column":69,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":379,"endColumn":70,"fix":{"range":[14516,14516],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":379,"column":76,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":379,"endColumn":77,"fix":{"range":[14524,14524],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":379,"column":92,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":379,"endColumn":93,"fix":{"range":[14539,14539],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-cond-assign","severity":2,"message":"Expected a conditional expression and instead saw an assignment.","line":387,"column":15,"nodeType":"AssignmentExpression","messageId":"missing","endLine":387,"endColumn":66,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-shadow","severity":2,"message":"'cm' is already declared in the upper scope on line 371 column 29.","line":388,"column":22,"nodeType":"Identifier","messageId":"noShadow","endLine":388,"endColumn":24,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":388,"column":27,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":388,"endColumn":28,"fix":{"range":[14758,14758],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"max-statements-per-line","severity":2,"message":"This line has 2 statements. Maximum allowed is 1.","line":388,"column":29,"nodeType":"ReturnStatement","messageId":"exceed","endLine":388,"endColumn":85,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":388,"column":86,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":388,"endColumn":87,"fix":{"range":[14816,14816],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-shadow","severity":2,"message":"'cm' is already declared in the upper scope on line 371 column 29.","line":390,"column":22,"nodeType":"Identifier","messageId":"noShadow","endLine":390,"endColumn":24,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":390,"column":36,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":390,"endColumn":37,"fix":{"range":[14897,14897],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"max-statements-per-line","severity":2,"message":"This line has 2 statements. Maximum allowed is 1.","line":390,"column":38,"nodeType":"ReturnStatement","messageId":"exceed","endLine":390,"endColumn":84,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":390,"column":85,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":390,"endColumn":86,"fix":{"range":[14945,14945],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-mixed-spaces-and-tabs","severity":2,"message":"Mixed spaces and tabs.","line":402,"column":2,"nodeType":"Program","messageId":"mixedSpacesAndTabs","endLine":402,"endColumn":4,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"unicorn/prefer-string-slice","severity":2,"message":"Prefer `String#slice()` over `String#substr()`.","line":404,"column":11,"nodeType":"CallExpression","messageId":"substr","endLine":404,"endColumn":57,"fix":{"range":[15393,15424],"text":"slice( 0, Math.max(0, cur.ch - token.start)"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"eqeqeq","severity":2,"message":"Expected '===' and instead saw '=='.","line":412,"column":38,"nodeType":"BinaryExpression","messageId":"unexpected","endLine":412,"endColumn":40,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":412,"column":48,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":412,"endColumn":49,"fix":{"range":[15625,15625],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"max-statements-per-line","severity":2,"message":"This line has 2 statements. Maximum allowed is 1.","line":412,"column":50,"nodeType":"ExpressionStatement","messageId":"exceed","endLine":412,"endColumn":69,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":412,"column":70,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":412,"endColumn":71,"fix":{"range":[15646,15646],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":415,"column":23,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":415,"endColumn":24,"fix":{"range":[15676,15676],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"max-statements-per-line","severity":2,"message":"This line has 2 statements. Maximum allowed is 1.","line":415,"column":25,"nodeType":"ReturnStatement","messageId":"exceed","endLine":415,"endColumn":68,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":415,"column":69,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":415,"endColumn":70,"fix":{"range":[15721,15721],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-useless-escape","severity":2,"message":"Unnecessary escape character: \\[.","line":424,"column":26,"nodeType":"Literal","messageId":"unnecessaryEscape","endLine":424,"endColumn":27,"suggestions":[{"messageId":"removeEscape","fix":{"range":[15914,15915],"text":""},"desc":"Remove the `\\`. This maintains the current functionality."},{"messageId":"escapeBackslash","fix":{"range":[15914,15914],"text":"\\"},"desc":"Replace the `\\` with `\\\\` to include the actual backslash character."}],"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":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/modules/lib/codemirror/xml-hint.js","messages":[],"suppressedMessages":[{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":11,"column":24,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":11,"endColumn":25,"fix":{"range":[296,296],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"max-statements-per-line","severity":2,"message":"This line has 3 statements. Maximum allowed is 1.","line":11,"column":26,"nodeType":"ReturnStatement","messageId":"exceed","endLine":11,"endColumn":60,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":11,"column":61,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":11,"endColumn":62,"fix":{"range":[332,332],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":11,"column":68,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":11,"endColumn":69,"fix":{"range":[340,340],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"eqeqeq","severity":2,"message":"Expected '===' and instead saw '=='.","line":11,"column":106,"nodeType":"BinaryExpression","messageId":"unexpected","endLine":11,"endColumn":108,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":11,"column":112,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":11,"endColumn":113,"fix":{"range":[383,383],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-mixed-spaces-and-tabs","severity":2,"message":"Mixed spaces and tabs.","line":16,"column":2,"nodeType":"Program","messageId":"mixedSpacesAndTabs","endLine":16,"endColumn":4,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-mixed-spaces-and-tabs","severity":2,"message":"Mixed spaces and tabs.","line":17,"column":2,"nodeType":"Program","messageId":"mixedSpacesAndTabs","endLine":17,"endColumn":4,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":18,"column":16,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":18,"endColumn":17,"fix":{"range":[590,590],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"max-statements-per-line","severity":2,"message":"This line has 2 statements. Maximum allowed is 1.","line":18,"column":18,"nodeType":"ReturnStatement","messageId":"exceed","endLine":18,"endColumn":25,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":18,"column":26,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":18,"endColumn":27,"fix":{"range":[599,599],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"eqeqeq","severity":2,"message":"Expected '!==' and instead saw '!='.","line":25,"column":24,"nodeType":"BinaryExpression","messageId":"unexpected","endLine":25,"endColumn":26,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":25,"column":35,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":25,"endColumn":36,"fix":{"range":[881,881],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"max-statements-per-line","severity":2,"message":"This line has 2 statements. Maximum allowed is 1.","line":25,"column":37,"nodeType":"ReturnStatement","messageId":"exceed","endLine":25,"endColumn":44,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":25,"column":45,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":25,"endColumn":46,"fix":{"range":[890,890],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-mixed-spaces-and-tabs","severity":2,"message":"Mixed spaces and tabs.","line":27,"column":2,"nodeType":"Program","messageId":"mixedSpacesAndTabs","endLine":27,"endColumn":4,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-mixed-spaces-and-tabs","severity":2,"message":"Mixed spaces and tabs.","line":28,"column":2,"nodeType":"Program","messageId":"mixedSpacesAndTabs","endLine":28,"endColumn":4,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"block-scoped-var","severity":2,"message":"'before' declared on line 69 column 9 is used outside of binding context.","line":31,"column":8,"nodeType":"Identifier","messageId":"outOfScope","endLine":31,"endColumn":14,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-mixed-spaces-and-tabs","severity":2,"message":"Mixed spaces and tabs.","line":32,"column":3,"nodeType":"Program","messageId":"mixedSpacesAndTabs","endLine":32,"endColumn":5,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"block-scoped-var","severity":2,"message":"'before' declared on line 69 column 9 is used outside of binding context.","line":32,"column":28,"nodeType":"Identifier","messageId":"outOfScope","endLine":32,"endColumn":34,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"block-scoped-var","severity":2,"message":"'before' declared on line 69 column 9 is used outside of binding context.","line":32,"column":60,"nodeType":"Identifier","messageId":"outOfScope","endLine":32,"endColumn":66,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":33,"column":19,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":33,"endColumn":20,"fix":{"range":[1285,1285],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"max-statements-per-line","severity":2,"message":"This line has 2 statements. Maximum allowed is 1.","line":33,"column":21,"nodeType":"ExpressionStatement","messageId":"exceed","endLine":33,"endColumn":77,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"eqeqeq","severity":2,"message":"Expected '===' and instead saw '=='.","line":33,"column":56,"nodeType":"BinaryExpression","messageId":"unexpected","endLine":33,"endColumn":58,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":33,"column":78,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":33,"endColumn":79,"fix":{"range":[1343,1343],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"eqeqeq","severity":2,"message":"Expected '===' and instead saw '=='.","line":34,"column":35,"nodeType":"BinaryExpression","messageId":"unexpected","endLine":34,"endColumn":37,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"block-scoped-var","severity":2,"message":"'tagType' declared on line 32 column 5 is used outside of binding context.","line":35,"column":4,"nodeType":"Identifier","messageId":"outOfScope","endLine":35,"endColumn":11,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"eqeqeq","severity":2,"message":"Expected '===' and instead saw '=='.","line":36,"column":35,"nodeType":"BinaryExpression","messageId":"unexpected","endLine":36,"endColumn":37,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"block-scoped-var","severity":2,"message":"'tagType' declared on line 32 column 5 is used outside of binding context.","line":37,"column":4,"nodeType":"Identifier","messageId":"outOfScope","endLine":37,"endColumn":11,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"block-scoped-var","severity":2,"message":"'tagType' declared on line 32 column 5 is used outside of binding context.","line":40,"column":40,"nodeType":"Identifier","messageId":"outOfScope","endLine":40,"endColumn":47,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":41,"column":19,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":41,"endColumn":20,"fix":{"range":[1554,1554],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"max-statements-per-line","severity":2,"message":"This line has 2 statements. Maximum allowed is 1.","line":41,"column":21,"nodeType":"ExpressionStatement","messageId":"exceed","endLine":41,"endColumn":43,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":41,"column":44,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":41,"endColumn":45,"fix":{"range":[1578,1578],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"block-scoped-var","severity":2,"message":"'tagType' declared on line 32 column 5 is used outside of binding context.","line":42,"column":19,"nodeType":"Identifier","messageId":"outOfScope","endLine":42,"endColumn":26,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"block-scoped-var","severity":2,"message":"'curTag' declared on line 57 column 8 is used outside of binding context.","line":43,"column":34,"nodeType":"Identifier","messageId":"outOfScope","endLine":43,"endColumn":40,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-mixed-spaces-and-tabs","severity":2,"message":"Mixed spaces and tabs.","line":44,"column":3,"nodeType":"Program","messageId":"mixedSpacesAndTabs","endLine":44,"endColumn":5,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"block-scoped-var","severity":2,"message":"'curTag' declared on line 57 column 8 is used outside of binding context.","line":44,"column":22,"nodeType":"Identifier","messageId":"outOfScope","endLine":44,"endColumn":28,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"block-scoped-var","severity":2,"message":"'curTag' declared on line 57 column 8 is used outside of binding context.","line":44,"column":32,"nodeType":"Identifier","messageId":"outOfScope","endLine":44,"endColumn":38,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"block-scoped-var","severity":2,"message":"'tagType' declared on line 32 column 5 is used outside of binding context.","line":45,"column":22,"nodeType":"Identifier","messageId":"outOfScope","endLine":45,"endColumn":29,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"eqeqeq","severity":2,"message":"Expected '!==' and instead saw '!='.","line":45,"column":30,"nodeType":"BinaryExpression","messageId":"unexpected","endLine":45,"endColumn":32,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"block-scoped-var","severity":2,"message":"'i' declared on line 93 column 15 is used outside of binding context.","line":46,"column":15,"nodeType":"Identifier","messageId":"outOfScope","endLine":46,"endColumn":16,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"block-scoped-var","severity":2,"message":"'i' declared on line 93 column 15 is used outside of binding context.","line":46,"column":22,"nodeType":"Identifier","messageId":"outOfScope","endLine":46,"endColumn":23,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"block-scoped-var","severity":2,"message":"'i' declared on line 93 column 15 is used outside of binding context.","line":46,"column":46,"nodeType":"Identifier","messageId":"outOfScope","endLine":46,"endColumn":47,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"block-scoped-var","severity":2,"message":"'i' declared on line 93 column 15 is used outside of binding context.","line":47,"column":42,"nodeType":"Identifier","messageId":"outOfScope","endLine":47,"endColumn":43,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":47,"column":73,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":47,"endColumn":74,"fix":{"range":[1908,1908],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"max-statements-per-line","severity":2,"message":"This line has 2 statements. Maximum allowed is 1.","line":47,"column":75,"nodeType":"ExpressionStatement","messageId":"exceed","endLine":47,"endColumn":111,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"block-scoped-var","severity":2,"message":"'i' declared on line 93 column 15 is used outside of binding context.","line":47,"column":105,"nodeType":"Identifier","messageId":"outOfScope","endLine":47,"endColumn":106,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":47,"column":112,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":47,"endColumn":113,"fix":{"range":[1946,1946],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"block-scoped-var","severity":2,"message":"'tagType' declared on line 32 column 5 is used outside of binding context.","line":49,"column":16,"nodeType":"Identifier","messageId":"outOfScope","endLine":49,"endColumn":23,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"eqeqeq","severity":2,"message":"Expected '!==' and instead saw '!='.","line":49,"column":24,"nodeType":"BinaryExpression","messageId":"unexpected","endLine":49,"endColumn":26,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-prototype-builtins","severity":2,"message":"Do not access Object.prototype method 'hasOwnProperty' from target object.","line":51,"column":16,"nodeType":"CallExpression","messageId":"prototypeBuildIn","endLine":51,"endColumn":30,"suggestions":[{"messageId":"callObjectPrototype","data":{"prop":"hasOwnProperty"},"fix":{"range":[2033,2053],"text":"Object.prototype.hasOwnProperty.call(tags, "},"desc":"Call Object.prototype.hasOwnProperty explicitly."}],"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"eqeqeq","severity":2,"message":"Expected '!==' and instead saw '!='.","line":51,"column":47,"nodeType":"BinaryExpression","messageId":"unexpected","endLine":51,"endColumn":49,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"eqeqeq","severity":2,"message":"Expected '!==' and instead saw '!='.","line":51,"column":65,"nodeType":"BinaryExpression","messageId":"unexpected","endLine":51,"endColumn":67,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":51,"column":136,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":51,"endColumn":137,"fix":{"range":[2159,2159],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"max-statements-per-line","severity":2,"message":"This line has 2 statements. Maximum allowed is 1.","line":51,"column":138,"nodeType":"ExpressionStatement","messageId":"exceed","endLine":51,"endColumn":164,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":51,"column":165,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":51,"endColumn":166,"fix":{"range":[2187,2187],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"block-scoped-var","severity":2,"message":"'tagType' declared on line 32 column 5 is used outside of binding context.","line":54,"column":28,"nodeType":"Identifier","messageId":"outOfScope","endLine":54,"endColumn":35,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"eqeqeq","severity":2,"message":"Expected '===' and instead saw '=='.","line":54,"column":36,"nodeType":"BinaryExpression","messageId":"unexpected","endLine":54,"endColumn":38,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":54,"column":99,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":54,"endColumn":100,"fix":{"range":[2299,2299],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"max-statements-per-line","severity":2,"message":"This line has 2 statements. Maximum allowed is 1.","line":54,"column":101,"nodeType":"ExpressionStatement","messageId":"exceed","endLine":54,"endColumn":140,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":54,"column":141,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":54,"endColumn":142,"fix":{"range":[2340,2340],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-redeclare","severity":2,"message":"'curTag' is already defined.","line":57,"column":8,"nodeType":"Identifier","messageId":"redeclared","endLine":57,"endColumn":14,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"block-scoped-var","severity":2,"message":"'curTag' declared on line 43 column 34 is used outside of binding context.","line":57,"column":8,"nodeType":"Identifier","messageId":"outOfScope","endLine":57,"endColumn":14,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"block-scoped-var","severity":2,"message":"'curTag' declared on line 43 column 34 is used outside of binding context.","line":57,"column":54,"nodeType":"Identifier","messageId":"outOfScope","endLine":57,"endColumn":60,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"block-scoped-var","severity":2,"message":"'curTag' declared on line 43 column 34 is used outside of binding context.","line":57,"column":64,"nodeType":"Identifier","messageId":"outOfScope","endLine":57,"endColumn":70,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-mixed-spaces-and-tabs","severity":2,"message":"Mixed spaces and tabs.","line":58,"column":3,"nodeType":"Program","messageId":"mixedSpacesAndTabs","endLine":58,"endColumn":5,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":59,"column":34,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":59,"endColumn":35,"fix":{"range":[2527,2527],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"max-statements-per-line","severity":2,"message":"This line has 2 statements. Maximum allowed is 1.","line":59,"column":36,"nodeType":"ReturnStatement","messageId":"exceed","endLine":59,"endColumn":43,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":59,"column":44,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":59,"endColumn":45,"fix":{"range":[2536,2536],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"block-scoped-var","severity":2,"message":"'nm' declared on line 65 column 15 is used outside of binding context.","line":64,"column":15,"nodeType":"Identifier","messageId":"outOfScope","endLine":64,"endColumn":17,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":64,"column":35,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":64,"endColumn":36,"fix":{"range":[2709,2709],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"max-statements-per-line","severity":2,"message":"This line has 3 statements. Maximum allowed is 1.","line":64,"column":37,"nodeType":"IfStatement","messageId":"exceed","endLine":64,"endColumn":111,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-prototype-builtins","severity":2,"message":"Do not access Object.prototype method 'hasOwnProperty' from target object.","line":64,"column":54,"nodeType":"CallExpression","messageId":"prototypeBuildIn","endLine":64,"endColumn":68,"suggestions":[{"messageId":"callObjectPrototype","data":{"prop":"hasOwnProperty"},"fix":{"range":[2715,2742],"text":"Object.prototype.hasOwnProperty.call(globalAttrs, "},"desc":"Call Object.prototype.hasOwnProperty explicitly."}],"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"block-scoped-var","severity":2,"message":"'nm' declared on line 65 column 15 is used outside of binding context.","line":64,"column":70,"nodeType":"Identifier","messageId":"outOfScope","endLine":64,"endColumn":72,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":64,"column":77,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":64,"endColumn":78,"fix":{"range":[2751,2751],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"block-scoped-var","severity":2,"message":"'nm' declared on line 65 column 15 is used outside of binding context.","line":64,"column":84,"nodeType":"Identifier","messageId":"outOfScope","endLine":64,"endColumn":86,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"block-scoped-var","severity":2,"message":"'nm' declared on line 65 column 15 is used outside of binding context.","line":64,"column":104,"nodeType":"Identifier","messageId":"outOfScope","endLine":64,"endColumn":106,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":64,"column":110,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":64,"endColumn":111,"fix":{"range":[2783,2783],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":64,"column":112,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":64,"endColumn":113,"fix":{"range":[2785,2785],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-redeclare","severity":2,"message":"'nm' is already defined.","line":65,"column":15,"nodeType":"Identifier","messageId":"redeclared","endLine":65,"endColumn":17,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"block-scoped-var","severity":2,"message":"'nm' declared on line 64 column 15 is used outside of binding context.","line":65,"column":15,"nodeType":"Identifier","messageId":"outOfScope","endLine":65,"endColumn":17,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":65,"column":29,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":65,"endColumn":30,"fix":{"range":[2816,2816],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"max-statements-per-line","severity":2,"message":"This line has 3 statements. Maximum allowed is 1.","line":65,"column":31,"nodeType":"IfStatement","messageId":"exceed","endLine":65,"endColumn":93,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-prototype-builtins","severity":2,"message":"Do not access Object.prototype method 'hasOwnProperty' from target object.","line":65,"column":42,"nodeType":"CallExpression","messageId":"prototypeBuildIn","endLine":65,"endColumn":56,"suggestions":[{"messageId":"callObjectPrototype","data":{"prop":"hasOwnProperty"},"fix":{"range":[2822,2843],"text":"Object.prototype.hasOwnProperty.call(attrs, "},"desc":"Call Object.prototype.hasOwnProperty explicitly."}],"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"block-scoped-var","severity":2,"message":"'nm' declared on line 64 column 15 is used outside of binding context.","line":65,"column":58,"nodeType":"Identifier","messageId":"outOfScope","endLine":65,"endColumn":60,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":65,"column":65,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":65,"endColumn":66,"fix":{"range":[2852,2852],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"block-scoped-var","severity":2,"message":"'nm' declared on line 64 column 15 is used outside of binding context.","line":65,"column":72,"nodeType":"Identifier","messageId":"outOfScope","endLine":65,"endColumn":74,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"block-scoped-var","severity":2,"message":"'nm' declared on line 64 column 15 is used outside of binding context.","line":65,"column":86,"nodeType":"Identifier","messageId":"outOfScope","endLine":65,"endColumn":88,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":65,"column":92,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":65,"endColumn":93,"fix":{"range":[2878,2878],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":65,"column":94,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":65,"endColumn":95,"fix":{"range":[2880,2880],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"eqeqeq","severity":2,"message":"Expected '===' and instead saw '=='.","line":68,"column":20,"nodeType":"BinaryExpression","messageId":"unexpected","endLine":68,"endColumn":22,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"eqeqeq","severity":2,"message":"Expected '===' and instead saw '=='.","line":68,"column":48,"nodeType":"BinaryExpression","messageId":"unexpected","endLine":68,"endColumn":50,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-redeclare","severity":2,"message":"'before' is already defined.","line":69,"column":9,"nodeType":"Identifier","messageId":"redeclared","endLine":69,"endColumn":15,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"block-scoped-var","severity":2,"message":"'before' declared on line 31 column 8 is used outside of binding context.","line":69,"column":9,"nodeType":"Identifier","messageId":"outOfScope","endLine":69,"endColumn":15,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"eqeqeq","severity":2,"message":"Expected '===' and instead saw '=='.","line":70,"column":33,"nodeType":"BinaryExpression","messageId":"unexpected","endLine":70,"endColumn":35,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-mixed-spaces-and-tabs","severity":2,"message":"Mixed spaces and tabs.","line":71,"column":4,"nodeType":"Program","messageId":"mixedSpacesAndTabs","endLine":71,"endColumn":6,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"block-scoped-var","severity":2,"message":"'before' declared on line 31 column 8 is used outside of binding context.","line":71,"column":15,"nodeType":"Identifier","messageId":"outOfScope","endLine":71,"endColumn":21,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-useless-escape","severity":2,"message":"Unnecessary escape character: \\\".","line":71,"column":44,"nodeType":"Literal","messageId":"unnecessaryEscape","endLine":71,"endColumn":45,"suggestions":[{"messageId":"removeEscape","fix":{"range":[3166,3167],"text":""},"desc":"Remove the `\\`. This maintains the current functionality."},{"messageId":"escapeBackslash","fix":{"range":[3166,3166],"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":71,"column":46,"nodeType":"Literal","messageId":"unnecessaryEscape","endLine":71,"endColumn":47,"suggestions":[{"messageId":"removeEscape","fix":{"range":[3168,3169],"text":""},"desc":"Remove the `\\`. This maintains the current functionality."},{"messageId":"escapeBackslash","fix":{"range":[3168,3168],"text":"\\"},"desc":"Replace the `\\` with `\\\\` to include the actual backslash character."}],"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-prototype-builtins","severity":2,"message":"Do not access Object.prototype method 'hasOwnProperty' from target object.","line":72,"column":28,"nodeType":"CallExpression","messageId":"prototypeBuildIn","endLine":72,"endColumn":42,"suggestions":[{"messageId":"callObjectPrototype","data":{"prop":"hasOwnProperty"},"fix":{"range":[3211,3232],"text":"Object.prototype.hasOwnProperty.call(attrs, "},"desc":"Call Object.prototype.hasOwnProperty explicitly."}],"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":72,"column":100,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":72,"endColumn":101,"fix":{"range":[3290,3290],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"max-statements-per-line","severity":2,"message":"This line has 2 statements. Maximum allowed is 1.","line":72,"column":102,"nodeType":"ReturnStatement","messageId":"exceed","endLine":72,"endColumn":109,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":72,"column":110,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":72,"endColumn":111,"fix":{"range":[3299,3299],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":73,"column":43,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":73,"endColumn":44,"fix":{"range":[3344,3344],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"max-statements-per-line","severity":2,"message":"This line has 2 statements. Maximum allowed is 1.","line":73,"column":45,"nodeType":"ExpressionStatement","messageId":"exceed","endLine":73,"endColumn":82,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":73,"column":83,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":73,"endColumn":84,"fix":{"range":[3383,3383],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"eqeqeq","severity":2,"message":"Expected '===' and instead saw '=='.","line":74,"column":21,"nodeType":"BinaryExpression","messageId":"unexpected","endLine":74,"endColumn":23,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"unicorn/prefer-string-slice","severity":2,"message":"Prefer `String#slice()` over `String#substr()`.","line":85,"column":16,"nodeType":"CallExpression","messageId":"substr","endLine":85,"endColumn":49,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"eqeqeq","severity":2,"message":"Expected '===' and instead saw '=='.","line":89,"column":64,"nodeType":"BinaryExpression","messageId":"unexpected","endLine":89,"endColumn":66,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":89,"column":75,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":89,"endColumn":76,"fix":{"range":[4034,4034],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"max-statements-per-line","severity":2,"message":"This line has 2 statements. Maximum allowed is 1.","line":89,"column":77,"nodeType":"ExpressionStatement","messageId":"exceed","endLine":89,"endColumn":89,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":89,"column":90,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":89,"endColumn":91,"fix":{"range":[4048,4048],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-redeclare","severity":2,"message":"'i' is already defined.","line":93,"column":15,"nodeType":"Identifier","messageId":"redeclared","endLine":93,"endColumn":16,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"block-scoped-var","severity":2,"message":"'i' declared on line 46 column 15 is used outside of binding context.","line":93,"column":15,"nodeType":"Identifier","messageId":"outOfScope","endLine":93,"endColumn":16,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"block-scoped-var","severity":2,"message":"'i' declared on line 46 column 15 is used outside of binding context.","line":93,"column":22,"nodeType":"Identifier","messageId":"outOfScope","endLine":93,"endColumn":23,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"block-scoped-var","severity":2,"message":"'i' declared on line 46 column 15 is used outside of binding context.","line":93,"column":45,"nodeType":"Identifier","messageId":"outOfScope","endLine":93,"endColumn":46,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"block-scoped-var","severity":2,"message":"'i' declared on line 46 column 15 is used outside of binding context.","line":94,"column":41,"nodeType":"Identifier","messageId":"outOfScope","endLine":94,"endColumn":42,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":94,"column":72,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":94,"endColumn":73,"fix":{"range":[4238,4238],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"max-statements-per-line","severity":2,"message":"This line has 2 statements. Maximum allowed is 1.","line":94,"column":74,"nodeType":"ExpressionStatement","messageId":"exceed","endLine":94,"endColumn":119,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"block-scoped-var","severity":2,"message":"'i' declared on line 46 column 15 is used outside of binding context.","line":94,"column":105,"nodeType":"Identifier","messageId":"outOfScope","endLine":94,"endColumn":106,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":94,"column":120,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":94,"endColumn":121,"fix":{"range":[4285,4285],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"eqeqeq","severity":2,"message":"Expected '===' and instead saw '=='.","line":97,"column":21,"nodeType":"BinaryExpression","messageId":"unexpected","endLine":97,"endColumn":23,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-prototype-builtins","severity":2,"message":"Do not access Object.prototype method 'hasOwnProperty' from target object.","line":102,"column":17,"nodeType":"CallExpression","messageId":"prototypeBuildIn","endLine":102,"endColumn":31,"suggestions":[{"messageId":"callObjectPrototype","data":{"prop":"hasOwnProperty"},"fix":{"range":[4467,4488],"text":"Object.prototype.hasOwnProperty.call(attrs, "},"desc":"Call Object.prototype.hasOwnProperty explicitly."}],"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Statement inside of curly braces should be on next line.","line":102,"column":99,"nodeType":"Punctuator","messageId":"blockSameLine","endLine":102,"endColumn":100,"fix":{"range":[4556,4556],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"max-statements-per-line","severity":2,"message":"This line has 2 statements. Maximum allowed is 1.","line":102,"column":101,"nodeType":"ExpressionStatement","messageId":"exceed","endLine":102,"endColumn":121,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"brace-style","severity":2,"message":"Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.","line":102,"column":122,"nodeType":"Punctuator","messageId":"singleLineClose","endLine":102,"endColumn":123,"fix":{"range":[4578,4578],"text":"\n"},"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"eqeqeq","severity":2,"message":"Expected '===' and instead saw '=='.","line":108,"column":49,"nodeType":"BinaryExpression","messageId":"unexpected","endLine":108,"endColumn":51,"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":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/modules/ve/init/ve.init.tei.TEIContentConverter.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/modules/ve/init/ve.init.tei.TEIPageEditDialog.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/modules/ve/init/ve.init.tei.TEIPageTarget.init.js","messages":[],"suppressedMessages":[{"ruleId":"no-jquery/no-global-selector","severity":2,"message":"Avoid queries which search the entire DOM. Keep DOM nodes in memory where possible.","line":30,"column":14,"nodeType":"CallExpression","endLine":30,"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":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/modules/ve/init/ve.init.tei.TEIPageTarget.init.mw.js","messages":[],"suppressedMessages":[{"ruleId":"no-jquery/no-global-selector","severity":2,"message":"Avoid queries which search the entire DOM. Keep DOM nodes in memory where possible.","line":4,"column":17,"nodeType":"CallExpression","endLine":4,"endColumn":32,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"mediawiki/msg-doc","severity":2,"message":"All possible message keys should be documented. See https://w.wiki/4r9a for details.","line":6,"column":32,"nodeType":"CallExpression","endLine":6,"endColumn":57,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"mediawiki/msg-doc","severity":2,"message":"All possible message keys should be documented. See https://w.wiki/4r9a for details.","line":11,"column":32,"nodeType":"CallExpression","endLine":11,"endColumn":89,"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":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/modules/ve/init/ve.init.tei.TEIPageTarget.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/modules/ve/init/ve.init.tei.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/modules/ve/ui/MWEditModeSourceTool.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/modules/ve/ui/MWEditModeVisualTool.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"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":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","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":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","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":[]}]}] --- end --- $ /usr/bin/npm ci --- stdout --- added 453 packages, and audited 454 packages in 4s 90 packages are looking for funding run `npm fund` for details found 0 vulnerabilities --- end --- $ /usr/bin/npm test --- stdout --- > test > grunt test Running "eslint:all" (eslint) task Running "stylelint:all" (stylelint) task >> Linted 5 files without errors Running "banana:TEI" (banana) task >> 1 message directory checked. Done. --- end --- Upgrading c:mediawiki/mediawiki-codesniffer from 41.0.0 -> 43.0.0 Upgrading c:mediawiki/mediawiki-phan-config from 0.12.1 -> 0.14.0 Upgrading c:php-parallel-lint/php-parallel-lint from 1.3.2 -> 1.4.0 $ /usr/bin/composer update --- stderr --- Loading composer repositories with package information Updating dependencies Lock file operations: 3 installs, 8 updates, 0 removals - Upgrading composer/semver (3.3.2 => 3.4.0) - Locking dealerdirect/phpcodesniffer-composer-installer (v1.0.0) - Upgrading mediawiki/mediawiki-codesniffer (v41.0.0 => v43.0.0) - Upgrading mediawiki/mediawiki-phan-config (0.12.1 => 0.14.0) - Upgrading mediawiki/phan-taint-check-plugin (4.0.0 => 6.0.0) - Upgrading microsoft/tolerant-php-parser (v0.1.1 => v0.1.2) - Upgrading phan/phan (5.4.1 => 5.4.3) - Upgrading php-parallel-lint/php-parallel-lint (v1.3.2 => v1.4.0) - Locking phpcsstandards/phpcsextra (1.1.2) - Locking phpcsstandards/phpcsutils (1.0.9) - Upgrading squizlabs/php_codesniffer (3.7.2 => 3.8.1) Writing lock file Installing dependencies from lock file (including require-dev) Package operations: 3 installs, 8 updates, 0 removals 0 [>---------------------------] 0 [->--------------------------] - Upgrading squizlabs/php_codesniffer (3.7.2 => 3.8.1): Extracting archive - Installing dealerdirect/phpcodesniffer-composer-installer (v1.0.0): Extracting archive - Installing phpcsstandards/phpcsutils (1.0.9): Extracting archive - Installing phpcsstandards/phpcsextra (1.1.2): Extracting archive - Upgrading composer/semver (3.3.2 => 3.4.0): Extracting archive - Upgrading mediawiki/mediawiki-codesniffer (v41.0.0 => v43.0.0): Extracting archive - Upgrading microsoft/tolerant-php-parser (v0.1.1 => v0.1.2): Extracting archive - Upgrading phan/phan (5.4.1 => 5.4.3): Extracting archive - Upgrading mediawiki/phan-taint-check-plugin (4.0.0 => 6.0.0): Extracting archive - Upgrading mediawiki/mediawiki-phan-config (0.12.1 => 0.14.0): Extracting archive - Upgrading php-parallel-lint/php-parallel-lint (v1.3.2 => v1.4.0): Extracting archive 0/9 [>---------------------------] 0% 8/9 [========================>---] 88% 9/9 [============================] 100% Generating autoload files 17 packages you are using are looking for funding. Use the `composer fund` command to find out more! No security vulnerability advisories found --- stdout --- PHP CodeSniffer Config installed_paths set to ../../mediawiki/mediawiki-codesniffer,../../phpcsstandards/phpcsextra,../../phpcsstandards/phpcsutils --- end --- Previously failing phpcs rules: {'MediaWiki.Commenting.PropertyDocumentation.MissingDocumentationPrivate', 'MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate', 'PSR12.Properties.ConstantVisibility.NotFound'} $ vendor/bin/phpcs --report=json --- stdout --- {"totals":{"errors":80,"warnings":35,"fixable":16},"files":{"\/src\/repo\/includes\/TeiContent.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Model\/Datatype\/WordDatatype.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Converter\/HtmlToTeiConverter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/HooksHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Converter\/TeiToHtmlConverter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/ResourceLoaderTeiSchemaModule.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Converter\/FileLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Model\/Normalizer.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":54,"column":13}]},"\/src\/repo\/includes\/Model\/Datatype\/TextDatatype.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Model\/Datatype\/LanguageDatatype.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Model\/Datatype\/Datatype.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Model\/Datatype\/IDDatatype.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Model\/Datatype\/PointerDatatype.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Model\/Datatype\/OutputMeasurementDatatype.php":{"errors":0,"warnings":1,"messages":[{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":14,"column":5}]},"\/src\/repo\/includes\/Model\/Datatype\/NumericDatatype.php":{"errors":0,"warnings":4,"messages":[{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":12,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":13,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":14,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":15,"column":5}]},"\/src\/repo\/includes\/Model\/Datatype\/EnumerationDatatype.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/TeiContentHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Model\/Datatype\/TruthValueDatatype.php":{"errors":0,"warnings":1,"messages":[{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":12,"column":5}]},"\/src\/repo\/includes\/Model\/Datatype\/CountDatatype.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/DOMDocumentFactory.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing class property doc comment","source":"MediaWiki.Commenting.PropertyDocumentation.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":20,"column":20},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":76,"column":13}]},"\/src\/repo\/includes\/Api\/ApiTeiValidate.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Model\/Datatype\/MediaWikiTitleDatatype.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Model\/Datatype\/DatatypeFactory.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":37,"column":20}]},"\/src\/repo\/includes\/TeiExtension.php":{"errors":7,"warnings":1,"messages":[{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":21,"column":5},{"message":"Missing class property doc comment","source":"MediaWiki.Commenting.PropertyDocumentation.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":23,"column":13},{"message":"Missing class property doc comment","source":"MediaWiki.Commenting.PropertyDocumentation.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":25,"column":13},{"message":"Missing class property doc comment","source":"MediaWiki.Commenting.PropertyDocumentation.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":27,"column":13},{"message":"Missing class property doc comment","source":"MediaWiki.Commenting.PropertyDocumentation.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":29,"column":13},{"message":"Missing class property doc comment","source":"MediaWiki.Commenting.PropertyDocumentation.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":31,"column":13},{"message":"Missing class property doc comment","source":"MediaWiki.Commenting.PropertyDocumentation.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":33,"column":13},{"message":"Missing class property doc comment","source":"MediaWiki.Commenting.PropertyDocumentation.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":35,"column":13}]},"\/src\/repo\/includes\/Model\/Datatype\/TemporalW3CDatatype.php":{"errors":0,"warnings":17,"messages":[{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":12,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":13,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":14,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":15,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":16,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":17,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":18,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":19,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":20,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":22,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":23,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":24,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":25,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":26,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":27,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":28,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":29,"column":5}]},"\/src\/repo\/includes\/Model\/MacroSpec.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Model\/Validator.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":138,"column":13}]},"\/src\/repo\/includes\/Model\/Datatype\/MultipleValuesDatatype.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Model\/AttributeDef.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Model\/ElementSpec.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Model\/Content\/ContentValidator.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":75,"column":13}]},"\/src\/repo\/.phan\/config.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Model\/NormalizerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Model\/CodeMirrorSchemaBuilder.php":{"errors":4,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":44,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":51,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":63,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":71,"column":13}]},"\/src\/repo\/tests\/phpunit\/DOMDocumentFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Api\/ApiTeiConvert.php":{"errors":9,"warnings":0,"messages":[{"message":"Missing class property doc comment","source":"MediaWiki.Commenting.PropertyDocumentation.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":29,"column":20},{"message":"Long list syntax is not allowed","source":"Universal.Lists.DisallowLongListSyntax.Found","severity":5,"fixable":true,"type":"ERROR","line":109,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":133,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":152,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":206,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":217,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":232,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":247,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":281,"column":13}]},"\/src\/repo\/tests\/phpunit\/TeiContentHandlerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/TeiExtensionTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Model\/Content\/NondeteministicFiniteAutomaton.php":{"errors":1,"warnings":2,"messages":[{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":20,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":21,"column":5},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":91,"column":13}]},"\/src\/repo\/includes\/Model\/Content\/ContentValidatorFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Model\/TeiRegistry.php":{"errors":3,"warnings":1,"messages":[{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":14,"column":5},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":89,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":97,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":131,"column":13}]},"\/src\/repo\/tests\/phpunit\/Converter\/BetweenTeiAndHtmlConverterTest.php":{"errors":1,"warnings":0,"messages":[{"message":"Expected 1 space between the comma and \"'http:\/\/example.com\/file\/FooBar.jpg'\". Found: 2 spaces","source":"Universal.WhiteSpace.CommaSpacing.TooMuchSpaceAfterInFunctionCall","severity":5,"fixable":true,"type":"ERROR","line":69,"column":53}]},"\/src\/repo\/tests\/phpunit\/TeiContentTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Converter\/HtmlToTeiConversion.php":{"errors":9,"warnings":4,"messages":[{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":20,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":21,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":22,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":23,"column":5},{"message":"Missing class property doc comment","source":"MediaWiki.Commenting.PropertyDocumentation.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":25,"column":20},{"message":"Missing class property doc comment","source":"MediaWiki.Commenting.PropertyDocumentation.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":105,"column":20},{"message":"Missing class property doc comment","source":"MediaWiki.Commenting.PropertyDocumentation.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":107,"column":20},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":159,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":181,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":185,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":197,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":307,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":311,"column":20}]},"\/src\/repo\/tests\/phpunit\/Model\/ContentModel\/ContentModelValidatorTest.php":{"errors":13,"warnings":0,"messages":[{"message":"Missing class property doc comment","source":"MediaWiki.Commenting.PropertyDocumentation.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":17,"column":13},{"message":"Expected no space between \"'textNode'\" and the comma. Found: 1 space","source":"Universal.WhiteSpace.CommaSpacing.SpaceBefore","severity":5,"fixable":true,"type":"ERROR","line":148,"column":40},{"message":"Expected no space between \"'textNode'\" and the comma. Found: 1 space","source":"Universal.WhiteSpace.CommaSpacing.SpaceBefore","severity":5,"fixable":true,"type":"ERROR","line":153,"column":40},{"message":"Expected no space between \"'textNode'\" and the comma. Found: 1 space","source":"Universal.WhiteSpace.CommaSpacing.SpaceBefore","severity":5,"fixable":true,"type":"ERROR","line":158,"column":40},{"message":"Expected no space between \"'textNode'\" and the comma. Found: 1 space","source":"Universal.WhiteSpace.CommaSpacing.SpaceBefore","severity":5,"fixable":true,"type":"ERROR","line":163,"column":40},{"message":"Expected no space between \"'textNode'\" and the comma. Found: 1 space","source":"Universal.WhiteSpace.CommaSpacing.SpaceBefore","severity":5,"fixable":true,"type":"ERROR","line":168,"column":40},{"message":"Expected no space between \"'textNode'\" and the comma. Found: 1 space","source":"Universal.WhiteSpace.CommaSpacing.SpaceBefore","severity":5,"fixable":true,"type":"ERROR","line":173,"column":40},{"message":"Expected no space between \"'textNode'\" and the comma. Found: 1 space","source":"Universal.WhiteSpace.CommaSpacing.SpaceBefore","severity":5,"fixable":true,"type":"ERROR","line":178,"column":40},{"message":"Expected no space between \"'textNode'\" and the comma. Found: 1 space","source":"Universal.WhiteSpace.CommaSpacing.SpaceBefore","severity":5,"fixable":true,"type":"ERROR","line":183,"column":40},{"message":"Expected no space between \"'textNode'\" and the comma. Found: 1 space","source":"Universal.WhiteSpace.CommaSpacing.SpaceBefore","severity":5,"fixable":true,"type":"ERROR","line":188,"column":40},{"message":"Expected no space between \"'textNode'\" and the comma. Found: 1 space","source":"Universal.WhiteSpace.CommaSpacing.SpaceBefore","severity":5,"fixable":true,"type":"ERROR","line":193,"column":40},{"message":"Expected no space between \"'textNode'\" and the comma. Found: 1 space","source":"Universal.WhiteSpace.CommaSpacing.SpaceBefore","severity":5,"fixable":true,"type":"ERROR","line":198,"column":40},{"message":"Expected no space between \"'textNode'\" and the comma. Found: 1 space","source":"Universal.WhiteSpace.CommaSpacing.SpaceBefore","severity":5,"fixable":true,"type":"ERROR","line":203,"column":40}]},"\/src\/repo\/maintenance\/GenerateTeiJsonDefinition.php":{"errors":17,"warnings":0,"messages":[{"message":"Missing class property doc comment","source":"MediaWiki.Commenting.PropertyDocumentation.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":28,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":71,"column":13},{"message":"Expected 1 space between the comma and \"$schemaIdent\". Found: 2 spaces","source":"Universal.WhiteSpace.CommaSpacing.TooMuchSpaceAfterInFunctionCall","severity":5,"fixable":true,"type":"ERROR","line":72,"column":60},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":113,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":182,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":220,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":291,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":320,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":338,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":352,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":359,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":386,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":394,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":402,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":418,"column":13},{"message":"Long list syntax is not allowed","source":"Universal.Lists.DisallowLongListSyntax.Found","severity":5,"fixable":true,"type":"ERROR","line":431,"column":9},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":456,"column":13}]},"\/src\/repo\/includes\/Converter\/TeiToHtmlConversion.php":{"errors":10,"warnings":4,"messages":[{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":26,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":27,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":28,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":29,"column":5},{"message":"Missing class property doc comment","source":"MediaWiki.Commenting.PropertyDocumentation.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":31,"column":20},{"message":"Missing class property doc comment","source":"MediaWiki.Commenting.PropertyDocumentation.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":145,"column":20},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":280,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":307,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":325,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":349,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":392,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":510,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":514,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":518,"column":13}]}}} --- end --- PHPCS run failed $ vendor/bin/phpcbf --- stdout --- PHPCBF RESULT SUMMARY -------------------------------------------------------------------------------- FILE FIXED REMAINING -------------------------------------------------------------------------------- .../tests/phpunit/Converter/BetweenTeiAndHtmlConverterTest.php 1 0 ...ts/phpunit/Model/ContentModel/ContentModelValidatorTest.php 12 1 /src/repo/includes/Api/ApiTeiConvert.php 1 8 /src/repo/maintenance/GenerateTeiJsonDefinition.php 2 15 -------------------------------------------------------------------------------- A TOTAL OF 16 ERRORS WERE FIXED IN 4 FILES -------------------------------------------------------------------------------- Time: 928ms; Memory: 8MB --- end --- $ vendor/bin/phpcs --report=json --- stdout --- {"totals":{"errors":64,"warnings":35,"fixable":0},"files":{"\/src\/repo\/includes\/HooksHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/DOMDocumentFactory.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing class property doc comment","source":"MediaWiki.Commenting.PropertyDocumentation.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":20,"column":20},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":76,"column":13}]},"\/src\/repo\/includes\/Converter\/HtmlToTeiConverter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Model\/Datatype\/Datatype.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Model\/Datatype\/WordDatatype.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/TeiContent.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/ResourceLoaderTeiSchemaModule.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Model\/Datatype\/PointerDatatype.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Model\/Datatype\/NumericDatatype.php":{"errors":0,"warnings":4,"messages":[{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":12,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":13,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":14,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":15,"column":5}]},"\/src\/repo\/includes\/Model\/Datatype\/TextDatatype.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Converter\/TeiToHtmlConverter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Converter\/FileLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Model\/Datatype\/LanguageDatatype.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Model\/Normalizer.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":54,"column":13}]},"\/src\/repo\/includes\/Api\/ApiTeiValidate.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Model\/Datatype\/TruthValueDatatype.php":{"errors":0,"warnings":1,"messages":[{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":12,"column":5}]},"\/src\/repo\/includes\/Model\/Datatype\/EnumerationDatatype.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Model\/Datatype\/OutputMeasurementDatatype.php":{"errors":0,"warnings":1,"messages":[{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":14,"column":5}]},"\/src\/repo\/includes\/Model\/Datatype\/IDDatatype.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/TeiContentHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Model\/Datatype\/DatatypeFactory.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":37,"column":20}]},"\/src\/repo\/includes\/TeiExtension.php":{"errors":7,"warnings":1,"messages":[{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":21,"column":5},{"message":"Missing class property doc comment","source":"MediaWiki.Commenting.PropertyDocumentation.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":23,"column":13},{"message":"Missing class property doc comment","source":"MediaWiki.Commenting.PropertyDocumentation.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":25,"column":13},{"message":"Missing class property doc comment","source":"MediaWiki.Commenting.PropertyDocumentation.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":27,"column":13},{"message":"Missing class property doc comment","source":"MediaWiki.Commenting.PropertyDocumentation.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":29,"column":13},{"message":"Missing class property doc comment","source":"MediaWiki.Commenting.PropertyDocumentation.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":31,"column":13},{"message":"Missing class property doc comment","source":"MediaWiki.Commenting.PropertyDocumentation.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":33,"column":13},{"message":"Missing class property doc comment","source":"MediaWiki.Commenting.PropertyDocumentation.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":35,"column":13}]},"\/src\/repo\/includes\/Model\/Datatype\/CountDatatype.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Model\/Validator.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":138,"column":13}]},"\/src\/repo\/includes\/Model\/Datatype\/MediaWikiTitleDatatype.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Model\/Content\/ContentValidator.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":75,"column":13}]},"\/src\/repo\/includes\/Model\/Datatype\/MultipleValuesDatatype.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Model\/MacroSpec.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Model\/CodeMirrorSchemaBuilder.php":{"errors":4,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":44,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":51,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":63,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":71,"column":13}]},"\/src\/repo\/tests\/phpunit\/TeiExtensionTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Model\/Datatype\/TemporalW3CDatatype.php":{"errors":0,"warnings":17,"messages":[{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":12,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":13,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":14,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":15,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":16,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":17,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":18,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":19,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":20,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":22,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":23,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":24,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":25,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":26,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":27,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":28,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":29,"column":5}]},"\/src\/repo\/includes\/Converter\/HtmlToTeiConversion.php":{"errors":9,"warnings":4,"messages":[{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":20,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":21,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":22,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":23,"column":5},{"message":"Missing class property doc comment","source":"MediaWiki.Commenting.PropertyDocumentation.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":25,"column":20},{"message":"Missing class property doc comment","source":"MediaWiki.Commenting.PropertyDocumentation.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":105,"column":20},{"message":"Missing class property doc comment","source":"MediaWiki.Commenting.PropertyDocumentation.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":107,"column":20},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":159,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":181,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":185,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":197,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":307,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":311,"column":20}]},"\/src\/repo\/includes\/Model\/ElementSpec.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/.phan\/config.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Model\/AttributeDef.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Model\/Content\/NondeteministicFiniteAutomaton.php":{"errors":1,"warnings":2,"messages":[{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":20,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":21,"column":5},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":91,"column":13}]},"\/src\/repo\/tests\/phpunit\/Model\/NormalizerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/TeiContentHandlerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Converter\/BetweenTeiAndHtmlConverterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/DOMDocumentFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Api\/ApiTeiConvert.php":{"errors":8,"warnings":0,"messages":[{"message":"Missing class property doc comment","source":"MediaWiki.Commenting.PropertyDocumentation.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":29,"column":20},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":133,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":152,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":206,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":217,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":232,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":247,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":281,"column":13}]},"\/src\/repo\/tests\/phpunit\/TeiContentTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Model\/TeiRegistry.php":{"errors":3,"warnings":1,"messages":[{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":14,"column":5},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":89,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":97,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":131,"column":13}]},"\/src\/repo\/maintenance\/GenerateTeiJsonDefinition.php":{"errors":15,"warnings":0,"messages":[{"message":"Missing class property doc comment","source":"MediaWiki.Commenting.PropertyDocumentation.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":28,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":71,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":113,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":182,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":220,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":291,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":320,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":338,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":352,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":359,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":386,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":394,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":402,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":418,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":456,"column":13}]},"\/src\/repo\/tests\/phpunit\/Model\/ContentModel\/ContentModelValidatorTest.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing class property doc comment","source":"MediaWiki.Commenting.PropertyDocumentation.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":17,"column":13}]},"\/src\/repo\/includes\/Model\/Content\/ContentValidatorFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Converter\/TeiToHtmlConversion.php":{"errors":10,"warnings":4,"messages":[{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":26,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":27,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":28,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":29,"column":5},{"message":"Missing class property doc comment","source":"MediaWiki.Commenting.PropertyDocumentation.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":31,"column":20},{"message":"Missing class property doc comment","source":"MediaWiki.Commenting.PropertyDocumentation.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":145,"column":20},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":280,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":307,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":325,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":349,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":392,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":510,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":514,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":518,"column":13}]}}} --- end --- $ git checkout .phpcs.xml --- stderr --- Updated 1 path from the index --- stdout --- --- end --- $ /usr/bin/composer install --- stderr --- Installing dependencies from lock file (including require-dev) Verifying lock file contents can be installed on current platform. Nothing to install, update or remove Generating autoload files 17 packages you are using are looking for funding. Use the `composer fund` command to find out more! --- stdout --- --- end --- $ /usr/bin/composer test --- stderr --- > parallel-lint . --exclude node_modules --exclude vendor > phpcs -sp --cache > minus-x check . --- stdout --- PHP 8.2.7 | 10 parallel jobs ............................................... 47/47 (100%) Checked 47 files in 0.2 seconds No syntax error found ............................................... 47 / 47 (100%) Time: 291ms; Memory: 8MB MinusX ====== Processing /src/repo... ............................................................. ............................................................ All good! --- end --- $ /usr/bin/npm audit --json --- stdout --- { "auditReportVersion": 2, "vulnerabilities": {}, "metadata": { "vulnerabilities": { "info": 0, "low": 0, "moderate": 0, "high": 0, "critical": 0, "total": 0 }, "dependencies": { "prod": 1, "dev": 453, "optional": 0, "peer": 7, "peerOptional": 0, "total": 453 } } } --- end --- $ package-lock-lint package-lock.json --- stdout --- Checking package-lock.json --- end --- build: Updating dependencies composer: * mediawiki/mediawiki-codesniffer: 41.0.0 → 43.0.0 * mediawiki/mediawiki-phan-config: 0.12.1 → 0.14.0 * php-parallel-lint/php-parallel-lint: 1.3.2 → 1.4.0 npm: * eslint-config-wikimedia: 0.26.0 → 0.27.0 $ git add . --- stdout --- --- end --- $ git commit -F /tmp/tmp32g19vnv --- stdout --- [master d472d9c] build: Updating dependencies 7 files changed, 382 insertions(+), 396 deletions(-) --- end --- $ git format-patch HEAD~1 --stdout --- stdout --- From d472d9c04896c4d6e1562e173be5e4194ce23f4a Mon Sep 17 00:00:00 2001 From: libraryupgrader <tools.libraryupgrader@tools.wmflabs.org> Date: Thu, 25 Apr 2024 14:36:32 +0000 Subject: [PATCH] build: Updating dependencies MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit composer: * mediawiki/mediawiki-codesniffer: 41.0.0 → 43.0.0 * mediawiki/mediawiki-phan-config: 0.12.1 → 0.14.0 * php-parallel-lint/php-parallel-lint: 1.3.2 → 1.4.0 npm: * eslint-config-wikimedia: 0.26.0 → 0.27.0 Change-Id: I1082143b77d70dfb2125de5fe615a7d38bae9152 --- composer.json | 9 +- includes/Api/ApiTeiConvert.php | 2 +- maintenance/GenerateTeiJsonDefinition.php | 4 +- package-lock.json | 735 +++++++++--------- package.json | 2 +- .../BetweenTeiAndHtmlConverterTest.php | 2 +- .../ContentModelValidatorTest.php | 24 +- 7 files changed, 382 insertions(+), 396 deletions(-) diff --git a/composer.json b/composer.json index 280454f..1befea0 100644 --- a/composer.json +++ b/composer.json @@ -10,11 +10,11 @@ "ext-libxml": "*" }, "require-dev": { - "mediawiki/mediawiki-codesniffer": "41.0.0", - "mediawiki/mediawiki-phan-config": "0.12.1", + "mediawiki/mediawiki-codesniffer": "43.0.0", + "mediawiki/mediawiki-phan-config": "0.14.0", "mediawiki/minus-x": "1.1.1", "php-parallel-lint/php-console-highlighter": "1.0.0", - "php-parallel-lint/php-parallel-lint": "1.3.2" + "php-parallel-lint/php-parallel-lint": "1.4.0" }, "scripts": { "test": [ @@ -31,7 +31,8 @@ }, "config": { "allow-plugins": { - "composer/installers": true + "composer/installers": true, + "dealerdirect/phpcodesniffer-composer-installer": true } } } diff --git a/includes/Api/ApiTeiConvert.php b/includes/Api/ApiTeiConvert.php index dcae577..b2748b2 100644 --- a/includes/Api/ApiTeiConvert.php +++ b/includes/Api/ApiTeiConvert.php @@ -106,7 +106,7 @@ class ApiTeiConvert extends ApiBase { $title = Title::makeTitle( NS_MAIN, 'API' ); } } else { - list( $title, $content ) = $this->getTitleAndContent( $params ); + [ $title, $content ] = $this->getTitleAndContent( $params ); if ( $from === null ) { $from = $content->getDefaultFormat(); diff --git a/maintenance/GenerateTeiJsonDefinition.php b/maintenance/GenerateTeiJsonDefinition.php index 9cc98df..bf23f2c 100644 --- a/maintenance/GenerateTeiJsonDefinition.php +++ b/maintenance/GenerateTeiJsonDefinition.php @@ -69,7 +69,7 @@ class GenerateTeiJsonDefinition extends Maintenance { } private function importSchema( $schemaIdent ) { - foreach ( $this->getElementsWithIdent( 'schemaSpec', $schemaIdent ) as $schemaSpec ) { + foreach ( $this->getElementsWithIdent( 'schemaSpec', $schemaIdent ) as $schemaSpec ) { $this->importSchemaSpec( $schemaSpec ); } } @@ -428,7 +428,7 @@ class GenerateTeiJsonDefinition extends Maintenance { 'proxy' => $proxy ] ); - list( $code, $desc, $header, $body, $err ) = $client->run( [ + [ $code, $desc, $header, $body, $err ] = $client->run( [ 'method' => 'GET', 'url' => 'http://www.tei-c.org/release/xml/tei/odd/p5subset.xml' ] ); diff --git a/package-lock.json b/package-lock.json index 0996c12..8211e71 100644 --- a/package-lock.json +++ b/package-lock.json @@ -6,7 +6,7 @@ "": { "name": "TEI", "devDependencies": { - "eslint-config-wikimedia": "0.26.0", + "eslint-config-wikimedia": "0.27.0", "grunt": "1.6.1", "grunt-banana-checker": "0.11.1", "grunt-eslint": "24.3.0", @@ -146,17 +146,17 @@ } }, "node_modules/@es-joy/jsdoccomment": { - "version": "0.37.1", - "resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.37.1.tgz", - "integrity": "sha512-5vxWJ1gEkEF0yRd0O+uK6dHJf7adrxwQSX8PuRiPfFSAbNLnY0ZJfXaZucoz14Jj2N11xn2DnlEPwWRpYpvRjg==", + "version": "0.42.0", + "resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.42.0.tgz", + "integrity": "sha512-R1w57YlVA6+YE01wch3GPYn6bCsrOV3YW/5oGGE2tmX6JcL9Nr+b5IikrjMPF+v9CV3ay+obImEdsDhovhJrzw==", "dev": true, "dependencies": { - "comment-parser": "1.3.1", + "comment-parser": "1.4.1", "esquery": "^1.5.0", "jsdoc-type-pratt-parser": "~4.0.0" }, "engines": { - "node": "^14 || ^16 || ^17 || ^18 || ^19 || ^20" + "node": ">=16" } }, "node_modules/@eslint-community/eslint-utils": { @@ -219,22 +219,22 @@ } }, "node_modules/@eslint/js": { - "version": "8.55.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.55.0.tgz", - "integrity": "sha512-qQfo2mxH5yVom1kacMtZZJFVdW+E70mqHMJvVg6WTLo+VBuQJ4TojZlfWBjK0ve5BdEeNAVxOsl/nvNMpJOaJA==", + "version": "8.57.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz", + "integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==", "dev": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, "node_modules/@humanwhocodes/config-array": { - "version": "0.11.13", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.13.tgz", - "integrity": "sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==", + "version": "0.11.14", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz", + "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==", "dev": true, "dependencies": { - "@humanwhocodes/object-schema": "^2.0.1", - "debug": "^4.1.1", + "@humanwhocodes/object-schema": "^2.0.2", + "debug": "^4.3.1", "minimatch": "^3.0.5" }, "engines": { @@ -255,9 +255,9 @@ } }, "node_modules/@humanwhocodes/object-schema": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.1.tgz", - "integrity": "sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", + "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", "dev": true }, "node_modules/@mdn/browser-compat-data": { @@ -326,9 +326,9 @@ "dev": true }, "node_modules/@types/semver": { - "version": "7.5.6", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.6.tgz", - "integrity": "sha512-dn1l8LaMea/IjDoHNd9J52uBbInB796CDffS6VdIxvqYCPSG0V0DzHp76GpaWnlhg88uYyPbXCDIowa86ybd5A==", + "version": "7.5.8", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz", + "integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==", "dev": true }, "node_modules/@typescript-eslint/scope-manager": { @@ -645,9 +645,9 @@ } }, "node_modules/browserslist": { - "version": "4.22.2", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.2.tgz", - "integrity": "sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A==", + "version": "4.23.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz", + "integrity": "sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==", "dev": true, "funding": [ { @@ -664,8 +664,8 @@ } ], "dependencies": { - "caniuse-lite": "^1.0.30001565", - "electron-to-chromium": "^1.4.601", + "caniuse-lite": "^1.0.30001587", + "electron-to-chromium": "^1.4.668", "node-releases": "^2.0.14", "update-browserslist-db": "^1.0.13" }, @@ -677,9 +677,9 @@ } }, "node_modules/browserslist-config-wikimedia": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/browserslist-config-wikimedia/-/browserslist-config-wikimedia-0.5.1.tgz", - "integrity": "sha512-jf532fUf/gaxiKdHgGCQUT552P5up3RpG+CzLixOQBJ5FwDmYQSRLYHCFUA9s3KMOHh4P3xVp+NUaGNxvtoT9g==", + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/browserslist-config-wikimedia/-/browserslist-config-wikimedia-0.6.1.tgz", + "integrity": "sha512-F3O+12ud7ZwBaiB/RZIMGDgz3nEuXz8RhtdPB4Lkd/WVP5Vy77EqBWRMz4vJ64x8LTTH3BOaHCD2ZuUcgShqyQ==", "dev": true }, "node_modules/builtin-modules": { @@ -695,9 +695,9 @@ } }, "node_modules/builtins": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/builtins/-/builtins-5.0.1.tgz", - "integrity": "sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/builtins/-/builtins-5.1.0.tgz", + "integrity": "sha512-SW9lzGTLvWTP1AY8xeAMZimqDrIaSdLQUcVr9DMef51niJ022Ri87SwRRKYm4A6iHfkPaiVUu/Duw2Wc4J7kKg==", "dev": true, "dependencies": { "semver": "^7.0.0" @@ -755,9 +755,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001566", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001566.tgz", - "integrity": "sha512-ggIhCsTxmITBAMmK8yZjEhCO5/47jKXPu6Dha/wuCS4JePVL+3uiDEBuhu2aIoT+bqTOR8L76Ip1ARL9xYsEJA==", + "version": "1.0.30001612", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001612.tgz", + "integrity": "sha512-lFgnZ07UhaCcsSZgWW0K5j4e69dK1u/ltrL9lTUiFOwNHs12S3UMIEYgBV0Z6C6hRDev7iRnMzzYmKabYdXF9g==", "dev": true, "funding": [ { @@ -798,9 +798,9 @@ } }, "node_modules/ci-info": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", - "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.0.0.tgz", + "integrity": "sha512-TdHqgGf9odd8SXNuxtUBVx8Nv+qZOejE6qyqiy5NtbYYQOeFa6zmHkxlPzmaLxWWHsU6nJmB7AETdVPi+2NBUg==", "dev": true, "funding": [ { @@ -875,9 +875,9 @@ } }, "node_modules/comment-parser": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-1.3.1.tgz", - "integrity": "sha512-B52sN2VNghyq5ofvUsqZjmk6YkihBX5vMSChmSK9v4ShjKf3Vk5Xcmgpw4o+iIgtrnM/u5FiMpz9VKb8lpBveA==", + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-1.4.1.tgz", + "integrity": "sha512-buhp5kePrmda3vhc5B9t7pUQXAb2Tnd0qgpkIhPhkHXxJpiPJ11H0ZEU0oBpJ2QztSbzG/ZxMj/CHsYJqRHmyg==", "dev": true, "engines": { "node": ">= 12.0.0" @@ -889,6 +889,19 @@ "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", "dev": true }, + "node_modules/core-js-compat": { + "version": "3.37.0", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.37.0.tgz", + "integrity": "sha512-vYq4L+T8aS5UuFg4UwDhc7YNRWVeVZwltad9C/jV3R2LgVOpS9BDr7l/WL6BN0dbV3k1XejPTHqqEzJgsa0frA==", + "dev": true, + "dependencies": { + "browserslist": "^4.23.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, "node_modules/core-util-is": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", @@ -1231,9 +1244,9 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.4.601", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.601.tgz", - "integrity": "sha512-SpwUMDWe9tQu8JX5QCO1+p/hChAi9AE9UpoC3rcHVc+gdCGlbT3SGb5I1klgb952HRIyvt9wZhSz9bNBYz9swA==", + "version": "1.4.748", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.748.tgz", + "integrity": "sha512-VWqjOlPZn70UZ8FTKUOkUvBLeTQ0xpty66qV0yJcAGY2/CthI4xyW9aEozRVtuwv3Kpf5xTesmJUcPwuJmgP4A==", "dev": true }, "node_modules/emoji-regex": { @@ -1285,16 +1298,16 @@ } }, "node_modules/eslint": { - "version": "8.55.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.55.0.tgz", - "integrity": "sha512-iyUUAM0PCKj5QpwGfmCAG9XXbZCWsqP/eWAWrG/W0umvjuLRBECwSFdt+rCntju0xEH7teIABPwXpahftIaTdA==", + "version": "8.57.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz", + "integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==", "dev": true, "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.6.1", "@eslint/eslintrc": "^2.1.4", - "@eslint/js": "8.55.0", - "@humanwhocodes/config-array": "^0.11.13", + "@eslint/js": "8.57.0", + "@humanwhocodes/config-array": "^0.11.14", "@humanwhocodes/module-importer": "^1.0.1", "@nodelib/fs.walk": "^1.2.8", "@ungap/structured-clone": "^1.2.0", @@ -1340,10 +1353,13 @@ } }, "node_modules/eslint-compat-utils": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/eslint-compat-utils/-/eslint-compat-utils-0.1.2.tgz", - "integrity": "sha512-Jia4JDldWnFNIru1Ehx1H5s9/yxiRHY/TimCuUc0jNexew3cF1gI6CYZil1ociakfWO3rRqFjl1mskBblB3RYg==", + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/eslint-compat-utils/-/eslint-compat-utils-0.5.0.tgz", + "integrity": "sha512-dc6Y8tzEcSYZMHa+CMPLi/hyo1FzNeonbhJL7Ol0ccuKQkwopJcJBA9YL/xmMTLU1eKigXo9vj9nALElWYSowg==", "dev": true, + "dependencies": { + "semver": "^7.5.4" + }, "engines": { "node": ">=12" }, @@ -1352,73 +1368,28 @@ } }, "node_modules/eslint-config-wikimedia": { - "version": "0.26.0", - "resolved": "https://registry.npmjs.org/eslint-config-wikimedia/-/eslint-config-wikimedia-0.26.0.tgz", - "integrity": "sha512-TAXTySls9k3oWs754rIjlcd9PBLvYeMvjqjiuU8u4gweu0UDgBJGslf+zcvVNXEooAtyLZdENjrzDDjG8ssS7Q==", + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/eslint-config-wikimedia/-/eslint-config-wikimedia-0.27.0.tgz", + "integrity": "sha512-KkZ54+MUnggz17C/RCEMXQSpiiqZRF7p9fjrz4phaaeKlTrjg0B+QbM5zcDWcjGiAWaJUptHaH17+RZldadkUw==", "dev": true, "dependencies": { - "browserslist-config-wikimedia": "^0.5.1", - "eslint": "^8.53.0", + "browserslist-config-wikimedia": "^0.6.1", + "eslint": "^8.57.0", "eslint-plugin-compat": "^4.2.0", - "eslint-plugin-es-x": "^7.3.0", - "eslint-plugin-jest": "^27.6.0", - "eslint-plugin-jsdoc": "^42.0.0", + "eslint-plugin-es-x": "^7.6.0", + "eslint-plugin-jest": "^27.9.0", + "eslint-plugin-jsdoc": "48.2.1", "eslint-plugin-json-es": "^1.5.7", - "eslint-plugin-mediawiki": "^0.5.0", - "eslint-plugin-mocha": "^10.2.0", - "eslint-plugin-n": "^16.0.1", + "eslint-plugin-mediawiki": "^0.6.0", + "eslint-plugin-mocha": "^10.4.1", + "eslint-plugin-n": "^16.6.2", "eslint-plugin-no-jquery": "^2.7.0", - "eslint-plugin-qunit": "^7.3.4", + "eslint-plugin-qunit": "^8.1.1", "eslint-plugin-security": "^1.7.1", - "eslint-plugin-unicorn": "^47.0.0", - "eslint-plugin-vue": "^9.18.1", - "eslint-plugin-wdio": "^7.19.4", - "eslint-plugin-yml": "^1.10.0" - } - }, - "node_modules/eslint-config-wikimedia/node_modules/eslint-plugin-vue": { - "version": "9.19.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-9.19.2.tgz", - "integrity": "sha512-CPDqTOG2K4Ni2o4J5wixkLVNwgctKXFu6oBpVJlpNq7f38lh9I80pRTouZSJ2MAebPJlINU/KTFSXyQfBUlymA==", - "dev": true, - "dependencies": { - "@eslint-community/eslint-utils": "^4.4.0", - "natural-compare": "^1.4.0", - "nth-check": "^2.1.1", - "postcss-selector-parser": "^6.0.13", - "semver": "^7.5.4", - "vue-eslint-parser": "^9.3.1", - "xml-name-validator": "^4.0.0" - }, - "engines": { - "node": "^14.17.0 || >=16.0.0" - }, - "peerDependencies": { - "eslint": "^6.2.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/eslint-config-wikimedia/node_modules/vue-eslint-parser": { - "version": "9.3.2", - "resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-9.3.2.tgz", - "integrity": "sha512-q7tWyCVaV9f8iQyIA5Mkj/S6AoJ9KBN8IeUSf3XEmBrOtxOZnfTg5s4KClbZBCK3GtnT/+RyCLZyDHuZwTuBjg==", - "dev": true, - "dependencies": { - "debug": "^4.3.4", - "eslint-scope": "^7.1.1", - "eslint-visitor-keys": "^3.3.0", - "espree": "^9.3.1", - "esquery": "^1.4.0", - "lodash": "^4.17.21", - "semver": "^7.3.6" - }, - "engines": { - "node": "^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - }, - "peerDependencies": { - "eslint": ">=6.0.0" + "eslint-plugin-unicorn": "^51.0.1", + "eslint-plugin-vue": "^9.23.0", + "eslint-plugin-wdio": "^8.24.12", + "eslint-plugin-yml": "^1.13.2" } }, "node_modules/eslint-plugin-compat": { @@ -1443,14 +1414,14 @@ } }, "node_modules/eslint-plugin-es-x": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-es-x/-/eslint-plugin-es-x-7.5.0.tgz", - "integrity": "sha512-ODswlDSO0HJDzXU0XvgZ3lF3lS3XAZEossh15Q2UHjwrJggWeBoKqqEsLTZLXl+dh5eOAozG0zRcYtuE35oTuQ==", + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-es-x/-/eslint-plugin-es-x-7.6.0.tgz", + "integrity": "sha512-I0AmeNgevgaTR7y2lrVCJmGYF0rjoznpDvqV/kIkZSZbZ8Rw3eu4cGlvBBULScfkSOCzqKbff5LR4CNrV7mZHA==", "dev": true, "dependencies": { "@eslint-community/eslint-utils": "^4.1.2", "@eslint-community/regexpp": "^4.6.0", - "eslint-compat-utils": "^0.1.2" + "eslint-compat-utils": "^0.5.0" }, "engines": { "node": "^14.18.0 || >=16.0.0" @@ -1463,9 +1434,9 @@ } }, "node_modules/eslint-plugin-jest": { - "version": "27.6.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-27.6.0.tgz", - "integrity": "sha512-MTlusnnDMChbElsszJvrwD1dN3x6nZl//s4JD23BxB6MgR66TZlL064su24xEIS3VACfAoHV1vgyMgPw8nkdng==", + "version": "27.9.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-27.9.0.tgz", + "integrity": "sha512-QIT7FH7fNmd9n4se7FFKHbsLKGQiw885Ds6Y/sxKgCZ6natwCsXdgPOADnYVxN2QrRweF0FZWbJ6S7Rsn7llug==", "dev": true, "dependencies": { "@typescript-eslint/utils": "^5.10.0" @@ -1474,7 +1445,7 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" }, "peerDependencies": { - "@typescript-eslint/eslint-plugin": "^5.0.0 || ^6.0.0", + "@typescript-eslint/eslint-plugin": "^5.0.0 || ^6.0.0 || ^7.0.0", "eslint": "^7.0.0 || ^8.0.0", "jest": "*" }, @@ -1488,25 +1459,36 @@ } }, "node_modules/eslint-plugin-jsdoc": { - "version": "42.0.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-42.0.0.tgz", - "integrity": "sha512-qXYr45G8atPKowZbIOdmABukMzu9IMjAlj6j5Fe0iuUItznWSXUDiBj57ejXcbt8bkPrg83333nuz+cqGKFgcQ==", + "version": "48.2.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-48.2.1.tgz", + "integrity": "sha512-iUvbcyDZSO/9xSuRv2HQBw++8VkV/pt3UWtX9cpPH0l7GKPq78QC/6+PmyQHHvNZaTjAce6QVciEbnc6J/zH5g==", "dev": true, "dependencies": { - "@es-joy/jsdoccomment": "~0.37.0", + "@es-joy/jsdoccomment": "~0.42.0", "are-docs-informative": "^0.0.2", - "comment-parser": "1.3.1", + "comment-parser": "1.4.1", "debug": "^4.3.4", "escape-string-regexp": "^4.0.0", "esquery": "^1.5.0", - "semver": "^7.3.8", - "spdx-expression-parse": "^3.0.1" + "is-builtin-module": "^3.2.1", + "semver": "^7.6.0", + "spdx-expression-parse": "^4.0.0" }, "engines": { - "node": "^14 || ^16 || ^17 || ^18 || ^19" + "node": ">=18" }, "peerDependencies": { - "eslint": "^7.0.0 || ^8.0.0" + "eslint": "^7.0.0 || ^8.0.0 || ^9.0.0" + } + }, + "node_modules/eslint-plugin-jsdoc/node_modules/spdx-expression-parse": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-4.0.0.tgz", + "integrity": "sha512-Clya5JIij/7C6bRR22+tnGXbc4VKlibKSVj2iHvVeX5iMW7s1SIQlqu699JkODJJIhh/pUu8L0/VLh8xflD+LQ==", + "dev": true, + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" } }, "node_modules/eslint-plugin-json-es": { @@ -1523,12 +1505,12 @@ } }, "node_modules/eslint-plugin-mediawiki": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-mediawiki/-/eslint-plugin-mediawiki-0.5.0.tgz", - "integrity": "sha512-rjkHFyv3VDan/dmu7YpD1Rl9h64NOlz4mqqesRN316R+571+ymmb6lXVOdNMbT8H1iPhmtHc+nijVLVkn7pYDw==", + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-mediawiki/-/eslint-plugin-mediawiki-0.6.0.tgz", + "integrity": "sha512-a2Zm18N5nPyflBajM2ZWATxucIpYPEmOSjFzUR1OBH3hAL0GY9fx1mpezEwzqAQ862d+kPkolgQOzktnZe8nKA==", "dev": true, "dependencies": { - "eslint-plugin-vue": "^8.7.1", + "eslint-plugin-vue": "^9.23.0", "upath": "^2.0.1" }, "peerDependencies": { @@ -1536,12 +1518,13 @@ } }, "node_modules/eslint-plugin-mocha": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-mocha/-/eslint-plugin-mocha-10.2.0.tgz", - "integrity": "sha512-ZhdxzSZnd1P9LqDPF0DBcFLpRIGdh1zkF2JHnQklKQOvrQtT73kdP5K9V2mzvbLR+cCAO9OI48NXK/Ax9/ciCQ==", + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/eslint-plugin-mocha/-/eslint-plugin-mocha-10.4.3.tgz", + "integrity": "sha512-emc4TVjq5Ht0/upR+psftuz6IBG5q279p+1dSRDeHf+NS9aaerBi3lXKo1SEzwC29hFIW21gO89CEWSvRsi8IQ==", "dev": true, "dependencies": { "eslint-utils": "^3.0.0", + "globals": "^13.24.0", "rambda": "^7.4.0" }, "engines": { @@ -1552,15 +1535,16 @@ } }, "node_modules/eslint-plugin-n": { - "version": "16.3.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-n/-/eslint-plugin-n-16.3.1.tgz", - "integrity": "sha512-w46eDIkxQ2FaTHcey7G40eD+FhTXOdKudDXPUO2n9WNcslze/i/HT2qJ3GXjHngYSGDISIgPNhwGtgoix4zeOw==", + "version": "16.6.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-n/-/eslint-plugin-n-16.6.2.tgz", + "integrity": "sha512-6TyDmZ1HXoFQXnhCTUjVFULReoBPOAjpuiKELMkeP40yffI/1ZRO+d9ug/VC6fqISo2WkuIBk3cvuRPALaWlOQ==", "dev": true, "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", "builtins": "^5.0.1", - "eslint-plugin-es-x": "^7.1.0", + "eslint-plugin-es-x": "^7.5.0", "get-tsconfig": "^4.7.0", + "globals": "^13.24.0", "ignore": "^5.2.4", "is-builtin-module": "^3.2.1", "is-core-module": "^2.12.1", @@ -1600,16 +1584,16 @@ } }, "node_modules/eslint-plugin-qunit": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/eslint-plugin-qunit/-/eslint-plugin-qunit-7.3.4.tgz", - "integrity": "sha512-EbDM0zJerH9zVdUswMJpcFF7wrrpvsGuYfNexUpa5hZkkdFhaFcX+yD+RSK4Nrauw4psMGlcqeWUMhaVo+Manw==", + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-qunit/-/eslint-plugin-qunit-8.1.1.tgz", + "integrity": "sha512-j3xhiAf2Wvr8Dfwl5T6tlJ+F55vqYE9ZdAHUOTzq1lGerYrXzOS46RvK4SSWug2D8sl3ZYr2lA4/hgVXgLloxw==", "dev": true, "dependencies": { "eslint-utils": "^3.0.0", "requireindex": "^1.2.0" }, "engines": { - "node": "12.x || 14.x || >=16.0.0" + "node": "^16.0.0 || ^18.0.0 || >=20.0.0" } }, "node_modules/eslint-plugin-security": { @@ -1622,26 +1606,26 @@ } }, "node_modules/eslint-plugin-unicorn": { - "version": "47.0.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-unicorn/-/eslint-plugin-unicorn-47.0.0.tgz", - "integrity": "sha512-ivB3bKk7fDIeWOUmmMm9o3Ax9zbMz1Bsza/R2qm46ufw4T6VBFBaJIR1uN3pCKSmSXm8/9Nri8V+iUut1NhQGA==", + "version": "51.0.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-unicorn/-/eslint-plugin-unicorn-51.0.1.tgz", + "integrity": "sha512-MuR/+9VuB0fydoI0nIn2RDA5WISRn4AsJyNSaNKLVwie9/ONvQhxOBbkfSICBPnzKrB77Fh6CZZXjgTt/4Latw==", "dev": true, "dependencies": { - "@babel/helper-validator-identifier": "^7.19.1", + "@babel/helper-validator-identifier": "^7.22.20", "@eslint-community/eslint-utils": "^4.4.0", - "ci-info": "^3.8.0", + "@eslint/eslintrc": "^2.1.4", + "ci-info": "^4.0.0", "clean-regexp": "^1.0.0", + "core-js-compat": "^3.34.0", "esquery": "^1.5.0", "indent-string": "^4.0.0", "is-builtin-module": "^3.2.1", "jsesc": "^3.0.2", - "lodash": "^4.17.21", "pluralize": "^8.0.0", "read-pkg-up": "^7.0.1", - "regexp-tree": "^0.1.24", + "regexp-tree": "^0.1.27", "regjsparser": "^0.10.0", - "safe-regex": "^2.1.1", - "semver": "^7.3.8", + "semver": "^7.5.4", "strip-indent": "^3.0.0" }, "engines": { @@ -1651,46 +1635,48 @@ "url": "https://github.com/sindresorhus/eslint-plugin-unicorn?sponsor=1" }, "peerDependencies": { - "eslint": ">=8.38.0" + "eslint": ">=8.56.0" } }, "node_modules/eslint-plugin-vue": { - "version": "8.7.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-8.7.1.tgz", - "integrity": "sha512-28sbtm4l4cOzoO1LtzQPxfxhQABararUb1JtqusQqObJpWX2e/gmVyeYVfepizPFne0Q5cILkYGiBoV36L12Wg==", + "version": "9.25.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-9.25.0.tgz", + "integrity": "sha512-tDWlx14bVe6Bs+Nnh3IGrD+hb11kf2nukfm6jLsmJIhmiRQ1SUaksvwY9U5MvPB0pcrg0QK0xapQkfITs3RKOA==", "dev": true, "dependencies": { - "eslint-utils": "^3.0.0", + "@eslint-community/eslint-utils": "^4.4.0", + "globals": "^13.24.0", "natural-compare": "^1.4.0", - "nth-check": "^2.0.1", - "postcss-selector-parser": "^6.0.9", - "semver": "^7.3.5", - "vue-eslint-parser": "^8.0.1" + "nth-check": "^2.1.1", + "postcss-selector-parser": "^6.0.15", + "semver": "^7.6.0", + "vue-eslint-parser": "^9.4.2", + "xml-name-validator": "^4.0.0" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^14.17.0 || >=16.0.0" }, "peerDependencies": { - "eslint": "^6.2.0 || ^7.0.0 || ^8.0.0" + "eslint": "^6.2.0 || ^7.0.0 || ^8.0.0 || ^9.0.0" } }, "node_modules/eslint-plugin-wdio": { - "version": "7.25.3", - "resolved": "https://registry.npmjs.org/eslint-plugin-wdio/-/eslint-plugin-wdio-7.25.3.tgz", - "integrity": "sha512-2zbYwV14Md9FNlyhaIILVGPB6w4bu2eJdOTywDUs2Qy4ebcQNwrxB0qCaf7Rm4O+T0Ir+tdYHYBBfbDocSLKng==", + "version": "8.24.12", + "resolved": "https://registry.npmjs.org/eslint-plugin-wdio/-/eslint-plugin-wdio-8.24.12.tgz", + "integrity": "sha512-OmzGteXFOQnJDdkTNnTfksaVa18WlFCyeLjZXHvDpkbomLWAg9wc296Pr0wnTCagqNj8qfEHpy+N2XVew5VCMA==", "dev": true, "engines": { - "node": ">=12.0.0" + "node": "^16.13 || >=18" } }, "node_modules/eslint-plugin-yml": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-yml/-/eslint-plugin-yml-1.10.0.tgz", - "integrity": "sha512-53SUwuNDna97lVk38hL/5++WXDuugPM9SUQ1T645R0EHMRCdBIIxGye/oOX2qO3FQ7aImxaUZJU/ju+NMUBrLQ==", + "version": "1.14.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-yml/-/eslint-plugin-yml-1.14.0.tgz", + "integrity": "sha512-ESUpgYPOcAYQO9czugcX5OqRvn/ydDVwGCPXY4YjPqc09rHaUVUA6IE6HLQys4rXk/S+qx3EwTd1wHCwam/OWQ==", "dev": true, "dependencies": { "debug": "^4.3.2", - "eslint-compat-utils": "^0.1.0", + "eslint-compat-utils": "^0.5.0", "lodash": "^4.17.21", "natural-compare": "^1.4.0", "yaml-eslint-parser": "^1.2.1" @@ -2154,9 +2140,9 @@ } }, "node_modules/get-tsconfig": { - "version": "4.7.2", - "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.7.2.tgz", - "integrity": "sha512-wuMsz4leaj5hbGgg4IvDU0bqJagpftG5l5cXIAvo8uZrqn0NJqwtfupTN00VnkQJPcIRrxYrm1Ue24btpCha2A==", + "version": "4.7.3", + "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.7.3.tgz", + "integrity": "sha512-ZvkrzoUA0PQZM6fy6+/Hce561s+faD1rsNwhnO5FelNjyy7EMGJ3Rz1AQ8GYDWjhRs/7dBLOEJvhK8MiEJOAFg==", "dev": true, "dependencies": { "resolve-pkg-maps": "^1.0.0" @@ -2233,9 +2219,9 @@ } }, "node_modules/globals": { - "version": "13.23.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.23.0.tgz", - "integrity": "sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==", + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", "dev": true, "dependencies": { "type-fest": "^0.20.2" @@ -3930,9 +3916,9 @@ } }, "node_modules/postcss-selector-parser": { - "version": "6.0.13", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz", - "integrity": "sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==", + "version": "6.0.16", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.16.tgz", + "integrity": "sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw==", "dev": true, "dependencies": { "cssesc": "^3.0.0", @@ -4174,9 +4160,9 @@ } }, "node_modules/regexp-tree": { - "version": "0.1.24", - "resolved": "https://registry.npmjs.org/regexp-tree/-/regexp-tree-0.1.24.tgz", - "integrity": "sha512-s2aEVuLhvnVJW6s/iPgEGK6R+/xngd2jNQ+xy4bXNDKxZKJH6jpPHY6kVeVv1IeLCHgswRj+Kl3ELaDjG6V1iw==", + "version": "0.1.27", + "resolved": "https://registry.npmjs.org/regexp-tree/-/regexp-tree-0.1.27.tgz", + "integrity": "sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA==", "dev": true, "bin": { "regexp-tree": "bin/regexp-tree" @@ -4389,9 +4375,9 @@ "dev": true }, "node_modules/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", "dev": true, "dependencies": { "lru-cache": "^6.0.0" @@ -5232,21 +5218,21 @@ } }, "node_modules/vue-eslint-parser": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-8.3.0.tgz", - "integrity": "sha512-dzHGG3+sYwSf6zFBa0Gi9ZDshD7+ad14DGOdTLjruRVgZXe2J+DcZ9iUhyR48z5g1PqRa20yt3Njna/veLJL/g==", + "version": "9.4.2", + "resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-9.4.2.tgz", + "integrity": "sha512-Ry9oiGmCAK91HrKMtCrKFWmSFWvYkpGglCeFAIqDdr9zdXmMMpJOmUJS7WWsW7fX81h6mwHmUZCQQ1E0PkSwYQ==", "dev": true, "dependencies": { - "debug": "^4.3.2", - "eslint-scope": "^7.0.0", - "eslint-visitor-keys": "^3.1.0", - "espree": "^9.0.0", + "debug": "^4.3.4", + "eslint-scope": "^7.1.1", + "eslint-visitor-keys": "^3.3.0", + "espree": "^9.3.1", "esquery": "^1.4.0", "lodash": "^4.17.21", - "semver": "^7.3.5" + "semver": "^7.3.6" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^14.17.0 || >=16.0.0" }, "funding": { "url": "https://github.com/sponsors/mysticatea" @@ -5370,10 +5356,13 @@ "dev": true }, "node_modules/yaml": { - "version": "2.3.4", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.4.tgz", - "integrity": "sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.4.1.tgz", + "integrity": "sha512-pIXzoImaqmfOrL7teGUBt/T7ZDnyeGBWyXQBvOVhLkWLN37GXv8NMLK406UY6dS51JfcQHsmcW5cJ441bHg6Lg==", "dev": true, + "bin": { + "yaml": "bin.mjs" + }, "engines": { "node": ">= 14" } @@ -5497,12 +5486,12 @@ "requires": {} }, "@es-joy/jsdoccomment": { - "version": "0.37.1", - "resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.37.1.tgz", - "integrity": "sha512-5vxWJ1gEkEF0yRd0O+uK6dHJf7adrxwQSX8PuRiPfFSAbNLnY0ZJfXaZucoz14Jj2N11xn2DnlEPwWRpYpvRjg==", + "version": "0.42.0", + "resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.42.0.tgz", + "integrity": "sha512-R1w57YlVA6+YE01wch3GPYn6bCsrOV3YW/5oGGE2tmX6JcL9Nr+b5IikrjMPF+v9CV3ay+obImEdsDhovhJrzw==", "dev": true, "requires": { - "comment-parser": "1.3.1", + "comment-parser": "1.4.1", "esquery": "^1.5.0", "jsdoc-type-pratt-parser": "~4.0.0" } @@ -5551,19 +5540,19 @@ } }, "@eslint/js": { - "version": "8.55.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.55.0.tgz", - "integrity": "sha512-qQfo2mxH5yVom1kacMtZZJFVdW+E70mqHMJvVg6WTLo+VBuQJ4TojZlfWBjK0ve5BdEeNAVxOsl/nvNMpJOaJA==", + "version": "8.57.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz", + "integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==", "dev": true }, "@humanwhocodes/config-array": { - "version": "0.11.13", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.13.tgz", - "integrity": "sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==", + "version": "0.11.14", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz", + "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==", "dev": true, "requires": { - "@humanwhocodes/object-schema": "^2.0.1", - "debug": "^4.1.1", + "@humanwhocodes/object-schema": "^2.0.2", + "debug": "^4.3.1", "minimatch": "^3.0.5" } }, @@ -5574,9 +5563,9 @@ "dev": true }, "@humanwhocodes/object-schema": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.1.tgz", - "integrity": "sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", + "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", "dev": true }, "@mdn/browser-compat-data": { @@ -5636,9 +5625,9 @@ "dev": true }, "@types/semver": { - "version": "7.5.6", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.6.tgz", - "integrity": "sha512-dn1l8LaMea/IjDoHNd9J52uBbInB796CDffS6VdIxvqYCPSG0V0DzHp76GpaWnlhg88uYyPbXCDIowa86ybd5A==", + "version": "7.5.8", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz", + "integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==", "dev": true }, "@typescript-eslint/scope-manager": { @@ -5866,21 +5855,21 @@ } }, "browserslist": { - "version": "4.22.2", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.2.tgz", - "integrity": "sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A==", + "version": "4.23.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz", + "integrity": "sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==", "dev": true, "requires": { - "caniuse-lite": "^1.0.30001565", - "electron-to-chromium": "^1.4.601", + "caniuse-lite": "^1.0.30001587", + "electron-to-chromium": "^1.4.668", "node-releases": "^2.0.14", "update-browserslist-db": "^1.0.13" } }, "browserslist-config-wikimedia": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/browserslist-config-wikimedia/-/browserslist-config-wikimedia-0.5.1.tgz", - "integrity": "sha512-jf532fUf/gaxiKdHgGCQUT552P5up3RpG+CzLixOQBJ5FwDmYQSRLYHCFUA9s3KMOHh4P3xVp+NUaGNxvtoT9g==", + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/browserslist-config-wikimedia/-/browserslist-config-wikimedia-0.6.1.tgz", + "integrity": "sha512-F3O+12ud7ZwBaiB/RZIMGDgz3nEuXz8RhtdPB4Lkd/WVP5Vy77EqBWRMz4vJ64x8LTTH3BOaHCD2ZuUcgShqyQ==", "dev": true }, "builtin-modules": { @@ -5890,9 +5879,9 @@ "dev": true }, "builtins": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/builtins/-/builtins-5.0.1.tgz", - "integrity": "sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/builtins/-/builtins-5.1.0.tgz", + "integrity": "sha512-SW9lzGTLvWTP1AY8xeAMZimqDrIaSdLQUcVr9DMef51niJ022Ri87SwRRKYm4A6iHfkPaiVUu/Duw2Wc4J7kKg==", "dev": true, "requires": { "semver": "^7.0.0" @@ -5931,9 +5920,9 @@ } }, "caniuse-lite": { - "version": "1.0.30001566", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001566.tgz", - "integrity": "sha512-ggIhCsTxmITBAMmK8yZjEhCO5/47jKXPu6Dha/wuCS4JePVL+3uiDEBuhu2aIoT+bqTOR8L76Ip1ARL9xYsEJA==", + "version": "1.0.30001612", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001612.tgz", + "integrity": "sha512-lFgnZ07UhaCcsSZgWW0K5j4e69dK1u/ltrL9lTUiFOwNHs12S3UMIEYgBV0Z6C6hRDev7iRnMzzYmKabYdXF9g==", "dev": true }, "chalk": { @@ -5956,9 +5945,9 @@ } }, "ci-info": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", - "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.0.0.tgz", + "integrity": "sha512-TdHqgGf9odd8SXNuxtUBVx8Nv+qZOejE6qyqiy5NtbYYQOeFa6zmHkxlPzmaLxWWHsU6nJmB7AETdVPi+2NBUg==", "dev": true }, "clean-regexp": { @@ -6017,9 +6006,9 @@ "dev": true }, "comment-parser": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-1.3.1.tgz", - "integrity": "sha512-B52sN2VNghyq5ofvUsqZjmk6YkihBX5vMSChmSK9v4ShjKf3Vk5Xcmgpw4o+iIgtrnM/u5FiMpz9VKb8lpBveA==", + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-1.4.1.tgz", + "integrity": "sha512-buhp5kePrmda3vhc5B9t7pUQXAb2Tnd0qgpkIhPhkHXxJpiPJ11H0ZEU0oBpJ2QztSbzG/ZxMj/CHsYJqRHmyg==", "dev": true }, "concat-map": { @@ -6028,6 +6017,15 @@ "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", "dev": true }, + "core-js-compat": { + "version": "3.37.0", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.37.0.tgz", + "integrity": "sha512-vYq4L+T8aS5UuFg4UwDhc7YNRWVeVZwltad9C/jV3R2LgVOpS9BDr7l/WL6BN0dbV3k1XejPTHqqEzJgsa0frA==", + "dev": true, + "requires": { + "browserslist": "^4.23.0" + } + }, "core-util-is": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", @@ -6276,9 +6274,9 @@ } }, "electron-to-chromium": { - "version": "1.4.601", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.601.tgz", - "integrity": "sha512-SpwUMDWe9tQu8JX5QCO1+p/hChAi9AE9UpoC3rcHVc+gdCGlbT3SGb5I1klgb952HRIyvt9wZhSz9bNBYz9swA==", + "version": "1.4.748", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.748.tgz", + "integrity": "sha512-VWqjOlPZn70UZ8FTKUOkUvBLeTQ0xpty66qV0yJcAGY2/CthI4xyW9aEozRVtuwv3Kpf5xTesmJUcPwuJmgP4A==", "dev": true }, "emoji-regex": { @@ -6315,16 +6313,16 @@ "dev": true }, "eslint": { - "version": "8.55.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.55.0.tgz", - "integrity": "sha512-iyUUAM0PCKj5QpwGfmCAG9XXbZCWsqP/eWAWrG/W0umvjuLRBECwSFdt+rCntju0xEH7teIABPwXpahftIaTdA==", + "version": "8.57.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz", + "integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==", "dev": true, "requires": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.6.1", "@eslint/eslintrc": "^2.1.4", - "@eslint/js": "8.55.0", - "@humanwhocodes/config-array": "^0.11.13", + "@eslint/js": "8.57.0", + "@humanwhocodes/config-array": "^0.11.14", "@humanwhocodes/module-importer": "^1.0.1", "@nodelib/fs.walk": "^1.2.8", "@ungap/structured-clone": "^1.2.0", @@ -6421,67 +6419,37 @@ } }, "eslint-compat-utils": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/eslint-compat-utils/-/eslint-compat-utils-0.1.2.tgz", - "integrity": "sha512-Jia4JDldWnFNIru1Ehx1H5s9/yxiRHY/TimCuUc0jNexew3cF1gI6CYZil1ociakfWO3rRqFjl1mskBblB3RYg==", + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/eslint-compat-utils/-/eslint-compat-utils-0.5.0.tgz", + "integrity": "sha512-dc6Y8tzEcSYZMHa+CMPLi/hyo1FzNeonbhJL7Ol0ccuKQkwopJcJBA9YL/xmMTLU1eKigXo9vj9nALElWYSowg==", "dev": true, - "requires": {} + "requires": { + "semver": "^7.5.4" + } }, "eslint-config-wikimedia": { - "version": "0.26.0", - "resolved": "https://registry.npmjs.org/eslint-config-wikimedia/-/eslint-config-wikimedia-0.26.0.tgz", - "integrity": "sha512-TAXTySls9k3oWs754rIjlcd9PBLvYeMvjqjiuU8u4gweu0UDgBJGslf+zcvVNXEooAtyLZdENjrzDDjG8ssS7Q==", + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/eslint-config-wikimedia/-/eslint-config-wikimedia-0.27.0.tgz", + "integrity": "sha512-KkZ54+MUnggz17C/RCEMXQSpiiqZRF7p9fjrz4phaaeKlTrjg0B+QbM5zcDWcjGiAWaJUptHaH17+RZldadkUw==", "dev": true, "requires": { - "browserslist-config-wikimedia": "^0.5.1", - "eslint": "^8.53.0", + "browserslist-config-wikimedia": "^0.6.1", + "eslint": "^8.57.0", "eslint-plugin-compat": "^4.2.0", - "eslint-plugin-es-x": "^7.3.0", - "eslint-plugin-jest": "^27.6.0", - "eslint-plugin-jsdoc": "^42.0.0", + "eslint-plugin-es-x": "^7.6.0", + "eslint-plugin-jest": "^27.9.0", + "eslint-plugin-jsdoc": "48.2.1", "eslint-plugin-json-es": "^1.5.7", - "eslint-plugin-mediawiki": "^0.5.0", - "eslint-plugin-mocha": "^10.2.0", - "eslint-plugin-n": "^16.0.1", + "eslint-plugin-mediawiki": "^0.6.0", + "eslint-plugin-mocha": "^10.4.1", + "eslint-plugin-n": "^16.6.2", "eslint-plugin-no-jquery": "^2.7.0", - "eslint-plugin-qunit": "^7.3.4", + "eslint-plugin-qunit": "^8.1.1", "eslint-plugin-security": "^1.7.1", - "eslint-plugin-unicorn": "^47.0.0", - "eslint-plugin-vue": "^9.18.1", - "eslint-plugin-wdio": "^7.19.4", - "eslint-plugin-yml": "^1.10.0" - }, - "dependencies": { - "eslint-plugin-vue": { - "version": "9.19.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-9.19.2.tgz", - "integrity": "sha512-CPDqTOG2K4Ni2o4J5wixkLVNwgctKXFu6oBpVJlpNq7f38lh9I80pRTouZSJ2MAebPJlINU/KTFSXyQfBUlymA==", - "dev": true, - "requires": { - "@eslint-community/eslint-utils": "^4.4.0", - "natural-compare": "^1.4.0", - "nth-check": "^2.1.1", - "postcss-selector-parser": "^6.0.13", - "semver": "^7.5.4", - "vue-eslint-parser": "^9.3.1", - "xml-name-validator": "^4.0.0" - } - }, - "vue-eslint-parser": { - "version": "9.3.2", - "resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-9.3.2.tgz", - "integrity": "sha512-q7tWyCVaV9f8iQyIA5Mkj/S6AoJ9KBN8IeUSf3XEmBrOtxOZnfTg5s4KClbZBCK3GtnT/+RyCLZyDHuZwTuBjg==", - "dev": true, - "requires": { - "debug": "^4.3.4", - "eslint-scope": "^7.1.1", - "eslint-visitor-keys": "^3.3.0", - "espree": "^9.3.1", - "esquery": "^1.4.0", - "lodash": "^4.17.21", - "semver": "^7.3.6" - } - } + "eslint-plugin-unicorn": "^51.0.1", + "eslint-plugin-vue": "^9.23.0", + "eslint-plugin-wdio": "^8.24.12", + "eslint-plugin-yml": "^1.13.2" } }, "eslint-plugin-compat": { @@ -6500,39 +6468,52 @@ } }, "eslint-plugin-es-x": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-es-x/-/eslint-plugin-es-x-7.5.0.tgz", - "integrity": "sha512-ODswlDSO0HJDzXU0XvgZ3lF3lS3XAZEossh15Q2UHjwrJggWeBoKqqEsLTZLXl+dh5eOAozG0zRcYtuE35oTuQ==", + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-es-x/-/eslint-plugin-es-x-7.6.0.tgz", + "integrity": "sha512-I0AmeNgevgaTR7y2lrVCJmGYF0rjoznpDvqV/kIkZSZbZ8Rw3eu4cGlvBBULScfkSOCzqKbff5LR4CNrV7mZHA==", "dev": true, "requires": { "@eslint-community/eslint-utils": "^4.1.2", "@eslint-community/regexpp": "^4.6.0", - "eslint-compat-utils": "^0.1.2" + "eslint-compat-utils": "^0.5.0" } }, "eslint-plugin-jest": { - "version": "27.6.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-27.6.0.tgz", - "integrity": "sha512-MTlusnnDMChbElsszJvrwD1dN3x6nZl//s4JD23BxB6MgR66TZlL064su24xEIS3VACfAoHV1vgyMgPw8nkdng==", + "version": "27.9.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-27.9.0.tgz", + "integrity": "sha512-QIT7FH7fNmd9n4se7FFKHbsLKGQiw885Ds6Y/sxKgCZ6natwCsXdgPOADnYVxN2QrRweF0FZWbJ6S7Rsn7llug==", "dev": true, "requires": { "@typescript-eslint/utils": "^5.10.0" } }, "eslint-plugin-jsdoc": { - "version": "42.0.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-42.0.0.tgz", - "integrity": "sha512-qXYr45G8atPKowZbIOdmABukMzu9IMjAlj6j5Fe0iuUItznWSXUDiBj57ejXcbt8bkPrg83333nuz+cqGKFgcQ==", + "version": "48.2.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-48.2.1.tgz", + "integrity": "sha512-iUvbcyDZSO/9xSuRv2HQBw++8VkV/pt3UWtX9cpPH0l7GKPq78QC/6+PmyQHHvNZaTjAce6QVciEbnc6J/zH5g==", "dev": true, "requires": { - "@es-joy/jsdoccomment": "~0.37.0", + "@es-joy/jsdoccomment": "~0.42.0", "are-docs-informative": "^0.0.2", - "comment-parser": "1.3.1", + "comment-parser": "1.4.1", "debug": "^4.3.4", "escape-string-regexp": "^4.0.0", "esquery": "^1.5.0", - "semver": "^7.3.8", - "spdx-expression-parse": "^3.0.1" + "is-builtin-module": "^3.2.1", + "semver": "^7.6.0", + "spdx-expression-parse": "^4.0.0" + }, + "dependencies": { + "spdx-expression-parse": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-4.0.0.tgz", + "integrity": "sha512-Clya5JIij/7C6bRR22+tnGXbc4VKlibKSVj2iHvVeX5iMW7s1SIQlqu699JkODJJIhh/pUu8L0/VLh8xflD+LQ==", + "dev": true, + "requires": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + } } }, "eslint-plugin-json-es": { @@ -6546,35 +6527,37 @@ } }, "eslint-plugin-mediawiki": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-mediawiki/-/eslint-plugin-mediawiki-0.5.0.tgz", - "integrity": "sha512-rjkHFyv3VDan/dmu7YpD1Rl9h64NOlz4mqqesRN316R+571+ymmb6lXVOdNMbT8H1iPhmtHc+nijVLVkn7pYDw==", + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-mediawiki/-/eslint-plugin-mediawiki-0.6.0.tgz", + "integrity": "sha512-a2Zm18N5nPyflBajM2ZWATxucIpYPEmOSjFzUR1OBH3hAL0GY9fx1mpezEwzqAQ862d+kPkolgQOzktnZe8nKA==", "dev": true, "requires": { - "eslint-plugin-vue": "^8.7.1", + "eslint-plugin-vue": "^9.23.0", "upath": "^2.0.1" } }, "eslint-plugin-mocha": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-mocha/-/eslint-plugin-mocha-10.2.0.tgz", - "integrity": "sha512-ZhdxzSZnd1P9LqDPF0DBcFLpRIGdh1zkF2JHnQklKQOvrQtT73kdP5K9V2mzvbLR+cCAO9OI48NXK/Ax9/ciCQ==", + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/eslint-plugin-mocha/-/eslint-plugin-mocha-10.4.3.tgz", + "integrity": "sha512-emc4TVjq5Ht0/upR+psftuz6IBG5q279p+1dSRDeHf+NS9aaerBi3lXKo1SEzwC29hFIW21gO89CEWSvRsi8IQ==", "dev": true, "requires": { "eslint-utils": "^3.0.0", + "globals": "^13.24.0", "rambda": "^7.4.0" } }, "eslint-plugin-n": { - "version": "16.3.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-n/-/eslint-plugin-n-16.3.1.tgz", - "integrity": "sha512-w46eDIkxQ2FaTHcey7G40eD+FhTXOdKudDXPUO2n9WNcslze/i/HT2qJ3GXjHngYSGDISIgPNhwGtgoix4zeOw==", + "version": "16.6.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-n/-/eslint-plugin-n-16.6.2.tgz", + "integrity": "sha512-6TyDmZ1HXoFQXnhCTUjVFULReoBPOAjpuiKELMkeP40yffI/1ZRO+d9ug/VC6fqISo2WkuIBk3cvuRPALaWlOQ==", "dev": true, "requires": { "@eslint-community/eslint-utils": "^4.4.0", "builtins": "^5.0.1", - "eslint-plugin-es-x": "^7.1.0", + "eslint-plugin-es-x": "^7.5.0", "get-tsconfig": "^4.7.0", + "globals": "^13.24.0", "ignore": "^5.2.4", "is-builtin-module": "^3.2.1", "is-core-module": "^2.12.1", @@ -6602,9 +6585,9 @@ "requires": {} }, "eslint-plugin-qunit": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/eslint-plugin-qunit/-/eslint-plugin-qunit-7.3.4.tgz", - "integrity": "sha512-EbDM0zJerH9zVdUswMJpcFF7wrrpvsGuYfNexUpa5hZkkdFhaFcX+yD+RSK4Nrauw4psMGlcqeWUMhaVo+Manw==", + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-qunit/-/eslint-plugin-qunit-8.1.1.tgz", + "integrity": "sha512-j3xhiAf2Wvr8Dfwl5T6tlJ+F55vqYE9ZdAHUOTzq1lGerYrXzOS46RvK4SSWug2D8sl3ZYr2lA4/hgVXgLloxw==", "dev": true, "requires": { "eslint-utils": "^3.0.0", @@ -6621,57 +6604,59 @@ } }, "eslint-plugin-unicorn": { - "version": "47.0.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-unicorn/-/eslint-plugin-unicorn-47.0.0.tgz", - "integrity": "sha512-ivB3bKk7fDIeWOUmmMm9o3Ax9zbMz1Bsza/R2qm46ufw4T6VBFBaJIR1uN3pCKSmSXm8/9Nri8V+iUut1NhQGA==", + "version": "51.0.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-unicorn/-/eslint-plugin-unicorn-51.0.1.tgz", + "integrity": "sha512-MuR/+9VuB0fydoI0nIn2RDA5WISRn4AsJyNSaNKLVwie9/ONvQhxOBbkfSICBPnzKrB77Fh6CZZXjgTt/4Latw==", "dev": true, "requires": { - "@babel/helper-validator-identifier": "^7.19.1", + "@babel/helper-validator-identifier": "^7.22.20", "@eslint-community/eslint-utils": "^4.4.0", - "ci-info": "^3.8.0", + "@eslint/eslintrc": "^2.1.4", + "ci-info": "^4.0.0", "clean-regexp": "^1.0.0", + "core-js-compat": "^3.34.0", "esquery": "^1.5.0", "indent-string": "^4.0.0", "is-builtin-module": "^3.2.1", "jsesc": "^3.0.2", - "lodash": "^4.17.21", "pluralize": "^8.0.0", "read-pkg-up": "^7.0.1", - "regexp-tree": "^0.1.24", + "regexp-tree": "^0.1.27", "regjsparser": "^0.10.0", - "safe-regex": "^2.1.1", - "semver": "^7.3.8", + "semver": "^7.5.4", "strip-indent": "^3.0.0" } }, "eslint-plugin-vue": { - "version": "8.7.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-8.7.1.tgz", - "integrity": "sha512-28sbtm4l4cOzoO1LtzQPxfxhQABararUb1JtqusQqObJpWX2e/gmVyeYVfepizPFne0Q5cILkYGiBoV36L12Wg==", + "version": "9.25.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-9.25.0.tgz", + "integrity": "sha512-tDWlx14bVe6Bs+Nnh3IGrD+hb11kf2nukfm6jLsmJIhmiRQ1SUaksvwY9U5MvPB0pcrg0QK0xapQkfITs3RKOA==", "dev": true, "requires": { - "eslint-utils": "^3.0.0", + "@eslint-community/eslint-utils": "^4.4.0", + "globals": "^13.24.0", "natural-compare": "^1.4.0", - "nth-check": "^2.0.1", - "postcss-selector-parser": "^6.0.9", - "semver": "^7.3.5", - "vue-eslint-parser": "^8.0.1" + "nth-check": "^2.1.1", + "postcss-selector-parser": "^6.0.15", + "semver": "^7.6.0", + "vue-eslint-parser": "^9.4.2", + "xml-name-validator": "^4.0.0" } }, "eslint-plugin-wdio": { - "version": "7.25.3", - "resolved": "https://registry.npmjs.org/eslint-plugin-wdio/-/eslint-plugin-wdio-7.25.3.tgz", - "integrity": "sha512-2zbYwV14Md9FNlyhaIILVGPB6w4bu2eJdOTywDUs2Qy4ebcQNwrxB0qCaf7Rm4O+T0Ir+tdYHYBBfbDocSLKng==", + "version": "8.24.12", + "resolved": "https://registry.npmjs.org/eslint-plugin-wdio/-/eslint-plugin-wdio-8.24.12.tgz", + "integrity": "sha512-OmzGteXFOQnJDdkTNnTfksaVa18WlFCyeLjZXHvDpkbomLWAg9wc296Pr0wnTCagqNj8qfEHpy+N2XVew5VCMA==", "dev": true }, "eslint-plugin-yml": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-yml/-/eslint-plugin-yml-1.10.0.tgz", - "integrity": "sha512-53SUwuNDna97lVk38hL/5++WXDuugPM9SUQ1T645R0EHMRCdBIIxGye/oOX2qO3FQ7aImxaUZJU/ju+NMUBrLQ==", + "version": "1.14.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-yml/-/eslint-plugin-yml-1.14.0.tgz", + "integrity": "sha512-ESUpgYPOcAYQO9czugcX5OqRvn/ydDVwGCPXY4YjPqc09rHaUVUA6IE6HLQys4rXk/S+qx3EwTd1wHCwam/OWQ==", "dev": true, "requires": { "debug": "^4.3.2", - "eslint-compat-utils": "^0.1.0", + "eslint-compat-utils": "^0.5.0", "lodash": "^4.17.21", "natural-compare": "^1.4.0", "yaml-eslint-parser": "^1.2.1" @@ -6951,9 +6936,9 @@ "dev": true }, "get-tsconfig": { - "version": "4.7.2", - "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.7.2.tgz", - "integrity": "sha512-wuMsz4leaj5hbGgg4IvDU0bqJagpftG5l5cXIAvo8uZrqn0NJqwtfupTN00VnkQJPcIRrxYrm1Ue24btpCha2A==", + "version": "4.7.3", + "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.7.3.tgz", + "integrity": "sha512-ZvkrzoUA0PQZM6fy6+/Hce561s+faD1rsNwhnO5FelNjyy7EMGJ3Rz1AQ8GYDWjhRs/7dBLOEJvhK8MiEJOAFg==", "dev": true, "requires": { "resolve-pkg-maps": "^1.0.0" @@ -7009,9 +6994,9 @@ } }, "globals": { - "version": "13.23.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.23.0.tgz", - "integrity": "sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==", + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", "dev": true, "requires": { "type-fest": "^0.20.2" @@ -8286,9 +8271,9 @@ "requires": {} }, "postcss-selector-parser": { - "version": "6.0.13", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz", - "integrity": "sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==", + "version": "6.0.16", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.16.tgz", + "integrity": "sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw==", "dev": true, "requires": { "cssesc": "^3.0.0", @@ -8456,9 +8441,9 @@ } }, "regexp-tree": { - "version": "0.1.24", - "resolved": "https://registry.npmjs.org/regexp-tree/-/regexp-tree-0.1.24.tgz", - "integrity": "sha512-s2aEVuLhvnVJW6s/iPgEGK6R+/xngd2jNQ+xy4bXNDKxZKJH6jpPHY6kVeVv1IeLCHgswRj+Kl3ELaDjG6V1iw==", + "version": "0.1.27", + "resolved": "https://registry.npmjs.org/regexp-tree/-/regexp-tree-0.1.27.tgz", + "integrity": "sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA==", "dev": true }, "regjsparser": { @@ -8601,9 +8586,9 @@ "dev": true }, "semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", "dev": true, "requires": { "lru-cache": "^6.0.0" @@ -9256,18 +9241,18 @@ } }, "vue-eslint-parser": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-8.3.0.tgz", - "integrity": "sha512-dzHGG3+sYwSf6zFBa0Gi9ZDshD7+ad14DGOdTLjruRVgZXe2J+DcZ9iUhyR48z5g1PqRa20yt3Njna/veLJL/g==", + "version": "9.4.2", + "resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-9.4.2.tgz", + "integrity": "sha512-Ry9oiGmCAK91HrKMtCrKFWmSFWvYkpGglCeFAIqDdr9zdXmMMpJOmUJS7WWsW7fX81h6mwHmUZCQQ1E0PkSwYQ==", "dev": true, "requires": { - "debug": "^4.3.2", - "eslint-scope": "^7.0.0", - "eslint-visitor-keys": "^3.1.0", - "espree": "^9.0.0", + "debug": "^4.3.4", + "eslint-scope": "^7.1.1", + "eslint-visitor-keys": "^3.3.0", + "espree": "^9.3.1", "esquery": "^1.4.0", "lodash": "^4.17.21", - "semver": "^7.3.5" + "semver": "^7.3.6" } }, "which": { @@ -9357,9 +9342,9 @@ "dev": true }, "yaml": { - "version": "2.3.4", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.4.tgz", - "integrity": "sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.4.1.tgz", + "integrity": "sha512-pIXzoImaqmfOrL7teGUBt/T7ZDnyeGBWyXQBvOVhLkWLN37GXv8NMLK406UY6dS51JfcQHsmcW5cJ441bHg6Lg==", "dev": true }, "yaml-eslint-parser": { diff --git a/package.json b/package.json index 8292828..3ef1141 100644 --- a/package.json +++ b/package.json @@ -5,7 +5,7 @@ "test": "grunt test" }, "devDependencies": { - "eslint-config-wikimedia": "0.26.0", + "eslint-config-wikimedia": "0.27.0", "grunt": "1.6.1", "grunt-banana-checker": "0.11.1", "grunt-eslint": "24.3.0", diff --git a/tests/phpunit/Converter/BetweenTeiAndHtmlConverterTest.php b/tests/phpunit/Converter/BetweenTeiAndHtmlConverterTest.php index 4a0d885..43b84f5 100644 --- a/tests/phpunit/Converter/BetweenTeiAndHtmlConverterTest.php +++ b/tests/phpunit/Converter/BetweenTeiAndHtmlConverterTest.php @@ -66,7 +66,7 @@ class BetweenTeiAndHtmlConverterTest extends TestCase { $fileMock->expects( $this->any() ) ->method( 'transform' ) ->willReturnCallback( static function ( $params ) use ( $fileMock ) { - return new ThumbnailImage( $fileMock, 'http://example.com/file/FooBar.jpg', false, $params ); + return new ThumbnailImage( $fileMock, 'http://example.com/file/FooBar.jpg', false, $params ); } ); $fileLookupMock = $this->getMockBuilder( FileLookup::class ) diff --git a/tests/phpunit/Model/ContentModel/ContentModelValidatorTest.php b/tests/phpunit/Model/ContentModel/ContentModelValidatorTest.php index 6a027bc..4c88f32 100644 --- a/tests/phpunit/Model/ContentModel/ContentModelValidatorTest.php +++ b/tests/phpunit/Model/ContentModel/ContentModelValidatorTest.php @@ -145,62 +145,62 @@ class ContentModelValidatorTest extends TestCase { StatusValue::newGood() ], [ - [ 'type' => 'textNode' , 'minOccurs' => 0, 'maxOccurs' => 1 ], + [ 'type' => 'textNode', 'minOccurs' => 0, 'maxOccurs' => 1 ], [ '#text', '#text' ], StatusValue::newFatal( 'tei-validation-element-content-unexpected-text' ) ], [ - [ 'type' => 'textNode' , 'minOccurs' => 0, 'maxOccurs' => 1 ], + [ 'type' => 'textNode', 'minOccurs' => 0, 'maxOccurs' => 1 ], [ 'foo' ], StatusValue::newFatal( 'tei-validation-element-content-unexpected-node', 'foo' ) ], [ - [ 'type' => 'textNode' , 'minOccurs' => 0, 'maxOccurs' => null ], + [ 'type' => 'textNode', 'minOccurs' => 0, 'maxOccurs' => null ], [], StatusValue::newGood() ], [ - [ 'type' => 'textNode' , 'minOccurs' => 0, 'maxOccurs' => null ], + [ 'type' => 'textNode', 'minOccurs' => 0, 'maxOccurs' => null ], [ '#text' ], StatusValue::newGood() ], [ - [ 'type' => 'textNode' , 'minOccurs' => 0, 'maxOccurs' => null ], + [ 'type' => 'textNode', 'minOccurs' => 0, 'maxOccurs' => null ], [ '#text', '#text' ], StatusValue::newGood() ], [ - [ 'type' => 'textNode' , 'minOccurs' => 0, 'maxOccurs' => null ], + [ 'type' => 'textNode', 'minOccurs' => 0, 'maxOccurs' => null ], [ 'foo' ], StatusValue::newFatal( 'tei-validation-element-content-unexpected-node', 'foo' ) ], [ - [ 'type' => 'textNode' , 'minOccurs' => 1, 'maxOccurs' => null ], + [ 'type' => 'textNode', 'minOccurs' => 1, 'maxOccurs' => null ], [], StatusValue::newFatal( 'tei-validation-element-content-too-short', '#text' ) ], [ - [ 'type' => 'textNode' , 'minOccurs' => 1, 'maxOccurs' => null ], + [ 'type' => 'textNode', 'minOccurs' => 1, 'maxOccurs' => null ], [ '#text' ], StatusValue::newGood() ], [ - [ 'type' => 'textNode' , 'minOccurs' => 1, 'maxOccurs' => null ], + [ 'type' => 'textNode', 'minOccurs' => 1, 'maxOccurs' => null ], [ '#text', '#text' ], StatusValue::newGood() ], [ - [ 'type' => 'textNode' , 'minOccurs' => 1, 'maxOccurs' => null ], + [ 'type' => 'textNode', 'minOccurs' => 1, 'maxOccurs' => null ], [ '#text', '#text', '#text' ], StatusValue::newGood() ], [ - [ 'type' => 'textNode' , 'minOccurs' => 1, 'maxOccurs' => null ], + [ 'type' => 'textNode', 'minOccurs' => 1, 'maxOccurs' => null ], [ '#text', 'foo' ], StatusValue::newFatal( 'tei-validation-element-content-unexpected-node', 'foo' ) ], [ - [ 'type' => 'textNode' , 'minOccurs' => 1, 'maxOccurs' => null ], + [ 'type' => 'textNode', 'minOccurs' => 1, 'maxOccurs' => null ], [ 'foo', '#text' ], StatusValue::newFatal( 'tei-validation-element-content-unexpected-node', 'foo' ) ], -- 2.39.2 --- end ---