This run took 161 seconds.
From bdc6deac09df6a6339985507cb93f8e9de2d3c99 Mon Sep 17 00:00:00 2001
From: libraryupgrader <tools.libraryupgrader@tools.wmflabs.org>
Date: Sat, 6 Dec 2025 02:31:23 +0000
Subject: [PATCH] build: Updating eslint-config-wikimedia to 0.32.3
Change-Id: I902aa2622737c6daff5b4d555be24cb137f1eeb0
---
package-lock.json | 124 ++++++++++++++++++++++++++++++----------------
package.json | 2 +-
2 files changed, 81 insertions(+), 45 deletions(-)
diff --git a/package-lock.json b/package-lock.json
index ba963bf..f47ce5e 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -15,7 +15,7 @@
"@wikimedia/codex": "2.3.2",
"@wikimedia/codex-icons": "2.3.2",
"babel-core": "^6.26.3",
- "eslint-config-wikimedia": "0.32.2",
+ "eslint-config-wikimedia": "0.32.3",
"eslint-plugin-jest": "27.2.1",
"grunt": "1.6.1",
"grunt-banana-checker": "0.13.0",
@@ -1728,25 +1728,25 @@
}
},
"node_modules/@es-joy/jsdoccomment": {
- "version": "0.75.0",
- "resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.75.0.tgz",
- "integrity": "sha512-Bj+oF8reFb4b+6LUmG6ETpDsBU/28y/bAAzioyIR4VK/V6UodYBNGbtxRyGxk0aJJQqpZZ6jz82vVZWCX6Mwmg==",
+ "version": "0.76.0",
+ "resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.76.0.tgz",
+ "integrity": "sha512-g+RihtzFgGTx2WYCuTHbdOXJeAlGnROws0TeALx9ow/ZmOROOZkVg5wp/B44n0WJgI4SQFP1eWM2iRPlU2Y14w==",
"dev": true,
"dependencies": {
"@types/estree": "^1.0.8",
"@typescript-eslint/types": "^8.46.0",
"comment-parser": "1.4.1",
"esquery": "^1.6.0",
- "jsdoc-type-pratt-parser": "~6.9.1"
+ "jsdoc-type-pratt-parser": "~6.10.0"
},
"engines": {
"node": ">=20.11.0"
}
},
"node_modules/@es-joy/jsdoccomment/node_modules/@typescript-eslint/types": {
- "version": "8.47.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.47.0.tgz",
- "integrity": "sha512-nHAE6bMKsizhA2uuYZbEbmp5z2UpffNrPEqiKIeN7VsV6UY/roxanWfoRrf6x/k9+Obf+GQdkm0nPU+vnMXo9A==",
+ "version": "8.48.1",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.48.1.tgz",
+ "integrity": "sha512-+fZ3LZNeiELGmimrujsDCT4CRIbq5oXdHe7chLiW8qzqyPMnn1puNstCrMNVAqwcl2FdIxkuJ4tOs/RFDBVc/Q==",
"dev": true,
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -1756,6 +1756,15 @@
"url": "https://opencollective.com/typescript-eslint"
}
},
+ "node_modules/@es-joy/resolve.exports": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/@es-joy/resolve.exports/-/resolve.exports-1.2.0.tgz",
+ "integrity": "sha512-Q9hjxWI5xBM+qW2enxfe8wDKdFWMfd0Z29k5ZJnuBqD/CasY5Zryj09aCA6owbGATWz+39p5uIdaHXpopOcG8g==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ }
+ },
"node_modules/@eslint-community/eslint-utils": {
"version": "4.7.0",
"resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.7.0.tgz",
@@ -2914,6 +2923,18 @@
"integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==",
"dev": true
},
+ "node_modules/@sindresorhus/base62": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/@sindresorhus/base62/-/base62-1.0.0.tgz",
+ "integrity": "sha512-TeheYy0ILzBEI/CO55CP6zJCSdSWeRtGnHy8U8dWSUH4I68iqTsy7HkMktR4xakThc9jotkPQUXT4ITdbV7cHA==",
+ "dev": true,
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/@sinonjs/commons": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz",
@@ -5861,9 +5882,9 @@
}
},
"node_modules/eslint-config-wikimedia": {
- "version": "0.32.2",
- "resolved": "https://registry.npmjs.org/eslint-config-wikimedia/-/eslint-config-wikimedia-0.32.2.tgz",
- "integrity": "sha512-vAGz50AJPk23qQ701sL4tAgaF8FEAkP/E3kgojSTVrGgmDqjnRvq8z3EItDNI/EAkb5Ys15WPPFsoBH8YhTdSg==",
+ "version": "0.32.3",
+ "resolved": "https://registry.npmjs.org/eslint-config-wikimedia/-/eslint-config-wikimedia-0.32.3.tgz",
+ "integrity": "sha512-Ekz2/ozpCCjQl3VbC6dW7ChqoW7FRilLDxmJ+FJOZhIxxzZSZR5QqQOAGWSZAlG1ONkZbYV/TPwGLWZcrNxyaA==",
"dev": true,
"dependencies": {
"@stylistic/eslint-plugin": "^3.1.0",
@@ -5874,9 +5895,9 @@
"eslint-plugin-compat": "^6.0.2",
"eslint-plugin-es-x": "^8.7.0",
"eslint-plugin-jest": "^29.0.1",
- "eslint-plugin-jsdoc": "61.0.0",
+ "eslint-plugin-jsdoc": "61.3.0",
"eslint-plugin-json-es": "^1.6.0",
- "eslint-plugin-mediawiki": "^0.8.1",
+ "eslint-plugin-mediawiki": "^0.8.2",
"eslint-plugin-mocha": "^10.5.0",
"eslint-plugin-n": "^17.23.1",
"eslint-plugin-no-jquery": "^3.1.1",
@@ -6421,12 +6442,13 @@
}
},
"node_modules/eslint-plugin-jsdoc": {
- "version": "61.0.0",
- "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-61.0.0.tgz",
- "integrity": "sha512-YxvOY3A9H8usnOfOEH82y71yHR7zVNWZJpQbjkC+rWqrADQtM+Gza3+db/j9euNNWCNKnN+/gBrowg16n9lwgg==",
+ "version": "61.3.0",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-61.3.0.tgz",
+ "integrity": "sha512-E4m/5J5lrasd63Z74q4CCZ4PFnywnnrcvA7zZ98802NPhrZKKTp5NH+XAT+afcjXp2ps2/OQF5gPSWCT2XFCJg==",
"dev": true,
"dependencies": {
- "@es-joy/jsdoccomment": "~0.75.0",
+ "@es-joy/jsdoccomment": "~0.76.0",
+ "@es-joy/resolve.exports": "1.2.0",
"are-docs-informative": "^0.0.2",
"comment-parser": "1.4.1",
"debug": "^4.4.3",
@@ -6434,10 +6456,11 @@
"espree": "^10.4.0",
"esquery": "^1.6.0",
"html-entities": "^2.6.0",
- "object-deep-merge": "^1.0.5",
+ "object-deep-merge": "^2.0.0",
"parse-imports-exports": "^0.2.4",
"semver": "^7.7.3",
- "spdx-expression-parse": "^4.0.0"
+ "spdx-expression-parse": "^4.0.0",
+ "to-valid-identifier": "^1.0.0"
},
"engines": {
"node": ">=20.11.0"
@@ -6513,9 +6536,9 @@
}
},
"node_modules/eslint-plugin-mediawiki": {
- "version": "0.8.1",
- "resolved": "https://registry.npmjs.org/eslint-plugin-mediawiki/-/eslint-plugin-mediawiki-0.8.1.tgz",
- "integrity": "sha512-zjTg3hh375lkztKhOYEmPeYiIhKooAu92BkZf2F/fr+5Htvb2i8MNB3gImhM98aTBbkyHTjXoyTHNUrjSjPhmw==",
+ "version": "0.8.2",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-mediawiki/-/eslint-plugin-mediawiki-0.8.2.tgz",
+ "integrity": "sha512-ydYrpkzm8IVVDQA96QPF3HnFd2xjkIEh7gixD2gvOqUbUZF0p36LtpWXOFAlPWAvHLePWbNNTD5ovd3d4hEtog==",
"dev": true,
"dependencies": {
"upath": "^2.0.1"
@@ -10701,9 +10724,9 @@
}
},
"node_modules/jsdoc-type-pratt-parser": {
- "version": "6.9.1",
- "resolved": "https://registry.npmjs.org/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-6.9.1.tgz",
- "integrity": "sha512-HbYNAorY51GnpKvgDf4YINSY+V1segv0qEeijvTSI6OWMCmqah0W6mVwBFeWskJ81uTJJVnDQlwhpJMREvGsXg==",
+ "version": "6.10.0",
+ "resolved": "https://registry.npmjs.org/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-6.10.0.tgz",
+ "integrity": "sha512-+LexoTRyYui5iOhJGn13N9ZazL23nAHGkXsa1p/C8yeq79WRfLBag6ZZ0FQG2aRoc9yfo59JT9EYCQonOkHKkQ==",
"dev": true,
"engines": {
"node": ">=20.0.0"
@@ -11314,25 +11337,10 @@
"dev": true
},
"node_modules/object-deep-merge": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/object-deep-merge/-/object-deep-merge-1.0.5.tgz",
- "integrity": "sha512-3DioFgOzetbxbeUq8pB2NunXo8V0n4EvqsWM/cJoI6IA9zghd7cl/2pBOuWRf4dlvA+fcg5ugFMZaN2/RuoaGg==",
- "dev": true,
- "dependencies": {
- "type-fest": "4.2.0"
- }
- },
- "node_modules/object-deep-merge/node_modules/type-fest": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.2.0.tgz",
- "integrity": "sha512-5zknd7Dss75pMSED270A1RQS3KloqRJA9XbXLe0eCxyw7xXFb3rd+9B0UQ/0E+LQT6lnrLviEolYORlRWamn4w==",
- "dev": true,
- "engines": {
- "node": ">=16"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/object-deep-merge/-/object-deep-merge-2.0.0.tgz",
+ "integrity": "sha512-3DC3UMpeffLTHiuXSy/UG4NOIYTLlY9u3V82+djSCLYClWobZiS4ivYzpIUWrRY/nfsJ8cWsKyG3QfyLePmhvg==",
+ "dev": true
},
"node_modules/object.defaults": {
"version": "1.1.0",
@@ -12212,6 +12220,18 @@
"integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==",
"dev": true
},
+ "node_modules/reserved-identifiers": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/reserved-identifiers/-/reserved-identifiers-1.2.0.tgz",
+ "integrity": "sha512-yE7KUfFvaBFzGPs5H3Ops1RevfUEsDc5Iz65rOwWg4lE8HJSYtle77uul3+573457oHvBKuHYDl/xqUkKpEEdw==",
+ "dev": true,
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/resolve": {
"version": "1.22.10",
"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz",
@@ -13389,6 +13409,22 @@
"node": ">=8.0"
}
},
+ "node_modules/to-valid-identifier": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/to-valid-identifier/-/to-valid-identifier-1.0.0.tgz",
+ "integrity": "sha512-41wJyvKep3yT2tyPqX/4blcfybknGB4D+oETKLs7Q76UiPqRpUJK3hr1nxelyYO0PHKVzJwlu0aCeEAsGI6rpw==",
+ "dev": true,
+ "dependencies": {
+ "@sindresorhus/base62": "^1.0.0",
+ "reserved-identifiers": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=20"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/tough-cookie": {
"version": "4.1.4",
"resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.4.tgz",
diff --git a/package.json b/package.json
index 0885fd8..20ad12f 100644
--- a/package.json
+++ b/package.json
@@ -16,7 +16,7 @@
"@wikimedia/codex": "2.3.2",
"@wikimedia/codex-icons": "2.3.2",
"babel-core": "^6.26.3",
- "eslint-config-wikimedia": "0.32.2",
+ "eslint-config-wikimedia": "0.32.3",
"eslint-plugin-jest": "27.2.1",
"grunt": "1.6.1",
"grunt-banana-checker": "0.13.0",
--
2.47.3
$ date
--- stdout ---
Sat Dec 6 02:28:52 UTC 2025
--- end ---
$ git clone file:///srv/git/mediawiki-extensions-MediaSearch.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 ---
a91b6500199fe43d2d6de6cc2b5dce0a9d3c02e7 refs/heads/master
--- end ---
$ /usr/bin/npm audit --json
--- stdout ---
{
"auditReportVersion": 2,
"vulnerabilities": {
"babel-core": {
"name": "babel-core",
"severity": "critical",
"isDirect": true,
"via": [
"babel-helpers",
"babel-register",
"babel-template",
"babel-traverse",
"json5"
],
"effects": [
"babel-register"
],
"range": "5.8.20 - 7.0.0-beta.3",
"nodes": [
"node_modules/babel-core"
],
"fixAvailable": {
"name": "babel-core",
"version": "4.7.16",
"isSemVerMajor": true
}
},
"babel-helpers": {
"name": "babel-helpers",
"severity": "critical",
"isDirect": false,
"via": [
"babel-template"
],
"effects": [],
"range": "*",
"nodes": [
"node_modules/babel-helpers"
],
"fixAvailable": true
},
"babel-register": {
"name": "babel-register",
"severity": "high",
"isDirect": false,
"via": [
"babel-core"
],
"effects": [
"babel-core"
],
"range": "*",
"nodes": [
"node_modules/babel-register"
],
"fixAvailable": {
"name": "babel-core",
"version": "4.7.16",
"isSemVerMajor": true
}
},
"babel-template": {
"name": "babel-template",
"severity": "critical",
"isDirect": false,
"via": [
"babel-traverse"
],
"effects": [
"babel-helpers"
],
"range": "*",
"nodes": [
"node_modules/babel-template"
],
"fixAvailable": true
},
"babel-traverse": {
"name": "babel-traverse",
"severity": "critical",
"isDirect": false,
"via": [
{
"source": 1096879,
"name": "babel-traverse",
"dependency": "babel-traverse",
"title": "Babel vulnerable to arbitrary code execution when compiling specifically crafted malicious code",
"url": "https://github.com/advisories/GHSA-67hx-6x53-jw92",
"severity": "critical",
"cwe": [
"CWE-184",
"CWE-697"
],
"cvss": {
"score": 9.4,
"vectorString": "CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H"
},
"range": "<7.23.2"
}
],
"effects": [
"babel-core",
"babel-template"
],
"range": "*",
"nodes": [
"node_modules/babel-traverse"
],
"fixAvailable": {
"name": "babel-core",
"version": "4.7.16",
"isSemVerMajor": true
}
},
"json5": {
"name": "json5",
"severity": "high",
"isDirect": false,
"via": [
{
"source": 1096543,
"name": "json5",
"dependency": "json5",
"title": "Prototype Pollution in JSON5 via Parse Method",
"url": "https://github.com/advisories/GHSA-9c47-m6qq-7p4h",
"severity": "high",
"cwe": [
"CWE-1321"
],
"cvss": {
"score": 7.1,
"vectorString": "CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:L/A:H"
},
"range": "<1.0.2"
}
],
"effects": [
"babel-core"
],
"range": "<1.0.2",
"nodes": [
"node_modules/babel-core/node_modules/json5"
],
"fixAvailable": {
"name": "babel-core",
"version": "4.7.16",
"isSemVerMajor": true
}
}
},
"metadata": {
"vulnerabilities": {
"info": 0,
"low": 0,
"moderate": 0,
"high": 2,
"critical": 4,
"total": 6
},
"dependencies": {
"prod": 1,
"dev": 1116,
"optional": 8,
"peer": 6,
"peerOptional": 0,
"total": 1116
}
}
}
--- 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: 38 installs, 0 updates, 0 removals
- Locking composer/pcre (3.3.2)
- Locking composer/semver (3.4.4)
- Locking composer/spdx-licenses (1.5.9)
- Locking composer/xdebug-handler (3.0.5)
- Locking dealerdirect/phpcodesniffer-composer-installer (v1.2.0)
- Locking doctrine/deprecations (1.1.5)
- Locking felixfbecker/advanced-json-rpc (v3.2.1)
- Locking mediawiki/mediawiki-codesniffer (v48.0.0)
- Locking mediawiki/mediawiki-phan-config (0.17.0)
- Locking mediawiki/minus-x (1.1.3)
- Locking mediawiki/phan-taint-check-plugin (7.0.0)
- Locking microsoft/tolerant-php-parser (v0.1.2)
- Locking netresearch/jsonmapper (v4.5.0)
- Locking phan/phan (5.5.1)
- Locking php-parallel-lint/php-console-color (v1.0.1)
- Locking php-parallel-lint/php-console-highlighter (v1.0.0)
- Locking php-parallel-lint/php-parallel-lint (v1.4.0)
- Locking phpcsstandards/phpcsextra (1.4.0)
- Locking phpcsstandards/phpcsutils (1.1.1)
- Locking phpdocumentor/reflection-common (2.2.0)
- Locking phpdocumentor/reflection-docblock (5.6.5)
- Locking phpdocumentor/type-resolver (1.12.0)
- Locking phpstan/phpdoc-parser (2.3.0)
- Locking psr/container (2.0.2)
- Locking psr/log (3.0.2)
- Locking sabre/event (5.1.7)
- Locking squizlabs/php_codesniffer (3.13.2)
- Locking symfony/console (v7.4.0)
- Locking symfony/deprecation-contracts (v3.6.0)
- Locking symfony/polyfill-ctype (v1.33.0)
- Locking symfony/polyfill-intl-grapheme (v1.33.0)
- Locking symfony/polyfill-intl-normalizer (v1.33.0)
- Locking symfony/polyfill-mbstring (v1.33.0)
- Locking symfony/polyfill-php80 (v1.33.0)
- Locking symfony/service-contracts (v3.6.1)
- Locking symfony/string (v8.0.0)
- Locking tysonandre/var_representation_polyfill (0.1.3)
- Locking webmozart/assert (1.12.1)
Writing lock file
Installing dependencies from lock file (including require-dev)
Package operations: 38 installs, 0 updates, 0 removals
0 [>---------------------------] 0 [->--------------------------]
- Installing squizlabs/php_codesniffer (3.13.2): Extracting archive
- Installing dealerdirect/phpcodesniffer-composer-installer (v1.2.0): Extracting archive
- Installing composer/pcre (3.3.2): Extracting archive
- Installing phpcsstandards/phpcsutils (1.1.1): Extracting archive
- Installing phpcsstandards/phpcsextra (1.4.0): Extracting archive
- Installing symfony/polyfill-mbstring (v1.33.0): Extracting archive
- Installing composer/spdx-licenses (1.5.9): Extracting archive
- Installing composer/semver (3.4.4): Extracting archive
- Installing mediawiki/mediawiki-codesniffer (v48.0.0): Extracting archive
- Installing tysonandre/var_representation_polyfill (0.1.3): Extracting archive
- Installing symfony/polyfill-php80 (v1.33.0): Extracting archive
- Installing symfony/polyfill-intl-normalizer (v1.33.0): Extracting archive
- Installing symfony/polyfill-intl-grapheme (v1.33.0): Extracting archive
- Installing symfony/polyfill-ctype (v1.33.0): Extracting archive
- Installing symfony/string (v8.0.0): Extracting archive
- Installing symfony/deprecation-contracts (v3.6.0): Extracting archive
- Installing psr/container (2.0.2): Extracting archive
- Installing symfony/service-contracts (v3.6.1): Extracting archive
- Installing symfony/console (v7.4.0): Extracting archive
- Installing sabre/event (5.1.7): Extracting archive
- Installing netresearch/jsonmapper (v4.5.0): Extracting archive
- Installing microsoft/tolerant-php-parser (v0.1.2): Extracting archive
- Installing webmozart/assert (1.12.1): Extracting archive
- Installing phpstan/phpdoc-parser (2.3.0): Extracting archive
- Installing phpdocumentor/reflection-common (2.2.0): Extracting archive
- Installing doctrine/deprecations (1.1.5): Extracting archive
- Installing phpdocumentor/type-resolver (1.12.0): Extracting archive
- Installing phpdocumentor/reflection-docblock (5.6.5): Extracting archive
- Installing felixfbecker/advanced-json-rpc (v3.2.1): Extracting archive
- Installing psr/log (3.0.2): Extracting archive
- Installing composer/xdebug-handler (3.0.5): Extracting archive
- Installing phan/phan (5.5.1): Extracting archive
- Installing mediawiki/phan-taint-check-plugin (7.0.0): Extracting archive
- Installing mediawiki/mediawiki-phan-config (0.17.0): Extracting archive
- Installing mediawiki/minus-x (1.1.3): Extracting archive
- Installing php-parallel-lint/php-console-color (v1.0.1): Extracting archive
- Installing php-parallel-lint/php-console-highlighter (v1.0.0): Extracting archive
- Installing php-parallel-lint/php-parallel-lint (v1.4.0): Extracting archive
0/36 [>---------------------------] 0%
28/36 [=====================>------] 77%
35/36 [===========================>] 97%
36/36 [============================] 100%
1 package suggestions were added by new dependencies, use `composer suggest` to see details.
Generating autoload files
17 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
--- stdout ---
PHP CodeSniffer Config installed_paths set to ../../mediawiki/mediawiki-codesniffer,../../phpcsstandards/phpcsextra,../../phpcsstandards/phpcsutils
--- end ---
Upgrading n:eslint-config-wikimedia from 0.32.2 -> 0.32.3
$ /usr/bin/npm install
--- stderr ---
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE package: '@wikimedia/codex@2.3.2',
npm WARN EBADENGINE required: { node: '>=20.19.1', npm: '>=10.8.2' },
npm WARN EBADENGINE current: { node: 'v20.19.2', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE package: '@wikimedia/codex-icons@2.3.2',
npm WARN EBADENGINE required: { node: '>=20.19.1', npm: '>=10.8.2' },
npm WARN EBADENGINE current: { node: 'v20.19.2', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN deprecated osenv@0.1.5: This package is no longer supported.
npm WARN deprecated inflight@1.0.6: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.
npm WARN deprecated @humanwhocodes/config-array@0.13.0: Use @eslint/config-array instead
npm WARN deprecated rimraf@3.0.2: Rimraf versions prior to v4 are no longer supported
npm WARN deprecated abab@2.0.6: Use your platform's native atob() and btoa() methods instead
npm WARN deprecated @humanwhocodes/object-schema@2.0.3: Use @eslint/object-schema instead
npm WARN deprecated glob@7.1.7: Glob versions prior to v9 are no longer supported
npm WARN deprecated domexception@4.0.0: Use your platform's native DOMException instead
npm WARN deprecated eslint@8.57.1: This version is no longer supported. Please see https://eslint.org/version-support for other options.
npm WARN deprecated core-js@2.6.12: core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js.
--- stdout ---
added 1118 packages, and audited 1119 packages in 13s
166 packages are looking for funding
run `npm fund` for details
6 vulnerabilities (2 high, 4 critical)
To address issues that do not require attention, run:
npm audit fix
To address all issues (including breaking changes), run:
npm audit fix --force
Run `npm audit` for details.
--- end ---
$ package-lock-lint /src/repo/package-lock.json
--- stdout ---
Checking /src/repo/package-lock.json
--- end ---
$ /usr/bin/npm install grunt-eslint@24.3.0 --save-exact
--- stderr ---
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE package: '@wikimedia/codex@2.3.2',
npm WARN EBADENGINE required: { node: '>=20.19.1', npm: '>=10.8.2' },
npm WARN EBADENGINE current: { node: 'v20.19.2', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE package: '@wikimedia/codex-icons@2.3.2',
npm WARN EBADENGINE required: { node: '>=20.19.1', npm: '>=10.8.2' },
npm WARN EBADENGINE current: { node: 'v20.19.2', npm: '9.2.0' }
npm WARN EBADENGINE }
--- stdout ---
up to date, audited 1119 packages in 5s
166 packages are looking for funding
run `npm fund` for details
6 vulnerabilities (2 high, 4 critical)
To address issues that do not require attention, run:
npm audit fix
To address all issues (including breaking changes), run:
npm audit fix --force
Run `npm audit` for details.
--- end ---
$ package-lock-lint /src/repo/package-lock.json
--- stdout ---
Checking /src/repo/package-lock.json
--- end ---
$ ./node_modules/.bin/eslint . --fix
--- stdout ---
/src/repo/resources/components/SearchFilters.vue
275:1 warning The type 'filter-change' is undefined jsdoc/no-undefined-types
359:3 warning JSDoc @return declaration present but return expression not available in function jsdoc/require-returns-check
/src/repo/resources/components/base/AutocompleteSearchInput.vue
259:1 warning The type 'input' is undefined jsdoc/no-undefined-types
291:1 warning The type 'enter' is undefined jsdoc/no-undefined-types
310:1 warning The type 'submit' is undefined jsdoc/no-undefined-types
/src/repo/resources/components/base/Dialog.vue
193:1 warning The type 'progress' is undefined jsdoc/no-undefined-types
201:1 warning The type 'key' is undefined jsdoc/no-undefined-types
201:1 warning Syntax error in namepath: close|key jsdoc/valid-types
/src/repo/resources/components/base/Select.vue
263:1 warning The type 'select' is undefined jsdoc/no-undefined-types
299:1 warning The type 'submit' is undefined jsdoc/no-undefined-types
362:3 warning @throws should have a type jsdoc/require-throws-type
/src/repo/resources/components/base/SelectMenu.vue
107:1 warning The type 'select' is undefined jsdoc/no-undefined-types
/src/repo/resources/mixins/autocompleteLookupHandler.js
148:1 warning This line has a length of 120. Maximum allowed is 110 max-len
202:1 warning This line has a length of 151. Maximum allowed is 110 max-len
/src/repo/resources/mixins/searchResult.js
99:1 warning The type 'show-details' is undefined jsdoc/no-undefined-types
/src/repo/resources/store/actions.js
225:9 warning Prefer .then to .done no-jquery/no-done-fail
226:1 warning This line has a length of 118. Maximum allowed is 110 max-len
318:2 warning Prefer .then to .done no-jquery/no-done-fail
✖ 18 problems (0 errors, 18 warnings)
--- 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":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/.stylelintrc.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/Gruntfile.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-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":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/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":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/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":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/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":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/package-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":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/package.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/.eslintrc.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/components/App.vue","messages":[],"suppressedMessages":[{"ruleId":"camelcase","severity":2,"message":"Identifier 'search_query' is not in camel case.","line":203,"column":5,"nodeType":"Identifier","messageId":"notCamelCase","endLine":203,"endColumn":17,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'search_media_type' is not in camel case.","line":204,"column":5,"nodeType":"Identifier","messageId":"notCamelCase","endLine":204,"endColumn":22,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'search_query' is not in camel case.","line":259,"column":6,"nodeType":"Identifier","messageId":"notCamelCase","endLine":259,"endColumn":18,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'search_media_type' is not in camel case.","line":260,"column":6,"nodeType":"Identifier","messageId":"notCamelCase","endLine":260,"endColumn":23,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'search_result_count' is not in camel case.","line":261,"column":6,"nodeType":"Identifier","messageId":"notCamelCase","endLine":261,"endColumn":25,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'search_query' is not in camel case.","line":272,"column":6,"nodeType":"Identifier","messageId":"notCamelCase","endLine":272,"endColumn":18,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'search_media_type' is not in camel case.","line":273,"column":6,"nodeType":"Identifier","messageId":"notCamelCase","endLine":273,"endColumn":23,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'search_result_count' is not in camel case.","line":274,"column":6,"nodeType":"Identifier","messageId":"notCamelCase","endLine":274,"endColumn":25,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'search_query' is not in camel case.","line":310,"column":6,"nodeType":"Identifier","messageId":"notCamelCase","endLine":310,"endColumn":18,"suppressions":[{"kind":"directive","justification":""},{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'search_media_type' is not in camel case.","line":311,"column":6,"nodeType":"Identifier","messageId":"notCamelCase","endLine":311,"endColumn":23,"suppressions":[{"kind":"directive","justification":""},{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'search_result_count' is not in camel case.","line":312,"column":6,"nodeType":"Identifier","messageId":"notCamelCase","endLine":312,"endColumn":25,"suppressions":[{"kind":"directive","justification":""},{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'search_query' is not in camel case.","line":364,"column":5,"nodeType":"Identifier","messageId":"notCamelCase","endLine":364,"endColumn":17,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'search_media_type' is not in camel case.","line":365,"column":5,"nodeType":"Identifier","messageId":"notCamelCase","endLine":365,"endColumn":22,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'search_result_count' is not in camel case.","line":366,"column":5,"nodeType":"Identifier","messageId":"notCamelCase","endLine":366,"endColumn":24,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-global-selector","severity":2,"message":"Avoid queries which search the entire DOM. Keep DOM nodes in memory where possible.","line":387,"column":22,"nodeType":"CallExpression","endLine":387,"endColumn":38,"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"vue/component-tags-order","replacedBy":["block-order"]},{"ruleId":"vue/no-invalid-model-keys","replacedBy":["valid-model-definition"]},{"ruleId":"vue/v-on-function-call","replacedBy":["v-on-handler-style"]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/components/DidYouMean.vue","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"vue/component-tags-order","replacedBy":["block-order"]},{"ruleId":"vue/no-invalid-model-keys","replacedBy":["valid-model-definition"]},{"ruleId":"vue/v-on-function-call","replacedBy":["v-on-handler-style"]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/components/EmptyState.vue","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"vue/component-tags-order","replacedBy":["block-order"]},{"ruleId":"vue/no-invalid-model-keys","replacedBy":["valid-model-definition"]},{"ruleId":"vue/v-on-function-call","replacedBy":["v-on-handler-style"]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/components/EndOfResults.vue","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"vue/component-tags-order","replacedBy":["block-order"]},{"ruleId":"vue/no-invalid-model-keys","replacedBy":["valid-model-definition"]},{"ruleId":"vue/v-on-function-call","replacedBy":["v-on-handler-style"]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/components/NamespaceFilterDialog.vue","messages":[],"suppressedMessages":[{"ruleId":"vue/no-computed-properties-in-data","severity":2,"message":"The computed property cannot be used in `data()` because it is before initialization.","line":110,"column":19,"nodeType":"MemberExpression","messageId":"cannotBeUsed","endLine":110,"endColumn":36,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"vue/no-computed-properties-in-data","severity":2,"message":"The computed property cannot be used in `data()` because it is before initialization.","line":112,"column":20,"nodeType":"MemberExpression","messageId":"cannotBeUsed","endLine":112,"endColumn":38,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"vue/no-unused-properties","severity":2,"message":"'select' of method found, but never used.","line":207,"column":3,"nodeType":"Identifier","messageId":"unused","endLine":207,"endColumn":9,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"vue/no-unused-properties","severity":2,"message":"'reset' of method found, but never used.","line":224,"column":3,"nodeType":"Identifier","messageId":"unused","endLine":224,"endColumn":8,"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"vue/component-tags-order","replacedBy":["block-order"]},{"ruleId":"vue/no-invalid-model-keys","replacedBy":["valid-model-definition"]},{"ruleId":"vue/v-on-function-call","replacedBy":["v-on-handler-style"]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/components/NoResults.vue","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"vue/component-tags-order","replacedBy":["block-order"]},{"ruleId":"vue/no-invalid-model-keys","replacedBy":["valid-model-definition"]},{"ruleId":"vue/v-on-function-call","replacedBy":["v-on-handler-style"]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/components/QuickView.vue","messages":[],"suppressedMessages":[{"ruleId":"security/detect-unsafe-regex","severity":1,"message":"Unsafe Regular Expression","line":531,"column":17,"nodeType":"Literal","endLine":531,"endColumn":56,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"vue/no-unused-properties","severity":2,"message":"'focus' of method found, but never used.","line":649,"column":3,"nodeType":"Identifier","messageId":"unused","endLine":649,"endColumn":8,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'search_result_page_title' is not in camel case.","line":719,"column":5,"nodeType":"Identifier","messageId":"notCamelCase","endLine":719,"endColumn":29,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'search_media_type' is not in camel case.","line":728,"column":5,"nodeType":"Identifier","messageId":"notCamelCase","endLine":728,"endColumn":22,"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"vue/component-tags-order","replacedBy":["block-order"]},{"ruleId":"vue/no-invalid-model-keys","replacedBy":["valid-model-definition"]},{"ruleId":"vue/v-on-function-call","replacedBy":["v-on-handler-style"]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/components/SearchError.vue","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"vue/component-tags-order","replacedBy":["block-order"]},{"ruleId":"vue/no-invalid-model-keys","replacedBy":["valid-model-definition"]},{"ruleId":"vue/v-on-function-call","replacedBy":["v-on-handler-style"]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/components/SearchFilters.vue","messages":[{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'filter-change' is undefined.","line":275,"column":1,"nodeType":"Block","endLine":275,"endColumn":1},{"ruleId":"jsdoc/require-returns-check","severity":1,"message":"JSDoc @return declaration present but return expression not available in function.","line":359,"column":3,"nodeType":"Block","endLine":362,"endColumn":6}],"suppressedMessages":[{"ruleId":"vue/no-unused-properties","severity":2,"message":"'observerOptions' of data found, but never used.","line":113,"column":4,"nodeType":"Identifier","messageId":"unused","endLine":113,"endColumn":19,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"vue/no-unused-properties","severity":2,"message":"'observerElement' of data found, but never used.","line":117,"column":4,"nodeType":"Identifier","messageId":"unused","endLine":117,"endColumn":19,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'search_media_type' is not in camel case.","line":295,"column":6,"nodeType":"Identifier","messageId":"notCamelCase","endLine":295,"endColumn":23,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'search_filter_type' is not in camel case.","line":296,"column":6,"nodeType":"Identifier","messageId":"notCamelCase","endLine":296,"endColumn":24,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'search_filter_value' is not in camel case.","line":297,"column":6,"nodeType":"Identifier","messageId":"notCamelCase","endLine":297,"endColumn":25,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'prior_search_filter_type' is not in camel case.","line":298,"column":6,"nodeType":"Identifier","messageId":"notCamelCase","endLine":298,"endColumn":30,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'prior_search_filter_value' is not in camel case.","line":299,"column":6,"nodeType":"Identifier","messageId":"notCamelCase","endLine":299,"endColumn":31,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'search_media_type' is not in camel case.","line":315,"column":6,"nodeType":"Identifier","messageId":"notCamelCase","endLine":315,"endColumn":23,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'search_filter_type' is not in camel case.","line":316,"column":6,"nodeType":"Identifier","messageId":"notCamelCase","endLine":316,"endColumn":24,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'search_filter_value' is not in camel case.","line":317,"column":6,"nodeType":"Identifier","messageId":"notCamelCase","endLine":317,"endColumn":25,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'prior_search_filter_type' is not in camel case.","line":318,"column":6,"nodeType":"Identifier","messageId":"notCamelCase","endLine":318,"endColumn":30,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'prior_search_filter_value' is not in camel case.","line":319,"column":6,"nodeType":"Identifier","messageId":"notCamelCase","endLine":319,"endColumn":31,"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":2,"fixableErrorCount":0,"fixableWarningCount":0,"source":"<template>\n\t<div class=\"sdms-search-filters-wrapper\" :class=\"rootClasses\">\n\t\t<div\n\t\t\tref=\"filters\"\n\t\t\tclass=\"sdms-search-filters\"\n\t\t\trole=\"group\"\n\t\t\t:aria-label=\"filtersLabel\"\n\t\t\t:aria-describedby=\"searchCountId\"\n\t\t\ttabindex=\"0\"\n\t\t>\n\t\t\t<div v-for=\"( filter, index ) in searchFilters\" :key=\"'filter-' + index\">\n\t\t\t\t<!-- Namespace filter requires special treatment; see below. -->\n\t\t\t\t<!-- Sort filter has slightly different behavior from other\n\t\t\t\tnon-namespace filters because one of the two options\n\t\t\t\t(relevance or recency) must always be selected. For other\n\t\t\t\tfilters, a generic label must be shown whenever their value\n\t\t\t\tis un-set. See T285349 for more context. -->\n\t\t\t\t<sd-select\n\t\t\t\t\tv-if=\"filter.type !== 'namespace'\"\n\t\t\t\t\t:ref=\"filter.type\"\n\t\t\t\t\t:class=\"getFilterClasses( filter.type )\"\n\t\t\t\t\t:name=\"filter.type\"\n\t\t\t\t\t:items=\"filter.items\"\n\t\t\t\t\t:label=\"getFilterDefaultLabel( filter.type )\"\n\t\t\t\t\t:initial-selected-item-index=\"filter.type === 'sort' ? 0 : -1\"\n\t\t\t\t\t:prefix=\"getFilterPrefix( filter.type )\"\n\t\t\t\t\t@select=\"onSelect( $event, filter.type )\"\n\t\t\t\t>\n\t\t\t\t</sd-select>\n\n\t\t\t\t<!-- Namespace filter is represented as a button that\n\t\t\t\tlaunches a modal -->\n\t\t\t\t<cdx-button\n\t\t\t\t\tv-else\n\t\t\t\t\t:key=\"'filter-namespace-' + index\"\n\t\t\t\t\tclass=\"sdms-search-filters__namespace\"\n\t\t\t\t\t:class=\"namespaceFilterClasses\"\n\t\t\t\t\tweight=\"quiet\"\n\t\t\t\t\t@click=\"namespaceFilterDialogActive = true\"\n\t\t\t\t>\n\t\t\t\t\t{{ namespaceFilterLabel }}\n\t\t\t\t</cdx-button>\n\t\t\t</div>\n\n\t\t\t<div class=\"sdms-search-results-count\">\n\t\t\t\t<span v-if=\"showResultsCount\" :id=\"searchCountId\">\n\t\t\t\t\t{{ resultsCount }}\n\t\t\t\t</span>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<namespace-filter-dialog\n\t\t\tv-if=\"namespaceFilter\"\n\t\t\tref=\"namespace\"\n\t\t\t:items=\"namespaceFilter.items\"\n\t\t\t:namespaces=\"namespaceFilter.data.namespaceGroups.all_incl_file\"\n\t\t\t:namespace-groups=\"namespaceFilter.data.namespaceGroups\"\n\t\t\t:active=\"namespaceFilterDialogActive\"\n\t\t\t:initial-value=\"namespaceFilterValue\"\n\t\t\t@submit=\"onSelect( $event, 'namespace' )\"\n\t\t\t@close=\"namespaceFilterDialogActive = false\"\n\t\t>\n\t\t</namespace-filter-dialog>\n\t</div>\n</template>\n\n<script>\n/**\n * @file SearchFilters.vue\n *\n * Container for the search filters for a tab. Displays the filters and handles\n * change in filter value. When a filter value changes, the Vuex state is\n * updated with the new filter value, and a new-search event is emitted so the\n * parent App component can dispatch the search action.\n */\nconst mapState = require( 'vuex' ).mapState,\n\tmapMutations = require( 'vuex' ).mapMutations,\n\tSdSelect = require( './base/Select.vue' ),\n\tNamespaceFilterDialog = require( './NamespaceFilterDialog.vue' ),\n\tSearchFilter = require( '../models/SearchFilter.js' ),\n\tsearchOptions = require( './../data/searchOptions.json' ),\n\tobserver = require( './base/mixins/observer.js' );\n\nconst { CdxButton } = require( '@wikimedia/codex' );\n\n// @vue/component\nmodule.exports = exports = {\n\tname: 'SearchFilters',\n\n\tcomponents: {\n\t\t'sd-select': SdSelect,\n\t\tCdxButton,\n\t\t'namespace-filter-dialog': NamespaceFilterDialog\n\t},\n\n\tmixins: [ observer ],\n\n\tprops: {\n\t\tmediaType: {\n\t\t\ttype: String,\n\t\t\trequired: true\n\t\t}\n\t},\n\n\temits: [\n\t\t'filter-change'\n\t],\n\n\tdata: function () {\n\t\treturn {\n\t\t\tnamespaceFilterDialogActive: false,\n\t\t\t// eslint-disable-next-line vue/no-unused-properties\n\t\t\tobserverOptions: {\n\t\t\t\tthreshold: 1\n\t\t\t},\n\t\t\t// eslint-disable-next-line vue/no-unused-properties\n\t\t\tobserverElement: '.sdms-search-results-count'\n\t\t};\n\t},\n\n\tcomputed: Object.assign( {}, mapState( [\n\t\t'totalHits',\n\t\t'filterValues'\n\t] ), {\n\t\t/**\n\t\t * Due to this component being used multiple times,\n\t\t * we need to ensure the ID is unique\n\t\t *\n\t\t * @return {string}\n\t\t */\n\t\tsearchCountId: function () {\n\t\t\treturn this.mediaType + '-count';\n\t\t},\n\n\t\t/**\n\t\t * @return {string}\n\t\t */\n\t\tfiltersLabel: function () {\n\t\t\treturn this.mediaType + ' filters';\n\t\t},\n\n\t\t/**\n\t\t * @return {Object}\n\t\t */\n\t\trootClasses: function () {\n\t\t\treturn {};\n\t\t},\n\n\t\t/**\n\t\t * @return {Object}\n\t\t */\n\t\tnamespaceFilterClasses: function () {\n\t\t\tconst selected = ( 'namespace' in this.filterValues[ this.mediaType ] );\n\t\t\treturn {\n\t\t\t\t'sdms-search-filters__namespace--selected': selected\n\t\t\t};\n\t\t},\n\n\t\t/**\n\t\t * @return {Array} SearchFilter objects for this media type.\n\t\t */\n\t\tsearchFilters: function () {\n\t\t\tconst optionsForType = searchOptions[ this.mediaType ],\n\t\t\t\tfilters = [];\n\n\t\t\tObject.keys( optionsForType ).forEach( ( filterName ) => {\n\t\t\t\tconst filterData = optionsForType[ filterName ],\n\t\t\t\t\tfilter = new SearchFilter(\n\t\t\t\t\t\tfilterName,\n\t\t\t\t\t\tfilterData.items,\n\t\t\t\t\t\tfilterData.data\n\t\t\t\t\t);\n\t\t\t\tfilters.push( filter );\n\t\t\t} );\n\t\t\treturn filters;\n\t\t},\n\n\t\t/**\n\t\t * Key names (not values) of all active filters for the given tab;\n\t\t * Having a shorthand computed property for this makes it easier to\n\t\t * watch for changes.\n\t\t *\n\t\t * @return {Array} Empty array or [ \"imageres\", \"filemime\" ], etc\n\t\t */\n\t\tcurrentActiveFilters: function () {\n\t\t\treturn Object.keys( this.filterValues[ this.mediaType ] );\n\t\t},\n\n\t\t/**\n\t\t * Number of results should only display if results exist.\n\t\t *\n\t\t * @return {boolean} Whether to display the results count\n\t\t */\n\t\tshowResultsCount: function () {\n\t\t\treturn this.totalHits[ this.mediaType ] > 0;\n\t\t},\n\n\t\t/**\n\t\t * String representing the number of search results.\n\t\t *\n\t\t * @return {Object} Message object\n\t\t */\n\t\tresultsCount: function () {\n\t\t\treturn this.$i18n(\n\t\t\t\t'mediasearch-results-count',\n\t\t\t\tmw.language.convertNumber( this.totalHits[ this.mediaType ] )\n\t\t\t).text();\n\t\t},\n\n\t\t/**\n\t\t * Get a human-readable label for the namespace filter button.\n\t\t *\n\t\t * @return {Object}\n\t\t */\n\t\tnamespaceFilterLabel: function () {\n\t\t\tconst namespaceGroups = this.namespaceFilter.data.namespaceGroups;\n\t\t\tlet filterValue = 'all';\n\n\t\t\t// If there is a namespace filter value...\n\t\t\tif ( 'namespace' in this.filterValues[ this.mediaType ] ) {\n\t\t\t\t// If the filter value is one of the namespace groups, use that.\n\t\t\t\t// Otherwise, it's a string of custom namespaces, so use the\n\t\t\t\t// 'custom' label.\n\t\t\t\tfilterValue = namespaceGroups[ this.filterValues[ this.mediaType ].namespace ] ?\n\t\t\t\t\tthis.filterValues[ this.mediaType ].namespace : 'custom';\n\t\t\t}\n\n\t\t\tconst messageKey = 'mediasearch-filter-namespace-' + filterValue;\n\n\t\t\t// Return the label message, which takes the filter value as a\n\t\t\t// param and will return something like \"Namespace: Discussion\".\n\t\t\t// The following messages are used here:\n\t\t\t// * mediasearch-filter-namespace-all\n\t\t\t// * mediasearch-filter-namespace-discussion\n\t\t\t// * mediasearch-filter-namespace-help\n\t\t\t// * mediasearch-filter-namespace-custom\n\t\t\treturn this.$i18n(\n\t\t\t\t'mediasearch-filter-namespace-label',\n\t\t\t\tthis.$i18n( messageKey )\n\t\t\t).text();\n\t\t},\n\n\t\t/**\n\t\t * Current value of the namespace filter (defaults to 'all').\n\t\t *\n\t\t * @return {string}\n\t\t */\n\t\tnamespaceFilterValue: function () {\n\t\t\treturn 'namespace' in this.filterValues[ this.mediaType ] ?\n\t\t\t\tthis.filterValues[ this.mediaType ].namespace : 'all';\n\t\t},\n\n\t\t/**\n\t\t * Get the namespace search filter, if it exists.\n\t\t *\n\t\t * @return {Object|undefined}\n\t\t */\n\t\tnamespaceFilter: function () {\n\t\t\t// Array.prototype.find is polyfilled so we can use this\n\t\t\t// ES6 array method here\n\n\t\t\treturn this.searchFilters.find( ( filter ) => filter.type === 'namespace' );\n\t\t}\n\t} ),\n\n\tmethods: Object.assign( {}, mapMutations( [\n\t\t'addFilterValue',\n\t\t'removeFilterValue'\n\t] ), {\n\t\t/**\n\t\t * Handle filter change.\n\t\t *\n\t\t * @param {string|Object} value The new filter value; namespace filter values are objects\n\t\t * @param {string} filterType\n\t\t * @fires filter-change\n\t\t */\n\t\tonSelect: function ( value, filterType ) {\n\t\t\tconst oldValue = this.filterValues[ this.mediaType ][ filterType ] || '',\n\t\t\t\tcurrentFilter = this.searchFilters.find( ( filter ) => filter.type === filterType );\n\n\t\t\t// for logging purposes, we only want a simple string value\n\t\t\tfunction normalizedValue( v ) {\n\t\t\t\treturn v.value ? v.value : v;\n\t\t\t}\n\n\t\t\tif ( value ) {\n\t\t\t\tthis.addFilterValue( {\n\t\t\t\t\tmediaType: this.mediaType,\n\t\t\t\t\tfilterType: filterType,\n\t\t\t\t\tvalue: value\n\t\t\t\t} );\n\t\t\t\t/* eslint-disable camelcase */\n\t\t\t\tthis.$log( {\n\t\t\t\t\taction: 'filter_change',\n\t\t\t\t\tsearch_media_type: this.mediaType,\n\t\t\t\t\tsearch_filter_type: filterType,\n\t\t\t\t\tsearch_filter_value: normalizedValue( value ),\n\t\t\t\t\tprior_search_filter_type: filterType,\n\t\t\t\t\tprior_search_filter_value: normalizedValue( oldValue )\n\t\t\t\t} );\n\t\t\t\t/* eslint-enable camelcase */\n\t\t\t} else {\n\t\t\t\tthis.removeFilterValue( {\n\t\t\t\t\tmediaType: this.mediaType,\n\t\t\t\t\tfilterType: filterType\n\t\t\t\t} );\n\n\t\t\t\t// Un-set the filter so that the initial label is displayed\n\t\t\t\t// when an \"empty value\" option is selected\n\t\t\t\tthis.getRef( currentFilter ).reset();\n\n\t\t\t\t/* eslint-disable camelcase */\n\t\t\t\tthis.$log( {\n\t\t\t\t\taction: 'filter_change',\n\t\t\t\t\tsearch_media_type: this.mediaType,\n\t\t\t\t\tsearch_filter_type: filterType,\n\t\t\t\t\tsearch_filter_value: '',\n\t\t\t\t\tprior_search_filter_type: filterType,\n\t\t\t\t\tprior_search_filter_value: normalizedValue( oldValue )\n\t\t\t\t} );\n\t\t\t\t/* eslint-enable camelcase */\n\t\t\t}\n\n\t\t\t// Tell the App component to do a new search and update the URL\n\t\t\t// params\n\t\t\tthis.$emit( 'filter-change', {\n\t\t\t\tmediaType: this.mediaType,\n\t\t\t\tfilterType: filterType,\n\t\t\t\tvalue: value\n\t\t\t} );\n\t\t},\n\n\t\t/**\n\t\t * We need a class for select lists where a non-default item is selected.\n\t\t *\n\t\t * @param {string} filterType\n\t\t * @return {Object}\n\t\t */\n\t\tgetFilterClasses: function ( filterType ) {\n\t\t\treturn {\n\t\t\t\t'sdms-search-filter--selected': this.currentActiveFilters.includes( filterType )\n\t\t\t};\n\t\t},\n\n\t\t/**\n\t\t * Add select list prefixes per filter type.\n\t\t *\n\t\t * @param {string} filterType\n\t\t * @return {mw.Message} message object\n\t\t */\n\t\tgetFilterPrefix: function ( filterType ) {\n\t\t\tif ( filterType === 'sort' ) {\n\t\t\t\treturn this.$i18n( 'mediasearch-filter-sort-label' ).text();\n\t\t\t}\n\n\t\t\treturn '';\n\t\t},\n\n\t\t/**\n\t\t * @param {string} filterType\n\t\t * @return {mw.Message} message object\n\t\t */\n\t\tgetFilterDefaultLabel: function ( filterType ) {\n\t\t\tswitch ( filterType ) {\n\t\t\t\tcase 'filemime':\n\t\t\t\t\treturn this.$i18n( 'mediasearch-filter-file-type' ).text();\n\t\t\t\tcase 'fileres':\n\t\t\t\t\treturn this.$i18n( 'mediasearch-filter-size' ).text();\n\t\t\t\tcase 'assessment':\n\t\t\t\t\treturn this.$i18n( 'mediasearch-filter-assessment' ).text();\n\t\t\t\tcase 'haslicense':\n\t\t\t\t\treturn this.$i18n( 'mediasearch-filter-license' ).text();\n\t\t\t\tdefault:\n\t\t\t\t\treturn;\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Get the ref for a filter.\n\t\t *\n\t\t * Because the namespace filter is handled outside the v-for loop that\n\t\t * creates the other filter elements, we need to access its ref a little\n\t\t * differently.\n\t\t *\n\t\t * @param {Object} filter A search filter object\n\t\t * @return {Object}\n\t\t */\n\t\tgetRef: function ( filter ) {\n\t\t\treturn filter.type === 'namespace' ?\n\t\t\t\tthis.$refs[ filter.type ] :\n\t\t\t\t// VUE 3 MIGRATION: these refs are arrays in Vue 2 but not in Vue 3\n\t\t\t\tthis.$refs[ filter.type ][ 0 ] || this.$refs[ filter.type ];\n\t\t},\n\n\t\tresetAllFilters: function () {\n\t\t\tthis.searchFilters.forEach( ( filter ) => {\n\t\t\t\tthis.getRef( filter ).reset();\n\t\t\t} );\n\t\t},\n\n\t\t/**\n\t\t * Set each filter component's state to match the appropriate\n\t\t * value in Vuex\n\t\t */\n\t\tsynchronizeFilters: function () {\n\t\t\tthis.searchFilters.forEach( ( filter ) => {\n\t\t\t\tconst currentValue = this.filterValues[ this.mediaType ][ filter.type ],\n\t\t\t\t\tref = this.getRef( filter );\n\n\t\t\t\tif ( currentValue ) {\n\t\t\t\t\t// Attempt to set each filter to the specified value in\n\t\t\t\t\t// Vuex. If the value doesn't exist, remove the value from\n\t\t\t\t\t// the Vuex store and emit a filter-change event so that the\n\t\t\t\t\t// page and URL get updated.\n\t\t\t\t\ttry {\n\t\t\t\t\t\tref.select( currentValue );\n\t\t\t\t\t} catch ( e ) {\n\t\t\t\t\t\tthis.removeFilterValue( {\n\t\t\t\t\t\t\tmediaType: this.mediaType,\n\t\t\t\t\t\t\tfilterType: filter.type\n\t\t\t\t\t\t} );\n\t\t\t\t\t\tthis.$emit( 'filter-change', {\n\t\t\t\t\t\t\tmediaType: this.mediaType,\n\t\t\t\t\t\t\tfilterType: filter.type\n\t\t\t\t\t\t} );\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tref.reset();\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\t} ),\n\n\twatch: {\n\t\t/**\n\t\t * Programmatically set or reset filters if Vuex state changes for\n\t\t * reasons other than the user setting filters manually (clicking the\n\t\t * clear button, URL filter params, popstate, etc)\n\t\t */\n\t\tcurrentActiveFilters: {\n\t\t\thandler: function () {\n\t\t\t\tthis.synchronizeFilters();\n\t\t\t},\n\t\t\tdeep: true\n\t\t}\n\t},\n\n\t/**\n\t * If filters have already been set at the time of page initialization\n\t * via URL params, update the relevant Select child component with\n\t * the appropriate value\n\t */\n\tmounted: function () {\n\t\tthis.synchronizeFilters();\n\t}\n};\n</script>\n","usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"vue/component-tags-order","replacedBy":["block-order"]},{"ruleId":"vue/no-invalid-model-keys","replacedBy":["valid-model-definition"]},{"ruleId":"vue/v-on-function-call","replacedBy":["v-on-handler-style"]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/components/SearchResults.vue","messages":[],"suppressedMessages":[{"ruleId":"camelcase","severity":2,"message":"Identifier 'search_media_type' is not in camel case.","line":348,"column":7,"nodeType":"Identifier","messageId":"notCamelCase","endLine":348,"endColumn":24,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'search_result_page_title' is not in camel case.","line":349,"column":7,"nodeType":"Identifier","messageId":"notCamelCase","endLine":349,"endColumn":31,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'search_result_position' is not in camel case.","line":350,"column":7,"nodeType":"Identifier","messageId":"notCamelCase","endLine":350,"endColumn":29,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'search_result_has_quickview' is not in camel case.","line":351,"column":7,"nodeType":"Identifier","messageId":"notCamelCase","endLine":351,"endColumn":34,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-unused-vars","severity":2,"message":"'title' is defined but never used.","line":548,"column":29,"nodeType":"Identifier","messageId":"unusedVar","endLine":548,"endColumn":34,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-unused-vars","severity":2,"message":"'index' is defined but never used.","line":548,"column":36,"nodeType":"Identifier","messageId":"unusedVar","endLine":548,"endColumn":41,"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"vue/component-tags-order","replacedBy":["block-order"]},{"ruleId":"vue/no-invalid-model-keys","replacedBy":["valid-model-definition"]},{"ruleId":"vue/v-on-function-call","replacedBy":["v-on-handler-style"]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/components/SearchWarnings.vue","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"vue/component-tags-order","replacedBy":["block-order"]},{"ruleId":"vue/no-invalid-model-keys","replacedBy":["valid-model-definition"]},{"ruleId":"vue/v-on-function-call","replacedBy":["v-on-handler-style"]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/components/Spinner.vue","messages":[],"suppressedMessages":[{"ruleId":"vue/multi-word-component-names","severity":2,"message":"Component name \"Spinner\" should always be multi-word.","line":11,"column":8,"nodeType":"Literal","messageId":"unexpected","endLine":11,"endColumn":17,"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"vue/component-tags-order","replacedBy":["block-order"]},{"ruleId":"vue/no-invalid-model-keys","replacedBy":["valid-model-definition"]},{"ruleId":"vue/v-on-function-call","replacedBy":["v-on-handler-style"]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/components/UserNotice.vue","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"vue/component-tags-order","replacedBy":["block-order"]},{"ruleId":"vue/no-invalid-model-keys","replacedBy":["valid-model-definition"]},{"ruleId":"vue/v-on-function-call","replacedBy":["v-on-handler-style"]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/components/base/AutocompleteSearchInput.vue","messages":[{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'input' is undefined.","line":259,"column":1,"nodeType":"Block","endLine":259,"endColumn":1},{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'enter' is undefined.","line":291,"column":1,"nodeType":"Block","endLine":291,"endColumn":1},{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'submit' is undefined.","line":310,"column":1,"nodeType":"Block","endLine":310,"endColumn":1}],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":3,"fixableErrorCount":0,"fixableWarningCount":0,"source":"<template>\n\t<div class=\"sd-input\" :class=\"rootClasses\">\n\t\t<div class=\"sd-input__wrapper\">\n\t\t\t<label\n\t\t\t\t:id=\"labelElementId\"\n\t\t\t\t:for=\"inputElementId\"\n\t\t\t\tclass=\"sd-input__label\"\n\t\t\t>\n\t\t\t\t{{ label }}\n\t\t\t</label>\n\n\t\t\t<cdx-text-input\n\t\t\t\t:id=\"inputElementId\"\n\t\t\t\tref=\"input\"\n\t\t\t\tv-model=\"value\"\n\t\t\t\tclass=\"sd-input__input\"\n\t\t\t\ttype=\"text\"\n\t\t\t\taria-autocomplete=\"list\"\n\t\t\t\t:aria-owns=\"lookupResultsElementId\"\n\t\t\t\t:aria-expanded=\"isExpanded\"\n\t\t\t\t:aria-activedescendant=\"activeLookupItemId || null\"\n\t\t\t\t:placeholder=\"placeholder\"\n\t\t\t\t:start-icon=\"cdxIconSearch\"\n\t\t\t\t:clearable=\"true\"\n\t\t\t\t@input=\"onInput\"\n\t\t\t\t@focus=\"onFocus\"\n\t\t\t\t@blur=\"onBlur\"\n\t\t\t\t@keydown.enter=\"onSubmit\"\n\t\t\t\t@keydown.up=\"onArrowUp\"\n\t\t\t\t@keydown.down=\"onArrowDown\"\n\t\t\t\t@clear=\"onClear\"\n\t\t\t>\n\t\t\t</cdx-text-input>\n\n\t\t\t<sd-select-menu\n\t\t\t\tv-if=\"hasLookupResults && showLookupResults\"\n\t\t\t\t:items=\"lookupResults\"\n\t\t\t\t:active-item-index=\"activeLookupItemIndex\"\n\t\t\t\t:listbox-id=\"lookupResultsElementId\"\n\t\t\t\t:labelled-by=\"labelElementId\"\n\t\t\t\t@select=\"onLookupItemSelect\"\n\t\t\t\t@active-item-change=\"onActiveItemChange\"\n\t\t\t>\n\t\t\t</sd-select-menu>\n\t\t</div>\n\n\t\t<cdx-button\n\t\t\tv-if=\"hasButton\"\n\t\t\tclass=\"sd-input__button\"\n\t\t\tweight=\"primary\"\n\t\t\taction=\"progressive\"\n\t\t\t@click=\"onSubmit\"\n\t\t>\n\t\t\t{{ $i18n( 'searchbutton' ).text() }}\n\t\t</cdx-button>\n\t</div>\n</template>\n\n<script>\nconst { CdxButton, CdxTextInput } = require( '@wikimedia/codex' );\nconst SdSelectMenu = require( './SelectMenu.vue' );\nconst { cdxIconSearch } = require( '../icons.json' );\n\n/**\n * @file AutocompleteSearchInput\n *\n * Search input that emits user-provided input to the parent, then receives and\n * displays autocomplete results. This component is fairly specific to the Media\n * Search use case: we know we'll be fetching autocomplete results, we'll always\n * have a search icon and clear indicator button, etc. This could be made more\n * general for wider usage.\n */\n// @vue/component\nmodule.exports = exports = {\n\tname: 'SdAutocompleteSearchInput',\n\n\tcomponents: {\n\t\tCdxButton,\n\t\tCdxTextInput,\n\t\t'sd-select-menu': SdSelectMenu\n\t},\n\n\tprops: {\n\t\t/**\n\t\t * Name must be provided to ensure unique aria attributes. This probably\n\t\t * isn't the best way to do it in WVUI but serves our purposes here.\n\t\t */\n\t\tname: {\n\t\t\ttype: String,\n\t\t\trequired: true\n\t\t},\n\n\t\t/**\n\t\t * Required label for input. Currently, label will always be visually\n\t\t * hidden, but this could be toggled via a prop in a future iteration.\n\t\t */\n\t\tlabel: {\n\t\t\ttype: [ String, Object ],\n\t\t\trequired: true\n\t\t},\n\n\t\tinitialValue: {\n\t\t\ttype: [ String, Number ],\n\t\t\tdefault: ''\n\t\t},\n\n\t\tplaceholder: {\n\t\t\ttype: [ String, Object ],\n\t\t\tdefault: null\n\t\t},\n\n\t\tbuttonLabel: {\n\t\t\ttype: [ String, Object ],\n\t\t\tdefault: null\n\t\t},\n\n\t\tlookupResults: {\n\t\t\ttype: Array,\n\t\t\tdefault: function () {\n\t\t\t\treturn [ ];\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * This is an optional way to conditonally disable the animation shown\n\t\t * in the input while lookup results are fetched.\n\t\t *\n\t\t * For example, in the parent component, you can check to see if your\n\t\t * lookup URI exists. If not, you can pass true for this prop.\n\t\t */\n\t\tlookupDisabled: {\n\t\t\ttype: Boolean\n\t\t},\n\t\t/**\n\t\t * This property is going to be used to set focus on the input field\n\t\t */\n\t\tinitialized: {\n\t\t\ttype: Boolean,\n\t\t\trequired: true\n\t\t}\n\t},\n\n\temits: [\n\t\t'input',\n\t\t'focus',\n\t\t'blur',\n\t\t'submit',\n\t\t'clear',\n\t\t'clear-lookup-results'\n\t],\n\n\tdata: function () {\n\t\treturn {\n\t\t\tvalue: this.initialValue,\n\t\t\tpending: false,\n\t\t\tshowLookupResults: false,\n\t\t\tactiveLookupItemIndex: -1,\n\t\t\tcdxIconSearch\n\t\t};\n\t},\n\n\tcomputed: {\n\t\t/**\n\t\t * @return {Object}\n\t\t */\n\t\trootClasses: function () {\n\t\t\treturn {\n\t\t\t\t'sd-input--button': this.hasButton,\n\t\t\t\t'sd-input--pending': this.pending\n\t\t\t};\n\t\t},\n\n\t\t/**\n\t\t * @return {boolean}\n\t\t */\n\t\thasButton: function () {\n\t\t\treturn !!this.buttonLabel;\n\t\t},\n\n\t\t/**\n\t\t * @return {boolean}\n\t\t */\n\t\thasLookupResults: function () {\n\t\t\treturn this.lookupResults.length > 0;\n\t\t},\n\n\t\t/**\n\t\t * ID of the visually-hidden label.\n\t\t *\n\t\t * @return {string}\n\t\t */\n\t\tlabelElementId: function () {\n\t\t\treturn this.name + '__label';\n\t\t},\n\n\t\t/**\n\t\t * ID of the input.\n\t\t *\n\t\t * @return {string}\n\t\t */\n\t\tinputElementId: function () {\n\t\t\treturn this.name + '__input';\n\t\t},\n\n\t\t/**\n\t\t * ID of the lookup results container.\n\t\t *\n\t\t * @return {string}\n\t\t */\n\t\tlookupResultsElementId: function () {\n\t\t\treturn this.name + '__lookup-results';\n\t\t},\n\n\t\t/**\n\t\t * The actual string of the active lookup result item.\n\t\t *\n\t\t * @return {string}\n\t\t */\n\t\tactiveLookupItem: function () {\n\t\t\tif (\n\t\t\t\tthis.lookupResults.length < 1 ||\n\t\t\t\t!this.showLookupResults ||\n\t\t\t\tthis.activeLookupItemIndex < 0\n\t\t\t) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\treturn this.lookupResults[ this.activeLookupItemIndex ];\n\t\t},\n\n\t\t/**\n\t\t * The ID of the element of the active lookup result item.\n\t\t *\n\t\t * @return {string|boolean}\n\t\t */\n\t\tactiveLookupItemId: function () {\n\t\t\treturn this.activeLookupItemIndex > -1 ?\n\t\t\t\tthis.lookupResultsElementId + '-item-' + this.activeLookupItemIndex :\n\t\t\t\tfalse;\n\t\t},\n\n\t\t/**\n\t\t * For the aria-expanded attribute of the input, we need to use strings\n\t\t * instead of booleans so that aria-expanded will be set to \"false\" when\n\t\t * appropriate rather than the attribute being omitted, which is what\n\t\t * would happen if we used a boolean false.\n\t\t *\n\t\t * @return {string}\n\t\t */\n\t\tisExpanded: function () {\n\t\t\treturn this.hasLookupResults && this.showLookupResults ? 'true' : 'false';\n\t\t}\n\t},\n\n\tmethods: {\n\t\t/**\n\t\t * Emit input and enable pending state.\n\t\t *\n\t\t * @fires input\n\t\t */\n\t\tonInput: function () {\n\t\t\tthis.pending = !this.lookupDisabled;\n\t\t\tthis.$emit( 'input', this.value );\n\t\t},\n\n\t\t/**\n\t\t * If there are existing lookup results, show them on focus.\n\t\t *\n\t\t * @param {Event} event\n\t\t * @fires focus\n\t\t */\n\t\tonFocus: function ( event ) {\n\t\t\tthis.toggleLookupResults( this.lookupResults.length > 0 );\n\t\t\tthis.$emit( 'focus', event );\n\t\t},\n\n\t\t/**\n\t\t * Hide, but don't delete, lookup results.\n\t\t *\n\t\t * @param {Event} event\n\t\t * @fires blur\n\t\t */\n\t\tonBlur: function ( event ) {\n\t\t\tthis.$emit( 'blur', event );\n\t\t\tthis.toggleLookupResults( false );\n\t\t},\n\n\t\t/**\n\t\t * Handle enter keypress or button click.\n\t\t *\n\t\t * @fires enter\n\t\t */\n\t\tonSubmit: function () {\n\t\t\t// If the user is highlighting an autocomplete result, emit that\n\t\t\t// result. Otherwise, emit the value of the text input.\n\t\t\tif ( this.hasLookupResults && this.activeLookupItemIndex >= 0 ) {\n\t\t\t\t// We also want to update the input text.\n\t\t\t\tthis.value = this.activeLookupItem;\n\t\t\t}\n\n\t\t\tthis.$emit( 'submit', this.value );\n\t\t\tthis.clearLookupResults();\n\t\t\tthis.$refs.input.blur();\n\t\t},\n\n\t\t/**\n\t\t * Handle lookup item click.\n\t\t *\n\t\t * @param {number} index\n\t\t * @fires submit\n\t\t */\n\t\tonLookupItemSelect: function ( index ) {\n\t\t\tthis.value = this.lookupResults[ index ];\n\t\t\tthis.$emit( 'submit', this.value );\n\t\t\tthis.clearLookupResults();\n\t\t},\n\n\t\t/**\n\t\t * Move to the next lookup result. If we're at the end, go back to the\n\t\t * first item.\n\t\t */\n\t\tonArrowDown: function () {\n\t\t\tconst index = this.activeLookupItemIndex;\n\t\t\tif ( this.hasLookupResults ) {\n\t\t\t\tthis.activeLookupItemIndex =\n\t\t\t\t\tthis.lookupResults.length > index + 1 ? index + 1 : 0;\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Move to the previous lookup result. If we're at the beginning, go to\n\t\t * the last item.\n\t\t */\n\t\tonArrowUp: function () {\n\t\t\tconst index = this.activeLookupItemIndex;\n\t\t\tif ( this.hasLookupResults && index > -1 ) {\n\t\t\t\tthis.activeLookupItemIndex =\n\t\t\t\t\tindex === 0 ? this.lookupResults.length - 1 : index - 1;\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Change the active item index based on mouseover or mouseleave.\n\t\t *\n\t\t * @param {number} index\n\t\t */\n\t\tonActiveItemChange: function ( index ) {\n\t\t\tthis.activeLookupItemIndex = index;\n\t\t},\n\n\t\t/**\n\t\t * Handle clear icon click.\n\t\t */\n\t\tonClear: function () {\n\t\t\tthis.$emit( 'clear' );\n\t\t\tthis.value = '';\n\t\t\tthis.clearLookupResults();\n\t\t},\n\n\t\t/**\n\t\t * Helper function to reset lookup results to an empty array.\n\t\t */\n\t\tclearLookupResults: function () {\n\t\t\tthis.$emit( 'clear-lookup-results' );\n\t\t},\n\n\t\t/**\n\t\t * Show or hide lookup results.\n\t\t *\n\t\t * @param {boolean} show\n\t\t */\n\t\ttoggleLookupResults: function ( show ) {\n\t\t\tthis.showLookupResults = show;\n\t\t}\n\t},\n\n\twatch: {\n\t\t/**\n\t\t * When new lookup results are received, remove pending state and reset\n\t\t * the active item index.\n\t\t */\n\t\tlookupResults: {\n\t\t\thandler: function () {\n\t\t\t\tthis.pending = false;\n\t\t\t\tthis.activeLookupItemIndex = -1;\n\t\t\t\tthis.toggleLookupResults( this.lookupResults.length > 0 );\n\t\t\t},\n\t\t\tdeep: true\n\t\t},\n\n\t\t/**\n\t\t * If the search term (passed down here as the \"initial value\" prop)\n\t\t * changes for a reason besides the user typing into the input here\n\t\t * (say, due to navigating forward/backward through history), make\n\t\t * sure to update the value here to reflect the new term\n\t\t *\n\t\t * @param {string} newValue\n\t\t */\n\t\tinitialValue: function ( newValue ) {\n\t\t\tthis.value = newValue;\n\t\t},\n\n\t\t/**\n\t\t * Clear lookup results if the user manually delets all characters\n\t\t *\n\t\t * @param {string} newValue\n\t\t */\n\t\tvalue: function ( newValue ) {\n\t\t\tif ( newValue === '' ) {\n\t\t\t\tthis.clearLookupResults();\n\t\t\t}\n\t\t},\n\n\t\tinitialized: function ( isInitalized ) {\n\t\t\tif ( isInitalized && !this.initialValue.trim() ) {\n\t\t\t\tthis.$refs.input.focus();\n\t\t\t}\n\t\t}\n\t}\n};\n</script>\n","usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"vue/component-tags-order","replacedBy":["block-order"]},{"ruleId":"vue/no-invalid-model-keys","replacedBy":["valid-model-definition"]},{"ruleId":"vue/v-on-function-call","replacedBy":["v-on-handler-style"]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/components/base/CopyTextLayout.vue","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"vue/component-tags-order","replacedBy":["block-order"]},{"ruleId":"vue/no-invalid-model-keys","replacedBy":["valid-model-definition"]},{"ruleId":"vue/v-on-function-call","replacedBy":["v-on-handler-style"]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/components/base/Dialog.vue","messages":[{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'progress' is undefined.","line":193,"column":1,"nodeType":"Block","endLine":193,"endColumn":1},{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'key' is undefined.","line":201,"column":1,"nodeType":"Block","endLine":201,"endColumn":1},{"ruleId":"jsdoc/valid-types","severity":1,"message":"Syntax error in namepath: close|key","line":201,"column":1,"nodeType":"Block","endLine":201,"endColumn":1}],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":3,"fixableErrorCount":0,"fixableWarningCount":0,"source":"<template>\n\t<div class=\"sd-dialog-wrapper\">\n\t\t<transition name=\"sd-scale\" appear>\n\t\t\t<div\n\t\t\t\tv-if=\"active\"\n\t\t\t\tclass=\"sd-dialog\"\n\t\t\t\t:class=\"rootClasses\"\n\t\t\t\trole=\"dialog\"\n\t\t\t\taria-fullscreen=\"true\"\n\t\t\t\t@keyup=\"onKeyup\"\n\t\t\t>\n\t\t\t\t<div class=\"sd-dialog__overlay\" @click=\"close\"></div>\n\t\t\t\t<div ref=\"landing\" tabindex=\"0\"></div>\n\t\t\t\t<div class=\"sd-dialog__shell\">\n\t\t\t\t\t<div v-if=\"!headless\" class=\"sd-dialog__header\">\n\t\t\t\t\t\t<div v-if=\"title\" class=\"sd-dialog__header-title\">\n\t\t\t\t\t\t\t{{ title }}\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t<cdx-button\n\t\t\t\t\t\t\t:aria-label=\"$i18n( 'mediasearch-dialog-close-button-label' )\"\n\t\t\t\t\t\t\tclass=\"sd-dialog__header-action--safe\"\n\t\t\t\t\t\t\tweight=\"quiet\"\n\t\t\t\t\t\t\t@click=\"close\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<cdx-icon :icon=\"closeIcon\"></cdx-icon>\n\t\t\t\t\t\t</cdx-button>\n\n\t\t\t\t\t\t<cdx-button\n\t\t\t\t\t\t\tv-if=\"isMobileSkin && progressiveAction\"\n\t\t\t\t\t\t\tclass=\"sd-dialog__header-action--progressive\"\n\t\t\t\t\t\t\tweight=\"primary\"\n\t\t\t\t\t\t\taction=\"progressive\"\n\t\t\t\t\t\t\t:disabled=\"progressiveActionDisabled\"\n\t\t\t\t\t\t\t@click=\"progress\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{{ progressiveAction }}\n\t\t\t\t\t\t</cdx-button>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div\n\t\t\t\t\t\tclass=\"sd-dialog__body\"\n\t\t\t\t\t\t:class=\"bodyClasses\"\n\t\t\t\t\t\ttabindex=\"-1\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<div class=\"sd-dialog__body__content\">\n\t\t\t\t\t\t\t<slot></slot>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div class=\"sd-dialog__footer\">\n\t\t\t\t\t\t<cdx-button\n\t\t\t\t\t\t\tv-if=\"!isMobileSkin && progressiveAction\"\n\t\t\t\t\t\t\tclass=\"sd-dialog__footer-action--progressive\"\n\t\t\t\t\t\t\tweight=\"primary\"\n\t\t\t\t\t\t\taction=\"progressive\"\n\t\t\t\t\t\t\t:disabled=\"progressiveActionDisabled\"\n\t\t\t\t\t\t\t@click=\"progress\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{{ progressiveAction }}\n\t\t\t\t\t\t</cdx-button>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</transition>\n\t</div>\n</template>\n\n<script>\nconst { CdxButton, CdxIcon } = require( '@wikimedia/codex' );\nconst { cdxIconClose } = require( '../icons.json' );\n\n/**\n * Dialog component.\n *\n * This component will append its element to the end of the <body> on mount.\n * When the active prop is true, the dialog will display, with CSS transitions\n * during open and close. See prop documentation for more details.\n *\n * Known shortcomings:\n * - We have not yet handled the use of components that have overlays inside\n * this dialog, so you may find that things like select list menus get cut off\n * due to CSS overflow rules.\n * - Whether the dialog is fullscreen is determined based on the skin (it will\n * be fullscreen if the skin is Minerva Neue), you can't control this via a\n * prop\n * - Dialog min-height should be set via CSS to something natural-looking. In\n * the future, we should handle this within the dialog component to size the\n * height according to the body content height and the viewport size.\n * - The dialog can display a progressive action, but handling a destructive\n * action has not yet been implemented.\n */\n// @vue/component\nmodule.exports = exports = {\n\tname: 'SdDialog',\n\n\tcomponents: {\n\t\tCdxButton,\n\t\tCdxIcon\n\t},\n\n\tprops: {\n\t\t/**\n\t\t * Whether the dialog is visible.\n\t\t */\n\t\tactive: {\n\t\t\ttype: Boolean\n\t\t},\n\n\t\t/**\n\t\t * Title to appear in the dialog header.\n\t\t */\n\t\ttitle: {\n\t\t\t// String or mw.msg object.\n\t\t\ttype: [ String, Object ],\n\t\t\tdefault: null\n\t\t},\n\n\t\t/**\n\t\t * Label for the progressive action.\n\t\t */\n\t\tprogressiveAction: {\n\t\t\t// String or mw.msg object.\n\t\t\ttype: [ String, Object ],\n\t\t\tdefault: ''\n\t\t},\n\n\t\t/**\n\t\t * Whether to disable the progresive action button\n\t\t */\n\t\tprogressiveActionDisabled: {\n\t\t\ttype: Boolean\n\t\t},\n\n\t\t/**\n\t\t * Set to true to remove the header (and, therefore, the built-in close\n\t\t * button).\n\t\t */\n\t\theadless: {\n\t\t\ttype: Boolean\n\t\t}\n\t},\n\n\temits: [\n\t\t'close',\n\t\t'progress',\n\t\t'key'\n\t],\n\n\tdata: function () {\n\t\treturn {\n\t\t\tcloseIcon: cdxIconClose,\n\t\t\tfullscreen: mw.config.get( 'skin' ) === 'minerva'\n\t\t};\n\t},\n\n\tcomputed: {\n\t\t/**\n\t\t * @return {Object}\n\t\t */\n\t\trootClasses: function () {\n\t\t\treturn {\n\t\t\t\t'sd-dialog--fullscreen': this.fullscreen\n\t\t\t};\n\t\t},\n\n\t\t/**\n\t\t * @return {Object}\n\t\t */\n\t\tbodyClasses: function () {\n\t\t\treturn {\n\t\t\t\t'sd-dialog__body--headless': this.headless\n\t\t\t};\n\t\t},\n\n\t\t/**\n\t\t * @return {boolean}\n\t\t */\n\t\tisMobileSkin: function () {\n\t\t\treturn mw.config.get( 'skin' ) === 'minerva';\n\t\t}\n\t},\n\n\tmethods: {\n\t\t/**\n\t\t * @fires close\n\t\t */\n\t\tclose: function () {\n\t\t\tthis.$emit( 'close' );\n\t\t},\n\n\t\t/**\n\t\t * @fires progress\n\t\t */\n\t\tprogress: function () {\n\t\t\tthis.$emit( 'progress' );\n\t\t},\n\n\t\t/**\n\t\t * @param {KeyboardEvent} e\n\t\t * @fires close|key\n\t\t */\n\t\tonKeyup: function ( e ) {\n\t\t\tif ( e.code === 'Escape' || e.code === '27' ) {\n\t\t\t\tthis.$emit( 'close' );\n\t\t\t} else {\n\t\t\t\tthis.$emit( 'key', e.code );\n\t\t\t}\n\t\t}\n\t},\n\n\twatch: {\n\t\tactive: function ( newVal ) {\n\t\t\tif ( newVal === true ) {\n\t\t\t\t// Add a class to the body so we can hide overflow, preventing\n\t\t\t\t// confusing scrolling behavior.\n\t\t\t\tdocument.body.classList.add( 'sd-body--open-dialog' );\n\n\t\t\t\t// Move focus to the dialog element.\n\t\t\t\tthis.$nextTick( function () {\n\t\t\t\t\tthis.$refs.landing.focus();\n\t\t\t\t} );\n\t\t\t} else {\n\t\t\t\tdocument.body.classList.remove( 'sd-body--open-dialog' );\n\t\t\t}\n\t\t}\n\t},\n\n\tmounted: function () {\n\t\t// Add this component to the end of the body element.\n\t\tdocument.body.appendChild( this.$el );\n\t},\n\n\tbeforeUnmount: function () {\n\t\t// Remove lingering body class and the element itself.\n\t\tdocument.body.classList.remove( 'sd-body--open-dialog' );\n\t\tdocument.body.removeChild( this.$el );\n\t}\n};\n</script>\n","usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"vue/component-tags-order","replacedBy":["block-order"]},{"ruleId":"vue/no-invalid-model-keys","replacedBy":["valid-model-definition"]},{"ruleId":"vue/v-on-function-call","replacedBy":["v-on-handler-style"]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/components/base/Image.vue","messages":[],"suppressedMessages":[{"ruleId":"vue/no-unused-properties","severity":2,"message":"'observerOptions' of data found, but never used.","line":55,"column":4,"nodeType":"Identifier","messageId":"unused","endLine":55,"endColumn":19,"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"vue/component-tags-order","replacedBy":["block-order"]},{"ruleId":"vue/no-invalid-model-keys","replacedBy":["valid-model-definition"]},{"ruleId":"vue/v-on-function-call","replacedBy":["v-on-handler-style"]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/components/base/Observer.vue","messages":[],"suppressedMessages":[{"ruleId":"vue/require-default-prop","severity":1,"message":"Prop 'options' requires default value to be set.","line":31,"column":3,"nodeType":"Property","messageId":"missingDefault","endLine":31,"endColumn":18,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"vue/no-unused-properties","severity":2,"message":"'observerOptions' of data found, but never used.","line":36,"column":4,"nodeType":"Identifier","messageId":"unused","endLine":36,"endColumn":19,"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"vue/component-tags-order","replacedBy":["block-order"]},{"ruleId":"vue/no-invalid-model-keys","replacedBy":["valid-model-definition"]},{"ruleId":"vue/v-on-function-call","replacedBy":["v-on-handler-style"]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/components/base/Player.vue","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"vue/component-tags-order","replacedBy":["block-order"]},{"ruleId":"vue/no-invalid-model-keys","replacedBy":["valid-model-definition"]},{"ruleId":"vue/v-on-function-call","replacedBy":["v-on-handler-style"]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/components/base/Select.vue","messages":[{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'select' is undefined.","line":263,"column":1,"nodeType":"Block","endLine":263,"endColumn":1},{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'submit' is undefined.","line":299,"column":1,"nodeType":"Block","endLine":299,"endColumn":1},{"ruleId":"jsdoc/require-throws-type","severity":1,"message":"@throws should have a type","line":362,"column":3,"nodeType":"Block","endLine":369,"endColumn":6}],"suppressedMessages":[{"ruleId":"vue/no-unused-properties","severity":2,"message":"'select' of method found, but never used.","line":371,"column":3,"nodeType":"Identifier","messageId":"unused","endLine":371,"endColumn":9,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"vue/no-unused-properties","severity":2,"message":"'reset' of method found, but never used.","line":387,"column":3,"nodeType":"Identifier","messageId":"unused","endLine":387,"endColumn":8,"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":3,"fixableErrorCount":0,"fixableWarningCount":0,"source":"<template>\n\t<div class=\"sd-select\" :class=\"rootClasses\">\n\t\t<label :id=\"listboxId\" class=\"sd-select__sr-only\">{{ selectLabel }}</label>\n\t\t<button\n\t\t\tref=\"sdSelectButton\"\n\t\t\tclass=\"sd-select__content\"\n\t\t\ttabindex=\"0\"\n\t\t\taria-autocomplete=\"list\"\n\t\t\taria-haspopup=\"listbox\"\n\t\t\t:aria-owns=\"listboxId\"\n\t\t\t:aria-labelledby=\"listboxId + ' ' + textboxId\"\n\t\t\t:aria-expanded=\"isExpanded\"\n\t\t\t:aria-activedescendant=\"activeItemId || null\"\n\t\t\t:aria-disabled=\"disabled || null\"\n\t\t\t@click=\"onClick\"\n\t\t\t@blur=\"onBlur\"\n\t\t\t@mousedown=\"isMouseDown = true\"\n\t\t\t@mouseup=\"isMouseDown = false\"\n\t\t\t@keydown.enter.prevent\n\t\t\t@keyup.enter=\"onEnter\"\n\t\t\t@keydown.up.prevent=\"onArrowUp\"\n\t\t\t@keydown.down.prevent=\"onArrowDown\"\n\t\t>\n\t\t\t<span\n\t\t\t\t:id=\"textboxId\"\n\t\t\t\tclass=\"sd-select__current-selection\"\n\t\t\t\trole=\"textbox\"\n\t\t\t\taria-readonly=\"true\"\n\t\t\t>\n\t\t\t\t<template v-if=\"isListItemSelected\">\n\t\t\t\t\t{{ prefix }}\n\t\t\t\t</template>\n\t\t\t\t{{ currentSelection }}\n\t\t\t</span>\n\t\t\t<cdx-icon\n\t\t\t\tclass=\"sd-select__handle\"\n\t\t\t\t:icon=\"cdxIconExpand\"\n\t\t\t\tsize=\"x-small\"\n\t\t\t>\n\t\t\t</cdx-icon>\n\t\t</button>\n\t\t<sd-select-menu\n\t\t\tv-if=\"showMenu\"\n\t\t\t:items=\"items\"\n\t\t\t:active-item-index=\"activeItemIndex\"\n\t\t\t:selected-item-index=\"selectedItemIndex\"\n\t\t\t:listbox-id=\"listboxId\"\n\t\t\t@select=\"onSelect\"\n\t\t\t@active-item-change=\"onActiveItemChange\"\n\t\t>\n\t\t</sd-select-menu>\n\t</div>\n</template>\n\n<script>\nconst SelectMenu = require( './SelectMenu.vue' );\nconst { CdxIcon } = require( '@wikimedia/codex' );\nconst { cdxIconExpand } = require( '../icons.json' );\n\n/**\n * @file Select\n *\n * Select component with SelectMenu dropdown.\n *\n * This component takes a set of items as a prop and passes those items to the\n * SelectMenu component for display. This component controls when the menu is\n * shown, shows the selected item if there is one, and emits the selected item\n * value to the parent.\n */\n// @vue/component\nmodule.exports = exports = {\n\tname: 'SdSelect',\n\n\tcomponents: {\n\t\tCdxIcon,\n\t\t'sd-select-menu': SelectMenu\n\t},\n\n\tprops: {\n\t\t/**\n\t\t * Name must be provided to ensure unique aria attributes. Should be a\n\t\t * valid as a CSS id.\n\t\t */\n\t\tname: {\n\t\t\ttype: String,\n\t\t\trequired: true\n\t\t},\n\n\t\t/**\n\t\t * Displayed when no item is selected. If omitted, the first item will\n\t\t * be selected and displayed initially (or the selected item is one is\n\t\t * provided as a prop). MW Message objects are allowed.\n\t\t */\n\t\tlabel: {\n\t\t\ttype: [ String, Object ],\n\t\t\tdefault: null\n\t\t},\n\n\t\t/** Items should be an array of objects with \"label\" and \"value\" properties */\n\t\titems: {\n\t\t\ttype: [ Array ],\n\t\t\trequired: true\n\t\t},\n\n\t\t/**\n\t\t * If an item should be selected on component mount, the selected item\n\t\t * index can be included via this prop.\n\t\t */\n\t\tinitialSelectedItemIndex: {\n\t\t\ttype: Number,\n\t\t\tdefault: -1\n\t\t},\n\n\t\tdisabled: {\n\t\t\ttype: Boolean\n\t\t},\n\n\t\t/**\n\t\t * Prefix will be shown before the selected value, e.g. \"Sort by:\"\n\t\t * MW Message objects are allowed.\n\t\t */\n\t\tprefix: {\n\t\t\ttype: [ String, Object ],\n\t\t\tdefault: ''\n\t\t}\n\t},\n\n\temits: [\n\t\t'select'\n\t],\n\n\tdata: function () {\n\t\treturn {\n\t\t\tshowMenu: false,\n\t\t\tisMouseDown: false,\n\t\t\tactiveItemIndex: this.initialSelectedItemIndex,\n\t\t\tselectedItemIndex: this.initialSelectedItemIndex,\n\t\t\tcdxIconExpand\n\t\t};\n\t},\n\n\tcomputed: {\n\t\t/**\n\t\t * @return {boolean}\n\t\t */\n\t\tisListItemSelected: function () {\n\t\t\treturn this.selectedItemIndex > -1;\n\t\t},\n\n\t\t/**\n\t\t * This helps to figure out what text to show as label for accessibility\n\t\t *\n\t\t * @return {string}\n\t\t */\n\t\tselectLabel: function () {\n\t\t\t// We show the label, if an item is selected,\n\t\t\t// because it would be label will removed from the button\n\t\t\tif ( this.isListItemSelected ) {\n\t\t\t\treturn this.label;\n\t\t\t} else if ( !this.label ) {\n\t\t\t\t// We show the prefix as the label,\n\t\t\t\t// if no label is passed and no item is selected\n\t\t\t\treturn this.prefix;\n\t\t\t}\n\n\t\t\treturn '';\n\t\t},\n\n\t\t/**\n\t\t * @return {string} The user-visible label for the current selection\n\t\t */\n\t\tcurrentSelection: function () {\n\t\t\tif ( this.selectedItemIndex === -1 ) {\n\t\t\t\treturn this.label;\n\t\t\t} else {\n\t\t\t\treturn this.items[ this.selectedItemIndex ].label;\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * @return {Object}\n\t\t */\n\t\trootClasses: function () {\n\t\t\treturn {\n\t\t\t\t'sd-select--open': this.showMenu,\n\t\t\t\t'sd-select--disabled': this.disabled,\n\t\t\t\t// This class can be used by other components (e.g. Tabs) to\n\t\t\t\t// style component differently depending on whether or not a\n\t\t\t\t// value has been selected.\n\t\t\t\t'sd-select--value-selected': this.selectedItemIndex > -1\n\t\t\t};\n\t\t},\n\n\t\t/**\n\t\t * For the aria-expanded attribute of the input, we need to use strings\n\t\t * instead of booleans so that aria-expanded will be set to \"false\" when\n\t\t * appropriate rather than the attribute being omitted, which is what\n\t\t * would happen if we used a boolean false.\n\t\t *\n\t\t * @return {string}\n\t\t */\n\t\tisExpanded: function () {\n\t\t\treturn this.showMenu ? 'true' : 'false';\n\t\t},\n\n\t\t/**\n\t\t * @return {string}\n\t\t */\n\t\ttextboxId: function () {\n\t\t\treturn this.name + '__textbox';\n\t\t},\n\n\t\t/**\n\t\t * @return {string}\n\t\t */\n\t\tlistboxId: function () {\n\t\t\treturn this.name + '__listbox';\n\t\t},\n\n\t\t/**\n\t\t * The ID of the element of the active menu item.\n\t\t *\n\t\t * @return {string|boolean}\n\t\t */\n\t\tactiveItemId: function () {\n\t\t\treturn this.activeItemIndex > -1 ?\n\t\t\t\tthis.listboxId + '-item-' + this.activeItemIndex :\n\t\t\t\tfalse;\n\t\t},\n\n\t\t/**\n\t\t * @return {number} Number of items\n\t\t */\n\t\titemsLength: function () {\n\t\t\treturn this.items.length;\n\t\t}\n\t},\n\n\tmethods: {\n\t\t/**\n\t\t * Toggle menu state on click.\n\t\t */\n\t\tonClick: function () {\n\t\t\tthis.toggleMenu( !this.showMenu );\n\t\t\tthis.restoreActiveItemIndex();\n\t\t\tif ( this.showMenu ) {\n\t\t\t\tthis.$refs.sdSelectButton.focus();\n\t\t\t}\n\t\t},\n\n\t\tonBlur: function () {\n\t\t\t/**\n\t\t\t * Check if the blur event isn't triggered by a click on the menu, because it breaks on Safari\n\t\t\t */\n\t\t\tif ( !this.isMouseDown ) {\n\t\t\t\tthis.toggleMenu( false );\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Handle enter keypress.\n\t\t *\n\t\t * @fires select\n\t\t * @return {void}\n\t\t */\n\t\tonEnter: function () {\n\t\t\t// If the menu is hidden, show it.\n\t\t\tif ( !this.showMenu ) {\n\t\t\t\tthis.toggleMenu( true );\n\t\t\t\tthis.restoreActiveItemIndex();\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// If the menu is showing but there's no active item, close the menu.\n\t\t\tif ( this.activeItemIndex < 0 ) {\n\t\t\t\tthis.toggleMenu( false );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Otherwise:\n\t\t\t// - Show the selected item in the content box\n\t\t\t// - Store the selected item index so it can be styled as such if\n\t\t\t// the menu is reopened\n\t\t\t// - Emit the selected item to the parent\n\t\t\t// - Hide the menu\n\t\t\tconst value = this.items[ this.activeItemIndex ].value;\n\t\t\tthis.selectedItemIndex = this.activeItemIndex;\n\t\t\tthis.$emit( 'select', value );\n\t\t\tthis.toggleMenu( false );\n\t\t},\n\n\t\t/**\n\t\t * Handle item click.\n\t\t *\n\t\t * @param {number} index\n\t\t * @param {Object} item\n\t\t * @param {string} item.label Selected item's human-readable label\n\t\t * @param {string} item.value Selected item's value\n\t\t * @fires submit\n\t\t */\n\t\tonSelect: function ( index, item ) {\n\t\t\tthis.activeItemIndex = index;\n\t\t\tthis.selectedItemIndex = index;\n\t\t\tthis.$emit( 'select', item.value );\n\t\t\tthis.toggleMenu( false );\n\t\t},\n\n\t\t/**\n\t\t * Move to the next item.\n\t\t * If we're at the end go back to the first item.\n\t\t * if activeItem is -1 go to second item (this is because we pre-select the first item )\n\t\t */\n\t\tonArrowDown: function () {\n\t\t\tconst index = this.activeItemIndex,\n\t\t\t\tisNotLastItem = this.itemsLength > index + 1,\n\t\t\t\tisUnselectedMenu = index === -1;\n\n\t\t\tif ( isUnselectedMenu ) {\n\t\t\t\tthis.activeItemIndex = 1;\n\t\t\t} else if ( isNotLastItem ) {\n\t\t\t\tthis.activeItemIndex = index + 1;\n\t\t\t} else {\n\t\t\t\tthis.activeItemIndex = 0;\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Move to the previous item. If we're at the beginning, go to\n\t\t * the last item.\n\t\t */\n\t\tonArrowUp: function () {\n\t\t\tconst index = this.activeItemIndex;\n\t\t\t// Do nothing if there is no active item yet.\n\t\t\tif ( index > -1 ) {\n\t\t\t\tthis.activeItemIndex = index === 0 ? this.itemsLength - 1 : index - 1;\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Change the active item index based on mouseover or mouseleave.\n\t\t *\n\t\t * @param {number} index\n\t\t */\n\t\tonActiveItemChange: function ( index ) {\n\t\t\tthis.activeItemIndex = index;\n\t\t},\n\n\t\t/**\n\t\t * Set menu visibility.\n\t\t *\n\t\t * @param {boolean} show\n\t\t * @return {void}\n\t\t */\n\t\ttoggleMenu: function ( show ) {\n\t\t\tif ( this.disabled ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tthis.showMenu = show;\n\t\t},\n\n\t\t/**\n\t\t * Programmatically set the selection if it has been changed by means\n\t\t * other than direct user interaction. Changes made in this way should\n\t\t * never emit \"select\" events.\n\t\t *\n\t\t * @param {string} selection value of the item to be selected\n\t\t * @throws error if specified value does not exist\n\t\t */\n\t\t// eslint-disable-next-line vue/no-unused-properties\n\t\tselect: function ( selection ) {\n\t\t\tconst selectionIndex = this.items.findIndex( ( item ) => item.value === selection );\n\n\t\t\tif ( selectionIndex && selectionIndex >= 0 ) {\n\t\t\t\tthis.selectedItemIndex = selectionIndex;\n\t\t\t\tthis.activeItemIndex = selectionIndex;\n\t\t\t} else {\n\t\t\t\tthrow new Error( 'specified value does not exist' );\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Reset the component to initial values for selection index and\n\t\t * user-visible label\n\t\t */\n\t\t// eslint-disable-next-line vue/no-unused-properties\n\t\treset: function () {\n\t\t\tthis.selectedItemIndex = this.initialSelectedItemIndex;\n\t\t\tthis.activeItemIndex = this.initialSelectedItemIndex;\n\t\t},\n\n\t\t/**\n\t\t * Restore the ActiveItemIndex to be equal to the selectedItemIndex\n\t\t * This is usually needed to make sure that when the dropdowns is open\n\t\t * it activate the selected Item\n\t\t */\n\t\trestoreActiveItemIndex: function () {\n\t\t\tthis.activeItemIndex = this.selectedItemIndex;\n\t\t}\n\t}\n};\n</script>\n","usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"vue/component-tags-order","replacedBy":["block-order"]},{"ruleId":"vue/no-invalid-model-keys","replacedBy":["valid-model-definition"]},{"ruleId":"vue/v-on-function-call","replacedBy":["v-on-handler-style"]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/components/base/SelectMenu.vue","messages":[{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'select' is undefined.","line":107,"column":1,"nodeType":"Block","endLine":107,"endColumn":1}],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"<template>\n\t<div class=\"sd-select-menu\">\n\t\t<ul\n\t\t\t:id=\"listboxId\"\n\t\t\tclass=\"sd-select-menu__list\"\n\t\t\trole=\"listbox\"\n\t\t\t:aria-labelledby=\"labelledBy\"\n\t\t>\n\t\t\t<li\n\t\t\t\tv-for=\"( item, index ) in formattedItems\"\n\t\t\t\t:id=\"listboxId + '-item-' + index\"\n\t\t\t\t:key=\"listboxId + '-item-' + index\"\n\t\t\t\tclass=\"sd-select-menu__list-item\"\n\t\t\t\t:class=\"getItemClasses( index )\"\n\t\t\t\trole=\"option\"\n\t\t\t\t:aria-selected=\"isActiveItem( index ) || null\"\n\t\t\t\t@mousedown=\"onMousedown( index, item )\"\n\t\t\t\t@mouseover=\"$emit( 'active-item-change', index )\"\n\t\t\t\t@mouseleave=\"$emit( 'active-item-change', -1 )\"\n\t\t\t>\n\t\t\t\t{{ item.label }}\n\t\t\t</li>\n\t\t</ul>\n\t</div>\n</template>\n\n<script>\n/**\n * @file SelectMenu\n *\n * List of items that informs the parent component when an item is clicked.\n * Receives the index of the active item from parent so a visual indication can\n * be applied via CSS here.\n *\n * On hover, active item index is emitted to the parent. On mouse leave, the\n * index is reset to -1 (i.e. no active item).\n */\n// @vue/component\nmodule.exports = exports = {\n\tname: 'SelectMenu',\n\n\tprops: {\n\t\t/**\n\t\t * Items can come in 3 formats:\n\t\t * 1. An array of strings\n\t\t * Example: [ 'Apple', 'Banana', 'Orange' ]\n\t\t * 2. An array of objects with label and value keys\n\t\t * Example: [ {label: 'Apple', value: 'a'}, {label: 'Banana', value: 'b'} ]\n\t\t * 3. An object of simple key:string pairs\n\t\t * Example: {a: 'Apple', b: 'Banana', c: 'Carrot'}\n\t\t */\n\t\titems: {\n\t\t\ttype: [ Array, Object ],\n\t\t\tdefault: function () {\n\t\t\t\treturn [ ];\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Index of the item the user is (figuratively) focused on.\n\t\t */\n\t\tactiveItemIndex: {\n\t\t\ttype: Number,\n\t\t\tdefault: 0\n\t\t},\n\n\t\t/**\n\t\t * Index of the currently selected item. This prop will only exist for\n\t\t * parent components like a select list, since the item list persists.\n\t\t */\n\t\tselectedItemIndex: {\n\t\t\ttype: Number,\n\t\t\tdefault: -1\n\t\t},\n\n\t\tlistboxId: {\n\t\t\ttype: String,\n\t\t\trequired: true\n\t\t},\n\n\t\tlabelledBy: {\n\t\t\ttype: String,\n\t\t\tdefault: null\n\t\t}\n\t},\n\n\temits: [\n\t\t'active-item-change',\n\t\t'select'\n\t],\n\n\tcomputed: {\n\t\t/**\n\t\t * @return {Array} Array of objects with label and value keys\n\t\t */\n\t\tformattedItems: function () {\n\t\t\treturn this.getFormattedItems( this.items );\n\t\t}\n\t},\n\n\tmethods: {\n\t\t/**\n\t\t * Handle mousedown.\n\t\t *\n\t\t * @param {number} index\n\t\t * @param {Object} item\n\t\t * @fires select\n\t\t */\n\t\tonMousedown: function ( index, item ) {\n\t\t\t// If this is the selected item, do nothing.\n\t\t\tif ( index === this.selectedItemIndex ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tthis.$emit( 'select', index, item );\n\t\t},\n\n\t\t/**\n\t\t * Determine if a list item should have the active class.\n\t\t *\n\t\t * @param {number} index\n\t\t * @return {boolean}\n\t\t */\n\t\tisActiveItem: function ( index ) {\n\t\t\t// If activeItemIndex is unset (-1), we select the first item of the list.\n\t\t\tconst activeItem = this.activeItemIndex === -1 ? 0 : this.activeItemIndex;\n\t\t\treturn index === activeItem;\n\t\t},\n\n\t\t/**\n\t\t * Determine if a list item should have the selected class.\n\t\t *\n\t\t * @param {number} index\n\t\t * @return {boolean}\n\t\t */\n\t\tisSelectedItem: function ( index ) {\n\t\t\t// If selectedItem is unset (-1), we select the first item of the list.\n\t\t\tconst itemToSelect = this.selectedItemIndex === -1 ? 0 : this.selectedItemIndex;\n\t\t\treturn index === itemToSelect;\n\t\t},\n\n\t\tgetItemClasses: function ( index ) {\n\t\t\treturn {\n\t\t\t\t'sd-select-menu__list-item--active': this.isActiveItem( index ),\n\t\t\t\t'sd-select-menu__list-item--selected': this.isSelectedItem( index )\n\t\t\t};\n\t\t},\n\n\t\t/**\n\t\t * Format items prop.\n\t\t *\n\t\t * Items can be provided in a variety of formats. We need to process\n\t\t * them into a single format to be used in the template.\n\t\t *\n\t\t * @param {Array|Object} items\n\t\t * @return {Array} Array of objects with label and value keys\n\t\t */\n\t\tgetFormattedItems: function ( items ) {\n\t\t\tlet keys;\n\n\t\t\t// Handle array of strings.\n\t\t\tif (\n\t\t\t\tArray.isArray( items ) &&\n\t\t\t\titems.length &&\n\t\t\t\ttypeof items[ 0 ] === 'string'\n\t\t\t) {\n\t\t\t\treturn items.map( ( item ) => ( {\n\t\t\t\t\tlabel: item,\n\t\t\t\t\tvalue: item\n\t\t\t\t} ) );\n\t\t\t}\n\n\t\t\t// Handle array of objects.\n\t\t\tif (\n\t\t\t\tArray.isArray( items ) &&\n\t\t\t\titems.length &&\n\t\t\t\ttypeof items[ 0 ] === 'object'\n\t\t\t) {\n\t\t\t\treturn items.map( ( item ) => {\n\t\t\t\t\tif ( 'label' in item && 'value' in item ) {\n\t\t\t\t\t\treturn item;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn false;\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\t// Handle object.\n\t\t\tif ( typeof items === 'object' ) {\n\t\t\t\tkeys = Object.keys( items );\n\t\t\t\treturn keys.map( ( key ) => ( {\n\t\t\t\t\tlabel: items[ key ],\n\t\t\t\t\tvalue: key\n\t\t\t\t} ) );\n\t\t\t}\n\n\t\t\tthrow new Error( 'Passed value format is not supported' );\n\t\t}\n\t}\n};\n</script>\n","usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"vue/component-tags-order","replacedBy":["block-order"]},{"ruleId":"vue/no-invalid-model-keys","replacedBy":["valid-model-definition"]},{"ruleId":"vue/v-on-function-call","replacedBy":["v-on-handler-style"]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/components/base/mixins/observer.js","messages":[],"suppressedMessages":[{"ruleId":"compat/compat","severity":2,"message":"IntersectionObserver is not supported in Safari 11.1","line":71,"column":19,"nodeType":"NewExpression","endLine":74,"endColumn":4,"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/components/results/AudioResult.vue","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"vue/component-tags-order","replacedBy":["block-order"]},{"ruleId":"vue/no-invalid-model-keys","replacedBy":["valid-model-definition"]},{"ruleId":"vue/v-on-function-call","replacedBy":["v-on-handler-style"]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/components/results/ImageResult.vue","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"vue/component-tags-order","replacedBy":["block-order"]},{"ruleId":"vue/no-invalid-model-keys","replacedBy":["valid-model-definition"]},{"ruleId":"vue/v-on-function-call","replacedBy":["v-on-handler-style"]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/components/results/OtherResult.vue","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"vue/component-tags-order","replacedBy":["block-order"]},{"ruleId":"vue/no-invalid-model-keys","replacedBy":["valid-model-definition"]},{"ruleId":"vue/v-on-function-call","replacedBy":["v-on-handler-style"]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/components/results/PageResult.vue","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"vue/component-tags-order","replacedBy":["block-order"]},{"ruleId":"vue/no-invalid-model-keys","replacedBy":["valid-model-definition"]},{"ruleId":"vue/v-on-function-call","replacedBy":["v-on-handler-style"]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/components/results/VideoResult.vue","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"vue/component-tags-order","replacedBy":["block-order"]},{"ruleId":"vue/no-invalid-model-keys","replacedBy":["valid-model-definition"]},{"ruleId":"vue/v-on-function-call","replacedBy":["v-on-handler-style"]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/constants.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/ensureArray.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/getLocationAgnosticMwApi.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/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":9,"column":1,"nodeType":"CallExpression","endLine":9,"endColumn":24,"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/mixins/autocompleteLookupHandler.js","messages":[{"ruleId":"max-len","severity":1,"message":"This line has a length of 120. Maximum allowed is 110.","line":148,"column":1,"nodeType":"Program","messageId":"max","endLine":148,"endColumn":106},{"ruleId":"max-len","severity":1,"message":"This line has a length of 151. Maximum allowed is 110.","line":202,"column":1,"nodeType":"Program","messageId":"max","endLine":202,"endColumn":140}],"suppressedMessages":[{"ruleId":"prefer-regex-literals","severity":2,"message":"Use a regular expression literal instead of the 'RegExp' constructor.","line":63,"column":33,"nodeType":"NewExpression","messageId":"unexpectedRegExp","endLine":63,"endColumn":82,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"es-x/no-regexp-unicode-property-escapes","severity":2,"message":"ES2018 RegExp Unicode property escape sequences are forbidden.","line":63,"column":33,"nodeType":"NewExpression","messageId":"forbidden","endLine":63,"endColumn":82,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"prefer-regex-literals","severity":2,"message":"Use a regular expression literal instead of the 'RegExp' constructor.","line":106,"column":21,"nodeType":"NewExpression","messageId":"unexpectedRegExp","endLine":106,"endColumn":70,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"es-x/no-regexp-unicode-property-escapes","severity":2,"message":"ES2018 RegExp Unicode property escape sequences are forbidden.","line":106,"column":21,"nodeType":"NewExpression","messageId":"forbidden","endLine":106,"endColumn":70,"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":2,"fixableErrorCount":0,"fixableWarningCount":0,"source":"const getLocationAgnosticMwApi = require( '../getLocationAgnosticMwApi.js' );\nconst apiUri = mw.config.get( 'sdmsExternalEntitySearchBaseUri' );\n\n/**\n * @file searchAutocomplete.js\n *\n * Mixin containing logic for search input autocomplete lookups. This component:\n * - Takes in current search input\n * - Makes wbsearchentities calls to get raw potential autocomplete results\n * - Filters out duplicate results\n * - Filters out results that don't include the final word being typed\n * - Trims the list of results to a predetermined limit\n * - Returns an array of these filtered and trimmed results\n */\nmodule.exports = exports = {\n\n\tdata: function () {\n\t\treturn {\n\t\t\tdebounceTimeoutId: null,\n\t\t\tlookupPromises: null,\n\t\t\tlookupResults: [],\n\t\t\tlookupResultsLimit: 7,\n\t\t\tlookupDisabled: !apiUri\n\t\t};\n\t},\n\n\tmethods: {\n\t\tclearLookupResults: function () {\n\t\t\tthis.lookupResults = [];\n\t\t},\n\n\t\t/**\n\t\t * Get lookup results for current text input.\n\t\t *\n\t\t * @param {string} input\n\t\t */\n\t\tgetDebouncedLookupResults: function ( input ) {\n\t\t\tclearTimeout( this.debounceTimeoutId );\n\t\t\tthis.debounceTimeoutId = setTimeout(\n\t\t\t\tthis.getLookupResults.bind( this, input ),\n\t\t\t\t250\n\t\t\t);\n\t\t},\n\n\t\t/**\n\t\t * Get lookup results for current text input.\n\t\t *\n\t\t * @param {string} input\n\t\t */\n\t\tgetLookupResults: function ( input ) {\n\t\t\tconst trimmedInput = input.trim();\n\n\t\t\t// If this is an empty string or just whitespace, bail early.\n\t\t\tif ( trimmedInput.length === 0 ) {\n\t\t\t\tthis.lookupResults = [];\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tlet words, inputRegex;\n\t\t\ttry {\n\t\t\t\t// below could be a regex literal, but eslint fails to parse the `u` flag...\n\t\t\t\t// eslint-disable-next-line prefer-regex-literals, es-x/no-regexp-unicode-property-escapes\n\t\t\t\twords = trimmedInput.match( new RegExp( '[\\\\p{L}\\\\p{M}\\\\p{N}\\\\p{S}]+', 'gu' ) ) || [];\n\n\t\t\t\tinputRegex = new RegExp( '^' + new Array( words.length + 1 ).join( '[\\\\p{L}\\\\p{M}\\\\p{N}\\\\p{S}]+.*?' ), 'iu' );\n\t\t\t} catch ( e ) {\n\t\t\t\t// if browser doesn't support unicode regexes, fall back to simple\n\t\t\t\t// space/punctuation-based word detection\n\t\t\t\twords = trimmedInput.match( /[^\\s\\-.:;,\"]+/g ) || [];\n\n\t\t\t\tinputRegex = new RegExp( '^' + new Array( words.length + 1 ).join( '[^\\\\s\\\\-]+[\\\\s\\\\-.:;,\"]*' ), 'i' );\n\t\t\t}\n\n\t\t\tif ( words.length === 0 ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tthis.doLookupRequest( trimmedInput )\n\t\t\t\t.then( ( results ) => {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tthis.lookupResults = this.getFilteredLookupResults( results, inputRegex );\n\t\t\t\t\t} catch ( e ) {\n\t\t\t\t\t\t// If there is an error in attempting to match & process\n\t\t\t\t\t\t// autocomplete results, swallow it (don't spam the logs)\n\t\t\t\t\t\t// and reset lookup results to an empty array,\n\t\t\t\t\t\t// dismissing the pending state in the input element.\n\t\t\t\t\t\t// strings wrapped in quotes will trigger this behavior,\n\t\t\t\t\t\t// for example.\n\t\t\t\t\t\tthis.clearLookupResults();\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t},\n\n\t\t/**\n\t\t * Get unfiltered lookup results for text input.\n\t\t *\n\t\t * @param {string} input\n\t\t * @return {Array}\n\t\t */\n\t\tdoLookupRequest: function ( input ) {\n\t\t\tconst promises = [];\n\t\t\tlet lastWordRegex, lastWord;\n\n\t\t\ttry {\n\t\t\t\t// eslint-disable-next-line prefer-regex-literals, es-x/no-regexp-unicode-property-escapes\n\t\t\t\tlastWordRegex = new RegExp( '[\\\\p{L}\\\\p{M}\\\\p{N}\\\\p{S}]+$', 'u' );\n\t\t\t\tlastWord = input.match( lastWordRegex );\n\t\t\t} catch ( e ) {\n\t\t\t\tlastWordRegex = /[^\\s\\-.:;,]+$/;\n\t\t\t\tlastWord = input.match( lastWordRegex );\n\t\t\t}\n\n\t\t\t// Abort in-flight lookup promises to ensure the results provided\n\t\t\t// are for the most recent search input.\n\t\t\tif ( this.lookupPromises ) {\n\t\t\t\tthis.lookupPromises.abort();\n\t\t\t}\n\n\t\t\t// First, get results for the entire search input.\n\t\t\tconst inputPromise = this.getLookupRequestForTerm( input );\n\t\t\tpromises.push(\n\t\t\t\tinputPromise.then( ( response ) => response.search.map(\n\t\t\t\t\t// Get search term that matched (could be label or alias or...)\n\t\t\t\t\t( result ) => result.match.text\n\t\t\t\t) ).promise( { abort: inputPromise.abort } )\n\t\t\t);\n\n\t\t\t// Next, if there's more than 1 word, get results for just the last\n\t\t\t// word. Results for the entire search term will still be preferred\n\t\t\t// but this can help return more relevant results for some queries,\n\t\t\t// e.g. when the second word is more specific or meaningful than the\n\t\t\t// first.\n\t\t\tif ( lastWord && lastWord[ 0 ] && input !== lastWord[ 0 ] ) {\n\t\t\t\tconst lastWordPromise = this.getLookupRequestForTerm( lastWord[ 0 ] );\n\t\t\t\tpromises.push(\n\t\t\t\t\tlastWordPromise.then( ( response ) => response.search.map(\n\t\t\t\t\t\t// Add search term to rest of the input.\n\t\t\t\t\t\t( result ) => input.replace( lastWordRegex, result.match.text )\n\t\t\t\t\t) ).promise( { abort: lastWordPromise.abort } )\n\t\t\t\t);\n\t\t\t}\n\n\t\t\t// Combine the promises and add an abort function so we can cancel\n\t\t\t// this if the search input is updated (i.e. continued typing).\n\t\t\tthis.lookupPromises = $.when.apply( $, promises )\n\t\t\t\t.then( function () {\n\t\t\t\t\t// Combine the results of multiple API calls.\n\t\t\t\t\treturn [].slice.call( arguments ).reduce( ( combined, results ) => combined.concat( results ), [] );\n\t\t\t\t} ).promise( { abort: function () {\n\t\t\t\t\tpromises.forEach( ( promise ) => {\n\t\t\t\t\t\tpromise.abort();\n\t\t\t\t\t} );\n\t\t\t\t} } );\n\n\t\t\treturn this.lookupPromises;\n\t\t},\n\n\t\t/**\n\t\t * Set up a wbsearchentities API call for an input string.\n\t\t *\n\t\t * @param {string} term\n\t\t * @return {jQuery.promise}\n\t\t */\n\t\tgetLookupRequestForTerm: function ( term ) {\n\t\t\tconst api = getLocationAgnosticMwApi( apiUri, { anonymous: true } );\n\n\t\t\tif ( this.lookupDisabled ) {\n\t\t\t\treturn $.Deferred().resolve( { search: [] } ).promise( { abort: function () {} } );\n\t\t\t}\n\n\t\t\treturn api.get( {\n\t\t\t\taction: 'wbsearchentities',\n\t\t\t\tsearch: term,\n\t\t\t\tformat: 'json',\n\t\t\t\tlanguage: mw.config.get( 'wgUserLanguage' ),\n\t\t\t\tuselang: mw.config.get( 'wgUserLanguage' ),\n\t\t\t\ttype: 'item',\n\t\t\t\t// request more than our limit, so we can omit duplicates\n\t\t\t\tlimit: 50\n\t\t\t} );\n\t\t},\n\n\t\t/**\n\t\t * Filter results.\n\t\t *\n\t\t * @param {Array} lookupResults All lookup results\n\t\t * @param {string} inputRegex Regex for isolating last word\n\t\t * @return {Array}\n\t\t */\n\t\tgetFilteredLookupResults: function ( lookupResults, inputRegex ) {\n\t\t\treturn lookupResults\n\t\t\t\t.map( ( result ) => {\n\t\t\t\t\t// Only suggest completion for the word currently being typed.\n\t\t\t\t\tconst match = result.match( inputRegex );\n\t\t\t\t\treturn match.length > 0 ? match[ 0 ] : '';\n\t\t\t\t} )\n\t\t\t\t// Filter for unique values.\n\t\t\t\t// Could do a simple `indexOf` to see if a value already exists\n\t\t\t\t// but that'd be case-sensitive, and since case doesn't matter\n\t\t\t\t// for search terms, we shouldn't be showing the same term in\n\t\t\t\t// different capitalization if it's going to give the same results.\n\t\t\t\t.filter( ( value, i, array ) => !array.slice( 0, i ).some( ( previousValue ) => previousValue.toLowerCase() === value.toLowerCase() ) )\n\t\t\t\t// Return a limited number of results to show the user.\n\t\t\t\t.slice( 0, this.lookupResultsLimit );\n\t\t}\n\t}\n};\n","usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/mixins/restoreHistoryHandler.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/mixins/searchResult.js","messages":[{"ruleId":"jsdoc/no-undefined-types","severity":1,"message":"The type 'show-details' is undefined.","line":99,"column":1,"nodeType":"Block","endLine":99,"endColumn":1}],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"/**\n * @file searchResult.js\n *\n * Re-usable mixin for search result components. Individual Result components\n * that implement this mixin can decide for themselves how all this information\n * should be disiplayed.\n *\n * This mixin is deliberately \"dumb\" (contains no local state) so that search\n * result components which include it can be written as stateless functional\n * components if necessary.\n */\nmodule.exports = {\n\tprops: {\n\t\ttitle: {\n\t\t\ttype: String,\n\t\t\trequired: true\n\t\t},\n\n\t\tcanonicalurl: {\n\t\t\ttype: String,\n\t\t\trequired: true\n\t\t},\n\n\t\timageinfo: {\n\t\t\ttype: Array,\n\t\t\trequired: false,\n\t\t\tdefault: function () {\n\t\t\t\treturn [ {} ];\n\t\t\t}\n\t\t},\n\n\t\tindex: {\n\t\t\ttype: Number,\n\t\t\trequired: true\n\t\t},\n\n\t\tname: {\n\t\t\ttype: String,\n\t\t\trequired: false\n\t\t},\n\n\t\tentityterms: {\n\t\t\ttype: Object,\n\t\t\trequired: false\n\t\t}\n\t},\n\n\tcomputed: {\n\t\t/**\n\t\t * @return {string|undefined}\n\t\t */\n\t\tthumbnail: function () {\n\t\t\tconst commonWidths = mw.config.get( 'sdmsThumbLimits' );\n\n\t\t\t// Do nothing if we have no imageinfo or thumbnail data.\n\t\t\tif ( !this.imageinfo || !( 'thumburl' in this.imageinfo[ 0 ] ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// find the closest (larger) width that is more common, it is (much) more\n\t\t\t// likely to have a thumbnail cached\n\t\t\tconst oldWidth = this.imageinfo[ 0 ].thumbwidth;\n\t\t\tlet newWidth = oldWidth;\n\t\t\tfor ( let i = 0; i < commonWidths.length; i++ ) {\n\t\t\t\tif ( commonWidths[ i ] >= oldWidth ) {\n\t\t\t\t\tnewWidth = commonWidths[ i ];\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn this.imageinfo[ 0 ].thumburl.replace(\n\t\t\t\t'/' + oldWidth + 'px-',\n\t\t\t\t'/' + newWidth + 'px-'\n\t\t\t);\n\t\t},\n\n\t\tlabel: function () {\n\t\t\tif ( this.entityterms && this.entityterms.label ) {\n\t\t\t\treturn this.entityterms.label[ 0 ];\n\t\t\t} else {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Use mw.Title to get a normalized title without File, Category, etc. prepending\n\t\t *\n\t\t * @return {string|null}\n\t\t */\n\t\tdisplayName: function () {\n\t\t\tconst title = mw.Title.newFromText( this.title );\n\t\t\treturn title ? title.getMainText() : null;\n\t\t}\n\t},\n\n\tmethods: {\n\t\t/**\n\t\t * @param {Event} e\n\t\t * @fires show-details\n\t\t */\n\t\tshowDetails: function ( e ) {\n\t\t\t// Allow cmd + click/Windows + click to open file page in new tab.\n\t\t\tif ( e.metaKey === true ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\te.preventDefault();\n\n\t\t\t// Stop the original event (most likely a \"click\") from\n\t\t\t// propagating in case other scripts (user scripts, etc)\n\t\t\t// are listening. See https://phabricator.wikimedia.org/T260203\n\t\t\t// for an example.\n\t\t\te.stopPropagation();\n\t\t\tthis.$emit( 'show-details', this.title );\n\t\t},\n\n\t\t/**\n\t\t * Programatically focus the result's link element (must be given a\n\t\t * \"ref\" in the component template)\n\t\t */\n\t\tfocus: function () {\n\t\t\tthis.$refs.link.focus();\n\t\t},\n\n\t\t/**\n\t\t * Format a file size into something readable.\n\t\t *\n\t\t * Adapted from Special:Upload code in MediaWiki core. This isn't a\n\t\t * perfect solution—for example, it will use a dot as the decimal\n\t\t * separator, which isn't how it's done in every language—but it gets\n\t\t * us most of the way there without reimplementing the lengthy and\n\t\t * complex Language::formatNum method.\n\t\t *\n\t\t * @param {number} size\n\t\t * @return {string} Size to the hundreths place plus units\n\t\t */\n\t\tformatSize: function ( size ) {\n\t\t\tconst sizeMsgs = [\n\t\t\t\t'size-bytes',\n\t\t\t\t'size-kilobytes',\n\t\t\t\t'size-megabytes',\n\t\t\t\t'size-gigabytes'\n\t\t\t];\n\n\t\t\twhile ( size >= 1024 && sizeMsgs.length > 1 ) {\n\t\t\t\tsize /= 1024;\n\t\t\t\tsizeMsgs.shift();\n\t\t\t}\n\n\t\t\tlet decimalPlace = 1;\n\t\t\t// To match what the Language::formatSize method is doing, we'll\n\t\t\t// only show decimal places for MB and larger.\n\t\t\tif ( sizeMsgs.length <= 2 ) {\n\t\t\t\tdecimalPlace = 100;\n\t\t\t}\n\n\t\t\t// Ensure that the rounded numerical digits fed to the size messages\n\t\t\t// are provided in the appropriate language; Bangle and Farsi must\n\t\t\t// not use Arabic numbers for example. https://phabricator.wikimedia.org/T274614\n\t\t\tconst sizeDigitsInLanguage = mw.language.convertNumber(\n\t\t\t\tMath.round( size * decimalPlace ) / decimalPlace\n\t\t\t);\n\n\t\t\t// The following messages are used here:\n\t\t\t// * size-bytes\n\t\t\t// * size-kilobytes\n\t\t\t// * size-megabytes\n\t\t\t// * size-gigabytes\n\t\t\treturn mw.msg( sizeMsgs[ 0 ], sizeDigitsInLanguage );\n\t\t},\n\n\t\t/**\n\t\t * Format a number per-language (e.g. adding separators).\n\t\t *\n\t\t * @param {number} number\n\t\t * @return {string}\n\t\t */\n\t\tformatNumber: function ( number ) {\n\t\t\treturn number.toLocaleString( mw.config.get( 'wgUserLanguage' ) );\n\t\t}\n\t}\n};\n","usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/mixins/searchResultTimeBased.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/models/SearchFilter.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/plugins/eventLogger.js","messages":[],"suppressedMessages":[{"ruleId":"camelcase","severity":2,"message":"Identifier 'web_pageview_id' is not in camel case.","line":18,"column":11,"nodeType":"Identifier","messageId":"notCamelCase","endLine":18,"endColumn":26,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'language_code' is not in camel case.","line":19,"column":11,"nodeType":"Identifier","messageId":"notCamelCase","endLine":19,"endColumn":24,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'ui_mw_skin' is not in camel case.","line":20,"column":11,"nodeType":"Identifier","messageId":"notCamelCase","endLine":20,"endColumn":21,"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/store/actions.js","messages":[{"ruleId":"no-jquery/no-done-fail","severity":1,"message":"Prefer .then to .done","line":225,"column":9,"nodeType":"CallExpression","endLine":281,"endColumn":5},{"ruleId":"max-len","severity":1,"message":"This line has a length of 118. Maximum allowed is 110.","line":226,"column":1,"nodeType":"Program","messageId":"max","endLine":226,"endColumn":113},{"ruleId":"no-jquery/no-done-fail","severity":1,"message":"Prefer .then to .done","line":318,"column":2,"nodeType":"CallExpression","endLine":327,"endColumn":5}],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":3,"fixableErrorCount":0,"fixableWarningCount":0,"source":"const getLocationAgnosticMwApi = require( '../getLocationAgnosticMwApi.js' );\nconst externalSearchUri = mw.config.get( 'sdmsExternalSearchUri' );\nconst LIMIT = 40;\nconst searchOptions = require( '../data/searchOptions.json' );\nlet activeSearchRequest = null;\n\n/**\n * Generate additional (non-term) search keywords for filters.\n *\n * @param {string} mediaType\n * @param {Object} filterValues Filter values for this media type\n * @return {string}\n */\nconst getMediaFilters = function ( mediaType, filterValues ) {\n\tlet raw;\n\n\t// Start with a filter based on media type(s).\n\tswitch ( mediaType ) {\n\t\tcase 'image':\n\t\t\traw = 'filetype:bitmap|drawing';\n\t\t\tbreak;\n\n\t\tcase 'other':\n\t\t\traw = 'filetype:multimedia|office|archive|3d';\n\t\t\tbreak;\n\n\t\tdefault:\n\t\t\traw = 'filetype:' + mediaType;\n\t\t\tbreak;\n\t}\n\n\tfunction addFilter( filter ) {\n\t\tconst value = filter in filterValues ? filterValues[ filter ] : null;\n\t\tif ( value && filter !== 'assessment' ) {\n\t\t\treturn ' ' + filter + ':' + value;\n\t\t}\n\n\t\treturn '';\n\t}\n\n\t// We need to filter out media result with 0 width and height\n\tif ( mediaType !== 'audio' ) {\n\t\traw += ' -fileres:0';\n\t}\n\n\traw += addFilter( 'filemime' );\n\traw += addFilter( 'fileres' );\n\traw += addFilter( 'assessment' );\n\traw += addFilter( 'haslicense' );\n\n\treturn raw;\n};\n\n/**\n * @param {string} suggestion suggested search term pre-pended with active search keywords\n * @param {string|undefined} filters ex: filetype:bitmap|drawing filemime:png\n * @param {string|undefined} assessment ex: haswbstatement:P6731=Q63348049\n * @return {string} string containing *only* the suggested new query, no keywords\n */\nconst extractSuggestedTerm = function ( suggestion, filters, assessment ) {\n\tlet filteredSuggestion = suggestion;\n\n\tif ( filters ) {\n\t\tfilteredSuggestion = filteredSuggestion.slice( filters.length ).trim();\n\t}\n\n\tif ( assessment ) {\n\t\tfilteredSuggestion = filteredSuggestion.replace( assessment, '' ).trim();\n\t}\n\n\treturn filteredSuggestion;\n};\n\n/**\n * Perform a search via API request. Should return a promise.\n * There are a few different ways that searches should behave.\n * This search will use the current term and type\n *\n * - If a totally new search term has been provided, blow away existing\n * results for all tabs but only fetch new results for whatever tab is\n * currently active\n * - If the user switches to a tab where results have not yet been loaded\n * but the search term is still good, fetch results for the active tab\n * and add them, but leave other results alone\n * - Certain actions like scrolling will load more results within a given\n * queue if they are available. In this case the term and the media-type\n * will not change, but the \"continue\" state will, and new results will\n * be added to the current tab only\n *\n * @param {Object} context\n * @param {boolean} forceSearch\n * @return {jQuery.Deferred}\n */\nconst searchCurrentTermAndType = function ( context ) {\n\n\t// Don't make API requests if the search term is empty or is in error\n\tif ( context.getters.currentSearchTerm === '' ) {\n\t\treturn $.Deferred().resolve().promise( { abort: function () {} } );\n\t}\n\n\t// common request params for all requests\n\tconst params = {\n\t\t\tformat: 'json',\n\t\t\tuselang: mw.config.get( 'wgUserLanguage' ),\n\t\t\taction: 'query',\n\t\t\tgenerator: 'search',\n\t\t\tgsrsearch: context.getters.currentSearchTerm,\n\t\t\tgsrlimit: LIMIT,\n\t\t\tgsroffset: context.state.continue[ context.getters.currentType ] || 0,\n\t\t\tgsrinfo: 'totalhits|suggestion',\n\t\t\tgsrprop: 'size|wordcount|timestamp|snippet',\n\t\t\tprop: context.getters.currentType === 'page' ? 'info|categoryinfo' : 'info|imageinfo|entityterms',\n\t\t\tinprop: 'url'\n\t\t},\n\t\tnamespaceGroups = mw.config.get( 'sdmsNamespaceGroups' ),\n\t\tfilterValues = context.state.filterValues[ context.getters.currentType ] || {};\n\n\tlet filters, statement;\n\n\t// If a search request is already in-flight, abort it\n\tif ( activeSearchRequest && activeSearchRequest.abort ) {\n\t\tactiveSearchRequest.abort();\n\t}\n\n\tif ( context.state.continue[ context.getters.currentType ] === null ) {\n\t\t// prevent API requests when they're already known not to have results\n\t\t// (because there was no continuation offset)\n\t\tactiveSearchRequest = $.Deferred().resolve().promise( { abort: function () {} } );\n\t\treturn activeSearchRequest;\n\t}\n\n\tif ( context.getters.currentType === 'page' ) {\n\t\t// Page/category-specific params.\n\t\tconst namespaceFilter = filterValues.namespace;\n\n\t\t// Default to all namespaces.\n\t\tlet namespaces = Object.keys( namespaceGroups.all ).join( '|' );\n\n\t\tif ( namespaceFilter ) {\n\t\t\t// If the namespace filter value is one of the pre-defined\n\t\t\t// namespace groups, get the list of values from the namespace\n\t\t\t// group data. Otherwise, we're getting a custom list of\n\t\t\t// namespaces - use that.\n\t\t\tnamespaces = namespaceFilter in namespaceGroups ?\n\t\t\t\tObject.keys( namespaceGroups[ namespaceFilter ] ).join( '|' ) :\n\t\t\t\tnamespaceFilter;\n\t\t}\n\t\tparams.gsrnamespace = namespaces;\n\t} else {\n\t\t// Params used in all non-page/category searches.\n\t\t// 1. Special handling for assessment filter\n\t\tif ( filterValues.assessment ) {\n\t\t\tconst assessmentValue = filterValues.assessment;\n\t\t\tconst assessmentStatements = searchOptions[ context.getters.currentType ]\n\t\t\t\t.assessment.data.statementData;\n\n\t\t\tconst assessment = assessmentStatements.find( ( i ) => i.value === assessmentValue );\n\n\t\t\tif ( assessment ) {\n\t\t\t\tstatement = assessment.statement;\n\t\t\t\tparams.gsrsearch = statement + ' ' + params.gsrsearch;\n\t\t\t}\n\t\t}\n\t\t// 2. Handle remaining filters\n\t\tfilters = getMediaFilters( context.getters.currentType, filterValues );\n\t\tif ( filters ) {\n\t\t\tparams.gsrsearch = filters + ' ' + params.gsrsearch;\n\t\t}\n\t\tlet urlWidth;\n\t\tswitch ( context.getters.currentType ) {\n\t\t\tcase 'video':\n\t\t\t\turlWidth = 200;\n\t\t\t\tbreak;\n\n\t\t\tcase 'other':\n\t\t\t\t// generating thumbnails from many of these file types is very\n\t\t\t\t// expensive and slow, enough so that we're better off using a\n\t\t\t\t// larger (takes longer to transfer) pre-generated (but readily\n\t\t\t\t// available) size\n\t\t\t\turlWidth = Math.min.apply( Math, mw.config.get( 'sdmsThumbRenderMap' ) );\n\t\t\t\tbreak;\n\t\t}\n\n\t\tparams.gsrnamespace = 6; // NS_FILE\n\t\tparams.iiprop = 'url|size|mime';\n\t\tparams.iiurlheight = context.getters.currentType === 'image' ? 180 : undefined;\n\t\tparams.iiurlwidth = urlWidth;\n\t\tparams.wbetterms = 'label';\n\t}\n\n\t// if there are query params prefixed with mediasearch_, then also\n\t// pass them on to the API search request - this allows requesting\n\t// a specific search profile and carry it forward in JS navigation\n\tObject.keys( context.state.uriQuery )\n\t\t.filter( ( param ) => param.match( /^mediasearch_/ ) )\n\t\t.forEach( ( param ) => {\n\t\t\tparams[ param ] = context.state.uriQuery[ param ];\n\t\t} );\n\n\t// Add sort filter.\n\tif ( 'sort' in filterValues &&\n\t\tfilterValues.sort === 'recency' ) {\n\t\tparams.gsrsort = 'create_timestamp_desc';\n\t}\n\n\t// Reset current error state\n\tcontext.commit( 'setHasError', false );\n\n\t// Set the pending state for the given queue\n\tcontext.commit( 'setPending', {\n\t\ttype: context.getters.currentType,\n\t\tpending: true\n\t} );\n\n\tconst request = getLocationAgnosticMwApi( externalSearchUri, { anonymous: true } ).get( params );\n\n\trequest.promise( {\n\t\tabort: function () {\n\t\t\trequest.abort();\n\t\t}\n\t} );\n\n\tactiveSearchRequest = request;\n\n\treturn request.then( ( response ) => {\n\t\tconst existingTitles = context.state.results[ context.getters.currentType ].map( ( result ) => result.title );\n\n\t\tif ( response.query && response.query.pages ) {\n\t\t\tconst results = response.query.pages;\n\t\t\tconst titles = Object.keys( results );\n\n\t\t\t// Sort the results within each batch prior to committing them\n\t\t\t// to the store. Also, ensure that there is no duplication of\n\t\t\t// results between batches (see https://phabricator.wikimedia.org/T272923);\n\t\t\t// if a new result's title already exists in the set of\n\t\t\t// previously-loaded results, filter it out.\n\t\t\tconst sortedResults = titles\n\t\t\t\t.map( ( id ) => results[ id ] )\n\t\t\t\t.filter( ( result ) => !existingTitles.includes( result.title ) )\n\t\t\t\t.sort( ( a, b ) => a.index - b.index );\n\n\t\t\tsortedResults.forEach( ( result ) => {\n\t\t\t\tcontext.commit( 'addResult', { type: context.getters.currentType, item: result } );\n\t\t\t} );\n\n\t\t\tif ( response.query.searchinfo && response.query.searchinfo.totalhits ) {\n\t\t\t\tcontext.commit( 'setTotalHits', {\n\t\t\t\t\tmediaType: context.getters.currentType,\n\t\t\t\t\ttotalHits: response.query.searchinfo.totalhits\n\t\t\t\t} );\n\t\t\t}\n\t\t}\n\n\t\tif ( response.query && response.query.searchinfo && response.query.searchinfo.suggestion ) {\n\t\t\tcontext.commit( 'setDidYouMean',\n\t\t\t\textractSuggestedTerm( response.query.searchinfo.suggestion, filters, statement )\n\t\t\t);\n\t\t}\n\n\t\tif ( response.warnings && response.warnings.search && response.warnings.search[ '*' ] ) {\n\t\t\tcontext.commit( 'setSearchWarnings', response.warnings.search[ '*' ] );\n\t\t}\n\n\t\t// Set whether or not the query can be continued\n\t\tif ( response.continue && response.continue.gsroffset ) {\n\t\t\t// Store the \"continue\" property of the request so we can pick up where we left off\n\t\t\tcontext.commit( 'setContinue', {\n\t\t\t\ttype: context.getters.currentType,\n\t\t\t\tcontinue: response.continue.gsroffset\n\t\t\t} );\n\t\t} else {\n\t\t\tcontext.commit( 'setContinue', {\n\t\t\t\ttype: context.getters.currentType,\n\t\t\t\tcontinue: null\n\t\t\t} );\n\t\t}\n\t} ).done( () => {\n\t\t// Set pending back to false when request is complete\n\t\tactiveSearchRequest = null;\n\t\tcontext.commit( 'setPending', { type: context.getters.currentType, pending: false } );\n\t} ).catch( ( errorCode, details ) => {\n\t\t// Set pending to false and clear the stashed request\n\t\tlet pendingType;\n\t\tactiveSearchRequest = null;\n\n\t\tObject.keys( context.state.pending ).forEach( ( type ) => {\n\t\t\tif ( context.state.pending[ type ] === true && context.getters.currentType !== type ) {\n\t\t\t\tpendingType = type;\n\t\t\t}\n\t\t} );\n\n\t\tif ( pendingType ) {\n\t\t\tcontext.commit( 'setPending', { type: pendingType, pending: false } );\n\t\t}\n\n\t\t// No other error handling is required if the request has been\n\t\t// aborted by the client\n\t\tif ( details && details.textStatus === 'abort' ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// In the case of a real failure, throw the error back to the App\n\t\t// component to display a suitable message to the user\n\t\tcontext.commit( 'setHasError', true );\n\t\tthrow details;\n\t} );\n};\n\n// We record timing here in the store, instead of in App.vue like other use\n// cases, so we can ensure we are only timing full search requests that make it\n// to the backend. Sadly this still times some things that end up\n// short-circuiting and skipping the backend, but refactoring the 200 line\n// function above is left as an excercise for the future.\nconst timedPromise = function ( metricName, fn, ...args ) {\n\tconst start = performance.now();\n\tconst promise = fn.apply( this, args );\n\n\tpromise.done( () => {\n\t\tconst took = performance.now() - start;\n\t\t// half-hearted attempt to skip requests that didn't query the backend, we know\n\t\t// that anything that touches the mw api and gets a non-cached response takes\n\t\t// at least 10ms. Optimistically the short-circuit attempts above should happen\n\t\t// in a single tick.\n\t\tif ( took >= 10 ) {\n\t\t\tmw.track( 'timing.MediaSearch' + metricName, took );\n\t\t}\n\t} );\n\n\treturn promise;\n};\n\nmodule.exports = {\n\n\t/**\n\t * Force a new search overriding any current pending request and\n\t * resetting current autoloadcounter for the searched term\n\t *\n\t * @param {Object} context\n\t * @return {jQuery.Deferred}\n\t */\n\tperformNewSearch: function ( context ) {\n\t\treturn timedPromise( 'NewSearch', searchCurrentTermAndType, context );\n\t},\n\t/**\n\t * Continue to search the current term and type. This will just trigger a search\n\t * if there are more values available and if the autoloadcounter is not 0.\n\t *\n\t * @param {Object} context\n\t * @param {boolean} resetCounter\n\t * @return {jQuery.Deferred}\n\t */\n\tsearchMore: function ( context, resetCounter ) {\n\n\t\tif ( resetCounter ) {\n\t\t\tcontext.commit( 'resetAutoLoadForMediaType', context.getters.currentType );\n\t\t}\n\n\t\tif (\n\t\t\t!context.getters.checkForMore[ context.getters.currentType ] ||\n\t\t\tcontext.state.autoloadCounter[ context.getters.currentType ] === 0 ||\n\t\t\tcontext.state.hasError ) {\n\t\t\treturn $.Deferred().resolve().promise();\n\t\t}\n\n\t\tif ( !context.state.pending[ context.getters.currentType ] ) {\n\t\t\t// If more results are available, and if another request is not\n\t\t\t// already pending, then launch a search request\n\t\t\treturn timedPromise( 'SearchMore', searchCurrentTermAndType, context )\n\t\t\t\t.then( function ( decreaseAutoload ) {\n\t\t\t\t\tif ( !decreaseAutoload ) {\n\t\t\t\t\t\tthis.commit( 'decreaseAutoloadCounterForMediaType', this.getters.currentType );\n\t\t\t\t\t}\n\t\t\t\t}.bind( this, resetCounter ) );\n\n\t\t} else {\n\t\t\t// If more results are available but another request is\n\t\t\t// currently in-flight, attempt to make the request again\n\t\t\t// after some time has passed\n\t\t\tconst deferred = $.Deferred();\n\t\t\twindow.setTimeout(\n\t\t\t\t() => {\n\t\t\t\t\tcontext.dispatch( 'searchMore' )\n\t\t\t\t\t\t.then( deferred.resolve, deferred.reject );\n\t\t\t\t},\n\t\t\t\t2000\n\t\t\t);\n\t\t\treturn deferred.promise();\n\t\t}\n\t},\n\n\t/**\n\t * Fetch expanded details for a given search result by title\n\t *\n\t * @param {Object} context\n\t * @param {Object} options\n\t * @param {string} options.mediaType\n\t * @param {string} options.title\n\t * @return {jQuery.Deferred}\n\t */\n\tfetchDetails: function ( context, options ) {\n\t\tconst userLanguage = mw.config.get( 'wgUserLanguage' ),\n\t\t\tparams = {\n\t\t\t\tformat: 'json',\n\t\t\t\tuselang: userLanguage,\n\t\t\t\taction: 'query',\n\t\t\t\tinprop: 'url',\n\t\t\t\ttitles: options.title,\n\t\t\t\tiiextmetadatalanguage: userLanguage\n\t\t\t};\n\n\t\t// Set special params for audio/video files\n\t\tif ( options.mediaType === 'video' || options.mediaType === 'audio' ) {\n\t\t\tparams.prop = 'info|videoinfo|entityterms';\n\t\t\tparams.viprop = 'url|size|mime|extmetadata|derivatives';\n\t\t\tparams.viurlwidth = 640;\n\t\t} else {\n\t\t\tparams.prop = 'info|imageinfo|entityterms';\n\t\t\tparams.iiprop = 'url|size|mime|extmetadata';\n\t\t\tparams.iiurlheight = options.mediaType === 'image' ? 180 : undefined;\n\t\t}\n\n\t\treturn getLocationAgnosticMwApi( externalSearchUri, { anonymous: true } ).get( params );\n\t},\n\n\t/**\n\t * Handle search term clear.\n\t *\n\t * @param {Object} context\n\t */\n\tclear: function ( context ) {\n\t\tif ( activeSearchRequest ) {\n\t\t\tactiveSearchRequest.abort();\n\t\t\tactiveSearchRequest = null;\n\t\t}\n\n\t\tcontext.commit( 'clearFilterQueryParams' );\n\t\tcontext.commit( 'clearTerm' );\n\t\tcontext.commit( 'resetFilters' );\n\t\tcontext.commit( 'resetResults' );\n\t\tcontext.commit( 'clearDidYouMean' );\n\t\tcontext.commit( 'clearSearchWarnings' );\n\t\tcontext.dispatch( 'pushQueryToHistoryState' );\n\t},\n\n\t/**\n\t * @param {Object} context\n\t */\n\tready: function ( context ) {\n\t\tcontext.commit( 'setInitialized' );\n\t},\n\n\t/**\n\t * Update \"Switch to Special:Search\" link target\n\t *\n\t * @param {Object} context\n\t */\n\tupdateSpecialSearch: function ( context ) {\n\t\tconst specialSearch = document.getElementById( 'mediasearch-switch-special-search' );\n\t\tif ( !specialSearch ) {\n\t\t\treturn;\n\t\t}\n\t\tconst url = new URL( specialSearch.href );\n\t\turl.searchParams.set( 'search', context.state.uriQuery.search );\n\t\tspecialSearch.href = url.toString();\n\t},\n\t/**\n\t * Push the current value of url.query to the browser's session history stack\n\t *\n\t * @param {Object} context\n\t */\n\tpushQueryToHistoryState: function ( context ) {\n\t\t// update URL query object with the one currently available within the store\n\t\t// In Vue 3, context.state.uriQuery is a Proxy, and passing it to replaceState()\n\t\t// causes an error saying it can't be cloned. Work around this by cloning the uriQuery\n\t\t// object ourselves, using JSON.parse( JSON.stringify() ) to convert the Proxy to Object.\n\t\tconst query = JSON.parse( JSON.stringify( context.state.uriQuery ) );\n\t\tconst queryString = '?' + new URLSearchParams( query ).toString();\n\t\twindow.history.pushState( query, null, queryString );\n\t\tcontext.dispatch( 'updateSpecialSearch' );\n\t},\n\t/**\n\t * Replace the current value of url.query to the browser's session history stack\n\t *\n\t * @param {Object} context\n\t */\n\treplaceQueryToHistoryState: function ( context ) {\n\t\t// update URL query object with the one currently available within the store\n\t\t// In Vue 3, context.state.uriQuery is a Proxy, and passing it to replaceState()\n\t\t// causes an error saying it can't be cloned. Work around this by cloning the uriQuery\n\t\t// object ourselves, using JSON.parse( JSON.stringify() ) to convert the Proxy to Object.\n\t\tconst query = JSON.parse( JSON.stringify( context.state.uriQuery ) );\n\t\tconst queryString = '?' + new URLSearchParams( query ).toString();\n\t\twindow.history.replaceState( query, null, queryString );\n\t\tcontext.dispatch( 'updateSpecialSearch' );\n\t},\n\t/**\n\t * Update the current Type value and reset all filters\n\t *\n\t * @param {Object} context\n\t * @param {string} currentType\n\t */\n\tupdateCurrentType: function ( context, currentType ) {\n\t\tif ( context.getters.currentType === currentType ) {\n\t\t\treturn;\n\t\t}\n\t\tcontext.commit( 'clearFilterQueryParams' );\n\t\tcontext.commit( 'setCurrentType', currentType );\n\t\tcontext.commit( 'updateFilterQueryParams', context.state.filterValues[ currentType ] );\n\t},\n\t/**\n\t * Clean query paramethers and update the history state\n\t *\n\t * @param {Object} context\n\t */\n\tclearQueryParams: function ( context ) {\n\t\tcontext.commit( 'clearTerm' );\n\t\tcontext.commit( 'clearFilterQueryParams' );\n\t\tcontext.dispatch( 'pushQueryToHistoryState' );\n\t},\n\t/**\n\t * Align mw active type with query parameter one. This is to make sure we\n\t * align the UI with the value received from the PHP side\n\t *\n\t * @param {Object} context\n\t */\n\tsyncActiveTypeAndQueryType: function ( context ) {\n\t\tconst activeType = mw.config.get( 'sdmsInitialSearchResults' ).activeType;\n\n\t\tif ( context.state.uriQuery.type !== activeType ) {\n\t\t\tcontext.commit( 'setCurrentType', activeType );\n\t\t}\n\t}\n};\n","usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/store/getters.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/store/index.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/store/mutations.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/resources/store/state.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/tests/jest/.eslintrc.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","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":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]}]},{"filePath":"/src/repo/tests/jest/components/DidYouMean.test.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]}]},{"filePath":"/src/repo/tests/jest/components/EmptyState.test.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]}]},{"filePath":"/src/repo/tests/jest/components/EndOfResults.test.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]}]},{"filePath":"/src/repo/tests/jest/components/NamespaceFilterDialog.test.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]}]},{"filePath":"/src/repo/tests/jest/components/NoResults.test.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]}]},{"filePath":"/src/repo/tests/jest/components/QuickView.test.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]}]},{"filePath":"/src/repo/tests/jest/components/SearchFilters.test.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]}]},{"filePath":"/src/repo/tests/jest/components/SearchResults.test.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]}]},{"filePath":"/src/repo/tests/jest/components/SearchWarnings.test.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]}]},{"filePath":"/src/repo/tests/jest/components/Spinner.test.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]}]},{"filePath":"/src/repo/tests/jest/components/UserNotice.test.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]}]},{"filePath":"/src/repo/tests/jest/components/app.test.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]}]},{"filePath":"/src/repo/tests/jest/components/base/autocompleteSearchInput.test.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]}]},{"filePath":"/src/repo/tests/jest/components/base/copyTextLayout.test.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]}]},{"filePath":"/src/repo/tests/jest/components/base/dialog.test.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]}]},{"filePath":"/src/repo/tests/jest/components/base/image.test.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]}]},{"filePath":"/src/repo/tests/jest/components/base/player.test.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]}]},{"filePath":"/src/repo/tests/jest/components/base/select.test.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]}]},{"filePath":"/src/repo/tests/jest/components/base/selectMenu.test.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]}]},{"filePath":"/src/repo/tests/jest/components/results/ImageResult.test.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]}]},{"filePath":"/src/repo/tests/jest/components/results/audioResult.test.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]}]},{"filePath":"/src/repo/tests/jest/components/results/otherResult.test.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]}]},{"filePath":"/src/repo/tests/jest/components/results/pageResult.test.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]}]},{"filePath":"/src/repo/tests/jest/components/results/videoResult.test.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]}]},{"filePath":"/src/repo/tests/jest/ignore/ensureArray.test.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]}]},{"filePath":"/src/repo/tests/jest/mixins/autocompleteLookupHandler.test.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]}]},{"filePath":"/src/repo/tests/jest/mixins/observer.test.js","messages":[],"suppressedMessages":[{"ruleId":"compat/compat","severity":2,"message":"IntersectionObserver is not supported in Safari 11.1","line":27,"column":12,"nodeType":"MemberExpression","endLine":27,"endColumn":39,"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]}]},{"filePath":"/src/repo/tests/jest/mixins/restoreHistoryHandler.test.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]}]},{"filePath":"/src/repo/tests/jest/mocks/EventListener.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]}]},{"filePath":"/src/repo/tests/jest/mocks/ExecCommand.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]}]},{"filePath":"/src/repo/tests/jest/mocks/IntersectionObserver.js","messages":[],"suppressedMessages":[{"ruleId":"compat/compat","severity":2,"message":"IntersectionObserver is not supported in Safari 11.1","line":10,"column":1,"nodeType":"MemberExpression","endLine":10,"endColumn":28,"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]}]},{"filePath":"/src/repo/tests/jest/mocks/Performance.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]}]},{"filePath":"/src/repo/tests/jest/mocks/history.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]}]},{"filePath":"/src/repo/tests/jest/store/actions.test.js","messages":[],"suppressedMessages":[{"ruleId":"camelcase","severity":2,"message":"Identifier 'mediasearch_1' is not in camel case.","line":184,"column":5,"nodeType":"Identifier","messageId":"notCamelCase","endLine":184,"endColumn":18,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'mediasearch_1' is not in camel case.","line":191,"column":6,"nodeType":"Identifier","messageId":"notCamelCase","endLine":191,"endColumn":19,"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]}]},{"filePath":"/src/repo/tests/jest/store/getters.test.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]}]},{"filePath":"/src/repo/tests/jest/store/mutations.test.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]}]},{"filePath":"/src/repo/tests/jest/store/store.test.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]}]}]
--- end ---
$ /usr/bin/npm ci
--- stderr ---
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE package: '@wikimedia/codex@2.3.2',
npm WARN EBADENGINE required: { node: '>=20.19.1', npm: '>=10.8.2' },
npm WARN EBADENGINE current: { node: 'v20.19.2', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE package: '@wikimedia/codex-icons@2.3.2',
npm WARN EBADENGINE required: { node: '>=20.19.1', npm: '>=10.8.2' },
npm WARN EBADENGINE current: { node: 'v20.19.2', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN deprecated osenv@0.1.5: This package is no longer supported.
npm WARN deprecated inflight@1.0.6: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.
npm WARN deprecated @humanwhocodes/config-array@0.13.0: Use @eslint/config-array instead
npm WARN deprecated rimraf@3.0.2: Rimraf versions prior to v4 are no longer supported
npm WARN deprecated abab@2.0.6: Use your platform's native atob() and btoa() methods instead
npm WARN deprecated @humanwhocodes/object-schema@2.0.3: Use @eslint/object-schema instead
npm WARN deprecated glob@7.1.7: Glob versions prior to v9 are no longer supported
npm WARN deprecated domexception@4.0.0: Use your platform's native DOMException instead
npm WARN deprecated eslint@8.57.1: This version is no longer supported. Please see https://eslint.org/version-support for other options.
npm WARN deprecated core-js@2.6.12: core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js.
--- stdout ---
added 1118 packages, and audited 1119 packages in 14s
166 packages are looking for funding
run `npm fund` for details
6 vulnerabilities (2 high, 4 critical)
To address issues that do not require attention, run:
npm audit fix
To address all issues (including breaking changes), run:
npm audit fix --force
Run `npm audit` for details.
--- end ---
$ /usr/bin/npm test
--- stderr ---
PASS tests/jest/store/mutations.test.js
PASS tests/jest/store/actions.test.js
● Console
console.warn
jQuery.Deferred exception: mw.track is not a function TypeError: mw.track is not a function
at track (/src/repo/resources/store/actions.js:325:7)
at fire (/src/repo/node_modules/jquery/dist/jquery.js:3223:31)
at fireWith (/src/repo/node_modules/jquery/dist/jquery.js:3353:7)
at mightThrow (/src/repo/node_modules/jquery/dist/jquery.js:3548:46)
at process (/src/repo/node_modules/jquery/dist/jquery.js:3557:12)
at Timeout.task [as _onTimeout] (/src/repo/node_modules/jsdom/lib/jsdom/browser/Window.js:520:19)
at listOnTimeout (node:internal/timers:581:17)
at processTimers (node:internal/timers:519:7) undefined
at Function.jQuery.Deferred.exceptionHook (node_modules/jquery/dist/jquery.js:3783:18)
at process (node_modules/jquery/dist/jquery.js:3561:29)
at Timeout.task [as _onTimeout] (node_modules/jsdom/lib/jsdom/browser/Window.js:520:19)
console.warn
jQuery.Deferred exception: mw.track is not a function TypeError: mw.track is not a function
at track (/src/repo/resources/store/actions.js:325:7)
at fire (/src/repo/node_modules/jquery/dist/jquery.js:3223:31)
at fireWith (/src/repo/node_modules/jquery/dist/jquery.js:3353:7)
at mightThrow (/src/repo/node_modules/jquery/dist/jquery.js:3548:46)
at process (/src/repo/node_modules/jquery/dist/jquery.js:3557:12)
at Timeout.task [as _onTimeout] (/src/repo/node_modules/jsdom/lib/jsdom/browser/Window.js:520:19)
at listOnTimeout (node:internal/timers:581:17)
at processTimers (node:internal/timers:519:7) undefined
at Function.jQuery.Deferred.exceptionHook (node_modules/jquery/dist/jquery.js:3783:18)
at process (node_modules/jquery/dist/jquery.js:3561:29)
at Timeout.task [as _onTimeout] (node_modules/jsdom/lib/jsdom/browser/Window.js:520:19)
console.warn
jQuery.Deferred exception: mw.track is not a function TypeError: mw.track is not a function
at track (/src/repo/resources/store/actions.js:325:7)
at fire (/src/repo/node_modules/jquery/dist/jquery.js:3223:31)
at fireWith (/src/repo/node_modules/jquery/dist/jquery.js:3353:7)
at mightThrow (/src/repo/node_modules/jquery/dist/jquery.js:3548:46)
at process (/src/repo/node_modules/jquery/dist/jquery.js:3557:12)
at Timeout.task [as _onTimeout] (/src/repo/node_modules/jsdom/lib/jsdom/browser/Window.js:520:19)
at listOnTimeout (node:internal/timers:581:17)
at processTimers (node:internal/timers:519:7) undefined
at Function.jQuery.Deferred.exceptionHook (node_modules/jquery/dist/jquery.js:3783:18)
at process (node_modules/jquery/dist/jquery.js:3561:29)
at Timeout.task [as _onTimeout] (node_modules/jsdom/lib/jsdom/browser/Window.js:520:19)
console.warn
jQuery.Deferred exception: mw.track is not a function TypeError: mw.track is not a function
at track (/src/repo/resources/store/actions.js:325:7)
at fire (/src/repo/node_modules/jquery/dist/jquery.js:3223:31)
at fireWith (/src/repo/node_modules/jquery/dist/jquery.js:3353:7)
at mightThrow (/src/repo/node_modules/jquery/dist/jquery.js:3548:46)
at process (/src/repo/node_modules/jquery/dist/jquery.js:3557:12)
at Timeout.task [as _onTimeout] (/src/repo/node_modules/jsdom/lib/jsdom/browser/Window.js:520:19)
at listOnTimeout (node:internal/timers:581:17)
at processTimers (node:internal/timers:519:7) undefined
at Function.jQuery.Deferred.exceptionHook (node_modules/jquery/dist/jquery.js:3783:18)
at process (node_modules/jquery/dist/jquery.js:3561:29)
at Timeout.task [as _onTimeout] (node_modules/jsdom/lib/jsdom/browser/Window.js:520:19)
console.warn
jQuery.Deferred exception: mw.track is not a function TypeError: mw.track is not a function
at track (/src/repo/resources/store/actions.js:325:7)
at fire (/src/repo/node_modules/jquery/dist/jquery.js:3223:31)
at fireWith (/src/repo/node_modules/jquery/dist/jquery.js:3353:7)
at mightThrow (/src/repo/node_modules/jquery/dist/jquery.js:3548:46)
at process (/src/repo/node_modules/jquery/dist/jquery.js:3557:12)
at Timeout.task [as _onTimeout] (/src/repo/node_modules/jsdom/lib/jsdom/browser/Window.js:520:19)
at listOnTimeout (node:internal/timers:581:17)
at processTimers (node:internal/timers:519:7) undefined
at Function.jQuery.Deferred.exceptionHook (node_modules/jquery/dist/jquery.js:3783:18)
at process (node_modules/jquery/dist/jquery.js:3561:29)
at Timeout.task [as _onTimeout] (node_modules/jsdom/lib/jsdom/browser/Window.js:520:19)
console.warn
jQuery.Deferred exception: mw.track is not a function TypeError: mw.track is not a function
at track (/src/repo/resources/store/actions.js:325:7)
at fire (/src/repo/node_modules/jquery/dist/jquery.js:3223:31)
at fireWith (/src/repo/node_modules/jquery/dist/jquery.js:3353:7)
at mightThrow (/src/repo/node_modules/jquery/dist/jquery.js:3548:46)
at process (/src/repo/node_modules/jquery/dist/jquery.js:3557:12)
at Timeout.task [as _onTimeout] (/src/repo/node_modules/jsdom/lib/jsdom/browser/Window.js:520:19)
at listOnTimeout (node:internal/timers:581:17)
at processTimers (node:internal/timers:519:7) undefined
at Function.jQuery.Deferred.exceptionHook (node_modules/jquery/dist/jquery.js:3783:18)
at process (node_modules/jquery/dist/jquery.js:3561:29)
at Timeout.task [as _onTimeout] (node_modules/jsdom/lib/jsdom/browser/Window.js:520:19)
console.warn
jQuery.Deferred exception: mw.track is not a function TypeError: mw.track is not a function
at track (/src/repo/resources/store/actions.js:325:7)
at fire (/src/repo/node_modules/jquery/dist/jquery.js:3223:31)
at fireWith (/src/repo/node_modules/jquery/dist/jquery.js:3353:7)
at mightThrow (/src/repo/node_modules/jquery/dist/jquery.js:3548:46)
at process (/src/repo/node_modules/jquery/dist/jquery.js:3557:12)
at Timeout.task [as _onTimeout] (/src/repo/node_modules/jsdom/lib/jsdom/browser/Window.js:520:19)
at listOnTimeout (node:internal/timers:581:17)
at processTimers (node:internal/timers:519:7) undefined
at Function.jQuery.Deferred.exceptionHook (node_modules/jquery/dist/jquery.js:3783:18)
at process (node_modules/jquery/dist/jquery.js:3561:29)
at Timeout.task [as _onTimeout] (node_modules/jsdom/lib/jsdom/browser/Window.js:520:19)
console.warn
jQuery.Deferred exception: mw.track is not a function TypeError: mw.track is not a function
at track (/src/repo/resources/store/actions.js:325:7)
at fire (/src/repo/node_modules/jquery/dist/jquery.js:3223:31)
at fireWith (/src/repo/node_modules/jquery/dist/jquery.js:3353:7)
at mightThrow (/src/repo/node_modules/jquery/dist/jquery.js:3548:46)
at process (/src/repo/node_modules/jquery/dist/jquery.js:3557:12)
at Timeout.task [as _onTimeout] (/src/repo/node_modules/jsdom/lib/jsdom/browser/Window.js:520:19)
at listOnTimeout (node:internal/timers:581:17)
at processTimers (node:internal/timers:519:7) undefined
at Function.jQuery.Deferred.exceptionHook (node_modules/jquery/dist/jquery.js:3783:18)
at process (node_modules/jquery/dist/jquery.js:3561:29)
at Timeout.task [as _onTimeout] (node_modules/jsdom/lib/jsdom/browser/Window.js:520:19)
console.warn
jQuery.Deferred exception: mw.track is not a function TypeError: mw.track is not a function
at track (/src/repo/resources/store/actions.js:325:7)
at fire (/src/repo/node_modules/jquery/dist/jquery.js:3223:31)
at fireWith (/src/repo/node_modules/jquery/dist/jquery.js:3353:7)
at mightThrow (/src/repo/node_modules/jquery/dist/jquery.js:3548:46)
at process (/src/repo/node_modules/jquery/dist/jquery.js:3557:12)
at Timeout.task [as _onTimeout] (/src/repo/node_modules/jsdom/lib/jsdom/browser/Window.js:520:19)
at listOnTimeout (node:internal/timers:581:17)
at processTimers (node:internal/timers:519:7) undefined
at Function.jQuery.Deferred.exceptionHook (node_modules/jquery/dist/jquery.js:3783:18)
at process (node_modules/jquery/dist/jquery.js:3561:29)
at Timeout.task [as _onTimeout] (node_modules/jsdom/lib/jsdom/browser/Window.js:520:19)
console.warn
jQuery.Deferred exception: mw.track is not a function TypeError: mw.track is not a function
at track (/src/repo/resources/store/actions.js:325:7)
at fire (/src/repo/node_modules/jquery/dist/jquery.js:3223:31)
at fireWith (/src/repo/node_modules/jquery/dist/jquery.js:3353:7)
at mightThrow (/src/repo/node_modules/jquery/dist/jquery.js:3548:46)
at process (/src/repo/node_modules/jquery/dist/jquery.js:3557:12)
at Timeout.task [as _onTimeout] (/src/repo/node_modules/jsdom/lib/jsdom/browser/Window.js:520:19)
at listOnTimeout (node:internal/timers:581:17)
at processTimers (node:internal/timers:519:7) undefined
at Function.jQuery.Deferred.exceptionHook (node_modules/jquery/dist/jquery.js:3783:18)
at process (node_modules/jquery/dist/jquery.js:3561:29)
at Timeout.task [as _onTimeout] (node_modules/jsdom/lib/jsdom/browser/Window.js:520:19)
console.warn
jQuery.Deferred exception: mw.track is not a function TypeError: mw.track is not a function
at track (/src/repo/resources/store/actions.js:325:7)
at fire (/src/repo/node_modules/jquery/dist/jquery.js:3223:31)
at fireWith (/src/repo/node_modules/jquery/dist/jquery.js:3353:7)
at mightThrow (/src/repo/node_modules/jquery/dist/jquery.js:3548:46)
at process (/src/repo/node_modules/jquery/dist/jquery.js:3557:12)
at Timeout.task [as _onTimeout] (/src/repo/node_modules/jsdom/lib/jsdom/browser/Window.js:520:19)
at listOnTimeout (node:internal/timers:581:17)
at processTimers (node:internal/timers:519:7) undefined
at Function.jQuery.Deferred.exceptionHook (node_modules/jquery/dist/jquery.js:3783:18)
at process (node_modules/jquery/dist/jquery.js:3561:29)
at Timeout.task [as _onTimeout] (node_modules/jsdom/lib/jsdom/browser/Window.js:520:19)
console.warn
jQuery.Deferred exception: mw.track is not a function TypeError: mw.track is not a function
at track (/src/repo/resources/store/actions.js:325:7)
at fire (/src/repo/node_modules/jquery/dist/jquery.js:3223:31)
at fireWith (/src/repo/node_modules/jquery/dist/jquery.js:3353:7)
at mightThrow (/src/repo/node_modules/jquery/dist/jquery.js:3548:46)
at process (/src/repo/node_modules/jquery/dist/jquery.js:3557:12)
at Timeout.task [as _onTimeout] (/src/repo/node_modules/jsdom/lib/jsdom/browser/Window.js:520:19)
at listOnTimeout (node:internal/timers:581:17)
at processTimers (node:internal/timers:519:7) undefined
at Function.jQuery.Deferred.exceptionHook (node_modules/jquery/dist/jquery.js:3783:18)
at process (node_modules/jquery/dist/jquery.js:3561:29)
at Timeout.task [as _onTimeout] (node_modules/jsdom/lib/jsdom/browser/Window.js:520:19)
console.warn
jQuery.Deferred exception: mw.track is not a function TypeError: mw.track is not a function
at track (/src/repo/resources/store/actions.js:325:7)
at fire (/src/repo/node_modules/jquery/dist/jquery.js:3223:31)
at fireWith (/src/repo/node_modules/jquery/dist/jquery.js:3353:7)
at mightThrow (/src/repo/node_modules/jquery/dist/jquery.js:3548:46)
at process (/src/repo/node_modules/jquery/dist/jquery.js:3557:12)
at Timeout.task [as _onTimeout] (/src/repo/node_modules/jsdom/lib/jsdom/browser/Window.js:520:19)
at listOnTimeout (node:internal/timers:581:17)
at processTimers (node:internal/timers:519:7) undefined
at Function.jQuery.Deferred.exceptionHook (node_modules/jquery/dist/jquery.js:3783:18)
at process (node_modules/jquery/dist/jquery.js:3561:29)
at Timeout.task [as _onTimeout] (node_modules/jsdom/lib/jsdom/browser/Window.js:520:19)
console.warn
jQuery.Deferred exception: mw.track is not a function TypeError: mw.track is not a function
at track (/src/repo/resources/store/actions.js:325:7)
at fire (/src/repo/node_modules/jquery/dist/jquery.js:3223:31)
at fireWith (/src/repo/node_modules/jquery/dist/jquery.js:3353:7)
at mightThrow (/src/repo/node_modules/jquery/dist/jquery.js:3548:46)
at process (/src/repo/node_modules/jquery/dist/jquery.js:3557:12)
at Timeout.task [as _onTimeout] (/src/repo/node_modules/jsdom/lib/jsdom/browser/Window.js:520:19)
at listOnTimeout (node:internal/timers:581:17)
at processTimers (node:internal/timers:519:7) undefined
at Function.jQuery.Deferred.exceptionHook (node_modules/jquery/dist/jquery.js:3783:18)
at process (node_modules/jquery/dist/jquery.js:3561:29)
at Timeout.task [as _onTimeout] (node_modules/jsdom/lib/jsdom/browser/Window.js:520:19)
PASS tests/jest/components/QuickView.test.js
● Console
console.warn
[Vue warn]: Property "rootClasses" was accessed during render but is not defined on instance.
at <QuickView title="File:Tired 20-year-old cat.jpg" canonicalurl="https://commons.wikimedia.org/wiki/File:Tired_20-year-old_cat.jpg" imageinfo= [
{
size: 3017217,
width: 2484,
height: 1870,
thumburl: 'https://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Tired_20-year-old_cat.jpg/239px-Tired_20-year-old_cat.jpg',
thumbwidth: 239,
thumbheight: 180,
responsiveUrls: {
'2': 'https://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Tired_20-year-old_cat.jpg/478px-Tired_20-year-old_cat.jpg',
'1.5': 'https://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Tired_20-year-old_cat.jpg/359px-Tired_20-year-old_cat.jpg'
},
url: 'https://upload.wikimedia.org/wikipedia/commons/3/32/Tired_20-year-old_cat.jpg',
descriptionurl: 'https://commons.wikimedia.org/wiki/File:Tired_20-year-old_cat.jpg',
descriptionshorturl: 'https://commons.wikimedia.org/w/index.php?curid=9809267',
extmetadata: {
DateTime: [Object],
ObjectName: [Object],
CommonsMetadataExtension: [Object],
Categories: [Object],
Assessments: [Object],
ImageDescription: [Object],
DateTimeOriginal: [Object],
Credit: [Object],
Artist: [Object],
Permission: [Object],
LicenseShortName: [Object],
UsageTerms: [Object],
AttributionRequired: [Object],
Attribution: [Object],
LicenseUrl: [Object],
Copyrighted: [Object],
Restrictions: [Object],
License: [Object]
},
mime: 'image/jpeg'
}
] ... >
at <VTUROOT>
592 | }
593 | },
> 594 |
| ^
595 | mimeType: function () {
596 | return this.imageinfo[ 0 ].mime;
597 | },
at warn$1 (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:53:13)
at Object.get (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3117:9)
at Proxy.rootClasses (resources/components/QuickView.vue:594:64)
at renderComponentRoot (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6445:16)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5262:46)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5269:11)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at render (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5922:7)
at mount (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3922:13)
at Object.app.mount (node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.js:1703:19)
at mount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8415:18)
at shallowMount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8434:12)
at Object.<anonymous> (tests/jest/components/QuickView.test.js:224:20)
console.warn
[Vue warn]: Property "isImage" was accessed during render but is not defined on instance.
at <QuickView title="File:Tired 20-year-old cat.jpg" canonicalurl="https://commons.wikimedia.org/wiki/File:Tired_20-year-old_cat.jpg" imageinfo= [
{
size: 3017217,
width: 2484,
height: 1870,
thumburl: 'https://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Tired_20-year-old_cat.jpg/239px-Tired_20-year-old_cat.jpg',
thumbwidth: 239,
thumbheight: 180,
responsiveUrls: {
'2': 'https://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Tired_20-year-old_cat.jpg/478px-Tired_20-year-old_cat.jpg',
'1.5': 'https://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Tired_20-year-old_cat.jpg/359px-Tired_20-year-old_cat.jpg'
},
url: 'https://upload.wikimedia.org/wikipedia/commons/3/32/Tired_20-year-old_cat.jpg',
descriptionurl: 'https://commons.wikimedia.org/wiki/File:Tired_20-year-old_cat.jpg',
descriptionshorturl: 'https://commons.wikimedia.org/w/index.php?curid=9809267',
extmetadata: {
DateTime: [Object],
ObjectName: [Object],
CommonsMetadataExtension: [Object],
Categories: [Object],
Assessments: [Object],
ImageDescription: [Object],
DateTimeOriginal: [Object],
Credit: [Object],
Artist: [Object],
Permission: [Object],
LicenseShortName: [Object],
UsageTerms: [Object],
AttributionRequired: [Object],
Attribution: [Object],
LicenseUrl: [Object],
Copyrighted: [Object],
Restrictions: [Object],
License: [Object]
},
mime: 'image/jpeg'
}
] ... >
at <VTUROOT>
600 | if ( this.isVideo || this.isAudio ) {
601 | return {
> 602 | autoplay: false,
| ^
603 | controls: true,
604 | fluid: true,
605 | poster: this.videoinfo[ 0 ].thumburl,
at warn$1 (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:53:13)
at Object.get (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3117:9)
at Proxy.isImage (resources/components/QuickView.vue:602:64)
at renderComponentRoot (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6445:16)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5262:46)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5269:11)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at render (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5922:7)
at mount (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3922:13)
at Object.app.mount (node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.js:1703:19)
at mount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8415:18)
at shallowMount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8434:12)
at Object.<anonymous> (tests/jest/components/QuickView.test.js:224:20)
console.warn
[Vue warn]: Property "isVideo" was accessed during render but is not defined on instance.
at <QuickView title="File:Tired 20-year-old cat.jpg" canonicalurl="https://commons.wikimedia.org/wiki/File:Tired_20-year-old_cat.jpg" imageinfo= [
{
size: 3017217,
width: 2484,
height: 1870,
thumburl: 'https://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Tired_20-year-old_cat.jpg/239px-Tired_20-year-old_cat.jpg',
thumbwidth: 239,
thumbheight: 180,
responsiveUrls: {
'2': 'https://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Tired_20-year-old_cat.jpg/478px-Tired_20-year-old_cat.jpg',
'1.5': 'https://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Tired_20-year-old_cat.jpg/359px-Tired_20-year-old_cat.jpg'
},
url: 'https://upload.wikimedia.org/wikipedia/commons/3/32/Tired_20-year-old_cat.jpg',
descriptionurl: 'https://commons.wikimedia.org/wiki/File:Tired_20-year-old_cat.jpg',
descriptionshorturl: 'https://commons.wikimedia.org/w/index.php?curid=9809267',
extmetadata: {
DateTime: [Object],
ObjectName: [Object],
CommonsMetadataExtension: [Object],
Categories: [Object],
Assessments: [Object],
ImageDescription: [Object],
DateTimeOriginal: [Object],
Credit: [Object],
Artist: [Object],
Permission: [Object],
LicenseShortName: [Object],
UsageTerms: [Object],
AttributionRequired: [Object],
Attribution: [Object],
LicenseUrl: [Object],
Copyrighted: [Object],
Restrictions: [Object],
License: [Object]
},
mime: 'image/jpeg'
}
] ... >
at <VTUROOT>
616 | * Emit a close event. If the user triggered this from the keyboard instead
617 | * of by clicking, add an additional parameter so that the parent knows to
> 618 | * restore focus to the originating search result.
| ^
619 | *
620 | * @param {Event} event
621 | * @fires close
at warn$1 (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:53:13)
at Object.get (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3117:9)
at Proxy.isVideo (resources/components/QuickView.vue:618:88)
at renderComponentRoot (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6445:16)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5262:46)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5269:11)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at render (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5922:7)
at mount (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3922:13)
at Object.app.mount (node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.js:1703:19)
at mount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8415:18)
at shallowMount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8434:12)
at Object.<anonymous> (tests/jest/components/QuickView.test.js:224:20)
console.warn
[Vue warn]: Property "isAudio" was accessed during render but is not defined on instance.
at <QuickView title="File:Tired 20-year-old cat.jpg" canonicalurl="https://commons.wikimedia.org/wiki/File:Tired_20-year-old_cat.jpg" imageinfo= [
{
size: 3017217,
width: 2484,
height: 1870,
thumburl: 'https://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Tired_20-year-old_cat.jpg/239px-Tired_20-year-old_cat.jpg',
thumbwidth: 239,
thumbheight: 180,
responsiveUrls: {
'2': 'https://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Tired_20-year-old_cat.jpg/478px-Tired_20-year-old_cat.jpg',
'1.5': 'https://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Tired_20-year-old_cat.jpg/359px-Tired_20-year-old_cat.jpg'
},
url: 'https://upload.wikimedia.org/wikipedia/commons/3/32/Tired_20-year-old_cat.jpg',
descriptionurl: 'https://commons.wikimedia.org/wiki/File:Tired_20-year-old_cat.jpg',
descriptionshorturl: 'https://commons.wikimedia.org/w/index.php?curid=9809267',
extmetadata: {
DateTime: [Object],
ObjectName: [Object],
CommonsMetadataExtension: [Object],
Categories: [Object],
Assessments: [Object],
ImageDescription: [Object],
DateTimeOriginal: [Object],
Credit: [Object],
Artist: [Object],
Permission: [Object],
LicenseShortName: [Object],
UsageTerms: [Object],
AttributionRequired: [Object],
Attribution: [Object],
LicenseUrl: [Object],
Copyrighted: [Object],
Restrictions: [Object],
License: [Object]
},
mime: 'image/jpeg'
}
] ... >
at <VTUROOT>
616 | * Emit a close event. If the user triggered this from the keyboard instead
617 | * of by clicking, add an additional parameter so that the parent knows to
> 618 | * restore focus to the originating search result.
| ^
619 | *
620 | * @param {Event} event
621 | * @fires close
at warn$1 (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:53:13)
at Object.get (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3117:9)
at Proxy.isAudio (resources/components/QuickView.vue:618:104)
at renderComponentRoot (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6445:16)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5262:46)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5269:11)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at render (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5922:7)
at mount (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3922:13)
at Object.app.mount (node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.js:1703:19)
at mount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8415:18)
at shallowMount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8434:12)
at Object.<anonymous> (tests/jest/components/QuickView.test.js:224:20)
console.warn
[Vue warn]: Property "displayName" was accessed during render but is not defined on instance.
at <QuickView title="File:Tired 20-year-old cat.jpg" canonicalurl="https://commons.wikimedia.org/wiki/File:Tired_20-year-old_cat.jpg" imageinfo= [
{
size: 3017217,
width: 2484,
height: 1870,
thumburl: 'https://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Tired_20-year-old_cat.jpg/239px-Tired_20-year-old_cat.jpg',
thumbwidth: 239,
thumbheight: 180,
responsiveUrls: {
'2': 'https://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Tired_20-year-old_cat.jpg/478px-Tired_20-year-old_cat.jpg',
'1.5': 'https://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Tired_20-year-old_cat.jpg/359px-Tired_20-year-old_cat.jpg'
},
url: 'https://upload.wikimedia.org/wikipedia/commons/3/32/Tired_20-year-old_cat.jpg',
descriptionurl: 'https://commons.wikimedia.org/wiki/File:Tired_20-year-old_cat.jpg',
descriptionshorturl: 'https://commons.wikimedia.org/w/index.php?curid=9809267',
extmetadata: {
DateTime: [Object],
ObjectName: [Object],
CommonsMetadataExtension: [Object],
Categories: [Object],
Assessments: [Object],
ImageDescription: [Object],
DateTimeOriginal: [Object],
Credit: [Object],
Artist: [Object],
Permission: [Object],
LicenseShortName: [Object],
UsageTerms: [Object],
AttributionRequired: [Object],
Attribution: [Object],
LicenseUrl: [Object],
Copyrighted: [Object],
Restrictions: [Object],
License: [Object]
},
mime: 'image/jpeg'
}
] ... >
at <VTUROOT>
654 |
655 | /**
> 656 | * Set the height of the div wrapping the thumbnail image to the display
| ^
657 | * height of that image to avoid a layout jump when the image loads.
658 | */
659 | getThumbnailWrapperStyle: function () {
at warn$1 (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:53:13)
at Object.get (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3117:9)
at Proxy.displayName (resources/components/QuickView.vue:656:503)
at renderComponentRoot (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6445:16)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5262:46)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5269:11)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at render (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5922:7)
at mount (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3922:13)
at Object.app.mount (node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.js:1703:19)
at mount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8415:18)
at shallowMount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8434:12)
at Object.<anonymous> (tests/jest/components/QuickView.test.js:224:20)
console.warn
[Vue warn]: Property "description" was accessed during render but is not defined on instance.
at <QuickView title="File:Tired 20-year-old cat.jpg" canonicalurl="https://commons.wikimedia.org/wiki/File:Tired_20-year-old_cat.jpg" imageinfo= [
{
size: 3017217,
width: 2484,
height: 1870,
thumburl: 'https://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Tired_20-year-old_cat.jpg/239px-Tired_20-year-old_cat.jpg',
thumbwidth: 239,
thumbheight: 180,
responsiveUrls: {
'2': 'https://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Tired_20-year-old_cat.jpg/478px-Tired_20-year-old_cat.jpg',
'1.5': 'https://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Tired_20-year-old_cat.jpg/359px-Tired_20-year-old_cat.jpg'
},
url: 'https://upload.wikimedia.org/wikipedia/commons/3/32/Tired_20-year-old_cat.jpg',
descriptionurl: 'https://commons.wikimedia.org/wiki/File:Tired_20-year-old_cat.jpg',
descriptionshorturl: 'https://commons.wikimedia.org/w/index.php?curid=9809267',
extmetadata: {
DateTime: [Object],
ObjectName: [Object],
CommonsMetadataExtension: [Object],
Categories: [Object],
Assessments: [Object],
ImageDescription: [Object],
DateTimeOriginal: [Object],
Credit: [Object],
Artist: [Object],
Permission: [Object],
LicenseShortName: [Object],
UsageTerms: [Object],
AttributionRequired: [Object],
Attribution: [Object],
LicenseUrl: [Object],
Copyrighted: [Object],
Restrictions: [Object],
License: [Object]
},
mime: 'image/jpeg'
}
] ... >
at <VTUROOT>
658 | */
659 | getThumbnailWrapperStyle: function () {
> 660 | if ( !this.imageinfo ) {
| ^
661 | return;
662 | }
663 |
at warn$1 (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:53:13)
at Object.get (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3117:9)
at Proxy.description (resources/components/QuickView.vue:660:139)
at renderComponentRoot (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6445:16)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5262:46)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5269:11)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at render (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5922:7)
at mount (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3922:13)
at Object.app.mount (node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.js:1703:19)
at mount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8415:18)
at shallowMount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8434:12)
at Object.<anonymous> (tests/jest/components/QuickView.test.js:224:20)
console.warn
[Vue warn]: Property "artist" was accessed during render but is not defined on instance.
at <QuickView title="File:Tired 20-year-old cat.jpg" canonicalurl="https://commons.wikimedia.org/wiki/File:Tired_20-year-old_cat.jpg" imageinfo= [
{
size: 3017217,
width: 2484,
height: 1870,
thumburl: 'https://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Tired_20-year-old_cat.jpg/239px-Tired_20-year-old_cat.jpg',
thumbwidth: 239,
thumbheight: 180,
responsiveUrls: {
'2': 'https://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Tired_20-year-old_cat.jpg/478px-Tired_20-year-old_cat.jpg',
'1.5': 'https://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Tired_20-year-old_cat.jpg/359px-Tired_20-year-old_cat.jpg'
},
url: 'https://upload.wikimedia.org/wikipedia/commons/3/32/Tired_20-year-old_cat.jpg',
descriptionurl: 'https://commons.wikimedia.org/wiki/File:Tired_20-year-old_cat.jpg',
descriptionshorturl: 'https://commons.wikimedia.org/w/index.php?curid=9809267',
extmetadata: {
DateTime: [Object],
ObjectName: [Object],
CommonsMetadataExtension: [Object],
Categories: [Object],
Assessments: [Object],
ImageDescription: [Object],
DateTimeOriginal: [Object],
Credit: [Object],
Artist: [Object],
Permission: [Object],
LicenseShortName: [Object],
UsageTerms: [Object],
AttributionRequired: [Object],
Attribution: [Object],
LicenseUrl: [Object],
Copyrighted: [Object],
Restrictions: [Object],
License: [Object]
},
mime: 'image/jpeg'
}
] ... >
at <VTUROOT>
660 | if ( !this.imageinfo ) {
661 | return;
> 662 | }
| ^
663 |
664 | const imgWidth = this.imageinfo[ 0 ].width;
665 | const imgHeight = this.imageinfo[ 0 ].height;
at warn$1 (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:53:13)
at Object.get (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3117:9)
at Proxy.artist (resources/components/QuickView.vue:662:94)
at renderComponentRoot (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6445:16)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5262:46)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5269:11)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at render (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5922:7)
at mount (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3922:13)
at Object.app.mount (node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.js:1703:19)
at mount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8415:18)
at shallowMount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8434:12)
at Object.<anonymous> (tests/jest/components/QuickView.test.js:224:20)
console.warn
[Vue warn]: Property "licenseText" was accessed during render but is not defined on instance.
at <QuickView title="File:Tired 20-year-old cat.jpg" canonicalurl="https://commons.wikimedia.org/wiki/File:Tired_20-year-old_cat.jpg" imageinfo= [
{
size: 3017217,
width: 2484,
height: 1870,
thumburl: 'https://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Tired_20-year-old_cat.jpg/239px-Tired_20-year-old_cat.jpg',
thumbwidth: 239,
thumbheight: 180,
responsiveUrls: {
'2': 'https://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Tired_20-year-old_cat.jpg/478px-Tired_20-year-old_cat.jpg',
'1.5': 'https://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Tired_20-year-old_cat.jpg/359px-Tired_20-year-old_cat.jpg'
},
url: 'https://upload.wikimedia.org/wikipedia/commons/3/32/Tired_20-year-old_cat.jpg',
descriptionurl: 'https://commons.wikimedia.org/wiki/File:Tired_20-year-old_cat.jpg',
descriptionshorturl: 'https://commons.wikimedia.org/w/index.php?curid=9809267',
extmetadata: {
DateTime: [Object],
ObjectName: [Object],
CommonsMetadataExtension: [Object],
Categories: [Object],
Assessments: [Object],
ImageDescription: [Object],
DateTimeOriginal: [Object],
Credit: [Object],
Artist: [Object],
Permission: [Object],
LicenseShortName: [Object],
UsageTerms: [Object],
AttributionRequired: [Object],
Attribution: [Object],
LicenseUrl: [Object],
Copyrighted: [Object],
Restrictions: [Object],
License: [Object]
},
mime: 'image/jpeg'
}
] ... >
at <VTUROOT>
664 | const imgWidth = this.imageinfo[ 0 ].width;
665 | const imgHeight = this.imageinfo[ 0 ].height;
> 666 | const elWidth = this.$refs.header.offsetWidth;
| ^
667 | let height;
668 | if ( imgWidth >= imgHeight ) {
669 | // For landscape-oriented images, calculate the height
at warn$1 (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:53:13)
at Object.get (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3117:9)
at Proxy.licenseText (resources/components/QuickView.vue:666:234)
at renderComponentRoot (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6445:16)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5262:46)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5269:11)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at render (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5922:7)
at mount (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3922:13)
at Object.app.mount (node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.js:1703:19)
at mount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8415:18)
at shallowMount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8434:12)
at Object.<anonymous> (tests/jest/components/QuickView.test.js:224:20)
console.warn
[Vue warn]: Property "displayName" was accessed during render but is not defined on instance.
at <QuickView title="File:Tired 20-year-old cat.jpg" canonicalurl="https://commons.wikimedia.org/wiki/File:Tired_20-year-old_cat.jpg" imageinfo= [
{
size: 3017217,
width: 2484,
height: 1870,
thumburl: 'https://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Tired_20-year-old_cat.jpg/239px-Tired_20-year-old_cat.jpg',
thumbwidth: 239,
thumbheight: 180,
responsiveUrls: {
'2': 'https://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Tired_20-year-old_cat.jpg/478px-Tired_20-year-old_cat.jpg',
'1.5': 'https://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Tired_20-year-old_cat.jpg/359px-Tired_20-year-old_cat.jpg'
},
url: 'https://upload.wikimedia.org/wikipedia/commons/3/32/Tired_20-year-old_cat.jpg',
descriptionurl: 'https://commons.wikimedia.org/wiki/File:Tired_20-year-old_cat.jpg',
descriptionshorturl: 'https://commons.wikimedia.org/w/index.php?curid=9809267',
extmetadata: {
DateTime: [Object],
ObjectName: [Object],
CommonsMetadataExtension: [Object],
Categories: [Object],
Assessments: [Object],
ImageDescription: [Object],
DateTimeOriginal: [Object],
Credit: [Object],
Artist: [Object],
Permission: [Object],
LicenseShortName: [Object],
UsageTerms: [Object],
AttributionRequired: [Object],
Attribution: [Object],
LicenseUrl: [Object],
Copyrighted: [Object],
Restrictions: [Object],
License: [Object]
},
mime: 'image/jpeg'
}
] ... >
at <VTUROOT>
678 | // A portrait-oriented image could be limited by several
679 | // constraints: the natural image height (e.g. an original file
> 680 | // that's only 200px tall), the CSS-enforced max-height of the
| ^
681 | // image (60vh), or the max-width of the container.
682 | height = Math.min(
683 | imgHeight,
at warn$1 (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:53:13)
at Object.get (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3117:9)
at Proxy.displayName (resources/components/QuickView.vue:680:197)
at renderComponentRoot (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6445:16)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5262:46)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5269:11)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at render (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5922:7)
at mount (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3922:13)
at Object.app.mount (node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.js:1703:19)
at mount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8415:18)
at shallowMount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8434:12)
at Object.<anonymous> (tests/jest/components/QuickView.test.js:224:20)
console.warn
[Vue warn]: Property "displayNameWithoutExtension" was accessed during render but is not defined on instance.
at <QuickView title="File:Tired 20-year-old cat.jpg" canonicalurl="https://commons.wikimedia.org/wiki/File:Tired_20-year-old_cat.jpg" imageinfo= [
{
size: 3017217,
width: 2484,
height: 1870,
thumburl: 'https://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Tired_20-year-old_cat.jpg/239px-Tired_20-year-old_cat.jpg',
thumbwidth: 239,
thumbheight: 180,
responsiveUrls: {
'2': 'https://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Tired_20-year-old_cat.jpg/478px-Tired_20-year-old_cat.jpg',
'1.5': 'https://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Tired_20-year-old_cat.jpg/359px-Tired_20-year-old_cat.jpg'
},
url: 'https://upload.wikimedia.org/wikipedia/commons/3/32/Tired_20-year-old_cat.jpg',
descriptionurl: 'https://commons.wikimedia.org/wiki/File:Tired_20-year-old_cat.jpg',
descriptionshorturl: 'https://commons.wikimedia.org/w/index.php?curid=9809267',
extmetadata: {
DateTime: [Object],
ObjectName: [Object],
CommonsMetadataExtension: [Object],
Categories: [Object],
Assessments: [Object],
ImageDescription: [Object],
DateTimeOriginal: [Object],
Credit: [Object],
Artist: [Object],
Permission: [Object],
LicenseShortName: [Object],
UsageTerms: [Object],
AttributionRequired: [Object],
Attribution: [Object],
LicenseUrl: [Object],
Copyrighted: [Object],
Restrictions: [Object],
License: [Object]
},
mime: 'image/jpeg'
}
] ... >
at <VTUROOT>
684 | window.innerHeight * 0.6,
685 | ( imgHeight * elWidth ) / imgWidth
> 686 | );
| ^
687 | }
688 |
689 | // For very short images, we need to add some vertical padding so
at warn$1 (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:53:13)
at Object.get (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3117:9)
at Proxy.displayNameWithoutExtension (resources/components/QuickView.vue:686:106)
at renderComponentRoot (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6445:16)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5262:46)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5269:11)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at render (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5922:7)
at mount (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3922:13)
at Object.app.mount (node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.js:1703:19)
at mount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8415:18)
at shallowMount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8434:12)
at Object.<anonymous> (tests/jest/components/QuickView.test.js:224:20)
console.warn
[Vue warn]: Property "creationDate" was accessed during render but is not defined on instance.
at <QuickView title="File:Tired 20-year-old cat.jpg" canonicalurl="https://commons.wikimedia.org/wiki/File:Tired_20-year-old_cat.jpg" imageinfo= [
{
size: 3017217,
width: 2484,
height: 1870,
thumburl: 'https://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Tired_20-year-old_cat.jpg/239px-Tired_20-year-old_cat.jpg',
thumbwidth: 239,
thumbheight: 180,
responsiveUrls: {
'2': 'https://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Tired_20-year-old_cat.jpg/478px-Tired_20-year-old_cat.jpg',
'1.5': 'https://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Tired_20-year-old_cat.jpg/359px-Tired_20-year-old_cat.jpg'
},
url: 'https://upload.wikimedia.org/wikipedia/commons/3/32/Tired_20-year-old_cat.jpg',
descriptionurl: 'https://commons.wikimedia.org/wiki/File:Tired_20-year-old_cat.jpg',
descriptionshorturl: 'https://commons.wikimedia.org/w/index.php?curid=9809267',
extmetadata: {
DateTime: [Object],
ObjectName: [Object],
CommonsMetadataExtension: [Object],
Categories: [Object],
Assessments: [Object],
ImageDescription: [Object],
DateTimeOriginal: [Object],
Credit: [Object],
Artist: [Object],
Permission: [Object],
LicenseShortName: [Object],
UsageTerms: [Object],
AttributionRequired: [Object],
Attribution: [Object],
LicenseUrl: [Object],
Copyrighted: [Object],
Restrictions: [Object],
License: [Object]
},
mime: 'image/jpeg'
}
] ... >
at <VTUROOT>
691 | // positioned controls.
692 | if ( height < 100 ) {
> 693 | height += 30;
| ^
694 | // We'll use this to add a class to the image to add 15px of
695 | // top and bottom padding.
696 | this.isExtraSmall = true;
at warn$1 (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:53:13)
at Object.get (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3117:9)
at Proxy.creationDate (resources/components/QuickView.vue:693:240)
at renderComponentRoot (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6445:16)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5262:46)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5269:11)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at render (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5922:7)
at mount (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3922:13)
at Object.app.mount (node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.js:1703:19)
at mount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8415:18)
at shallowMount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8434:12)
at Object.<anonymous> (tests/jest/components/QuickView.test.js:224:20)
console.warn
[Vue warn]: Property "resolution" was accessed during render but is not defined on instance.
at <QuickView title="File:Tired 20-year-old cat.jpg" canonicalurl="https://commons.wikimedia.org/wiki/File:Tired_20-year-old_cat.jpg" imageinfo= [
{
size: 3017217,
width: 2484,
height: 1870,
thumburl: 'https://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Tired_20-year-old_cat.jpg/239px-Tired_20-year-old_cat.jpg',
thumbwidth: 239,
thumbheight: 180,
responsiveUrls: {
'2': 'https://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Tired_20-year-old_cat.jpg/478px-Tired_20-year-old_cat.jpg',
'1.5': 'https://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Tired_20-year-old_cat.jpg/359px-Tired_20-year-old_cat.jpg'
},
url: 'https://upload.wikimedia.org/wikipedia/commons/3/32/Tired_20-year-old_cat.jpg',
descriptionurl: 'https://commons.wikimedia.org/wiki/File:Tired_20-year-old_cat.jpg',
descriptionshorturl: 'https://commons.wikimedia.org/w/index.php?curid=9809267',
extmetadata: {
DateTime: [Object],
ObjectName: [Object],
CommonsMetadataExtension: [Object],
Categories: [Object],
Assessments: [Object],
ImageDescription: [Object],
DateTimeOriginal: [Object],
Credit: [Object],
Artist: [Object],
Permission: [Object],
LicenseShortName: [Object],
UsageTerms: [Object],
AttributionRequired: [Object],
Attribution: [Object],
LicenseUrl: [Object],
Copyrighted: [Object],
Restrictions: [Object],
License: [Object]
},
mime: 'image/jpeg'
}
] ... >
at <VTUROOT>
695 | // top and bottom padding.
696 | this.isExtraSmall = true;
> 697 | }
| ^
698 |
699 | this.thumbnailWrapperStyle = {
700 | height: height + 'px',
at warn$1 (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:53:13)
at Object.get (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3117:9)
at Proxy.resolution (resources/components/QuickView.vue:697:94)
at renderComponentRoot (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6445:16)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5262:46)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5269:11)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at render (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5922:7)
at mount (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3922:13)
at Object.app.mount (node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.js:1703:19)
at mount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8415:18)
at shallowMount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8434:12)
at Object.<anonymous> (tests/jest/components/QuickView.test.js:224:20)
console.warn
[Vue warn]: Property "mimeType" was accessed during render but is not defined on instance.
at <QuickView title="File:Tired 20-year-old cat.jpg" canonicalurl="https://commons.wikimedia.org/wiki/File:Tired_20-year-old_cat.jpg" imageinfo= [
{
size: 3017217,
width: 2484,
height: 1870,
thumburl: 'https://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Tired_20-year-old_cat.jpg/239px-Tired_20-year-old_cat.jpg',
thumbwidth: 239,
thumbheight: 180,
responsiveUrls: {
'2': 'https://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Tired_20-year-old_cat.jpg/478px-Tired_20-year-old_cat.jpg',
'1.5': 'https://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Tired_20-year-old_cat.jpg/359px-Tired_20-year-old_cat.jpg'
},
url: 'https://upload.wikimedia.org/wikipedia/commons/3/32/Tired_20-year-old_cat.jpg',
descriptionurl: 'https://commons.wikimedia.org/wiki/File:Tired_20-year-old_cat.jpg',
descriptionshorturl: 'https://commons.wikimedia.org/w/index.php?curid=9809267',
extmetadata: {
DateTime: [Object],
ObjectName: [Object],
CommonsMetadataExtension: [Object],
Categories: [Object],
Assessments: [Object],
ImageDescription: [Object],
DateTimeOriginal: [Object],
Credit: [Object],
Artist: [Object],
Permission: [Object],
LicenseShortName: [Object],
UsageTerms: [Object],
AttributionRequired: [Object],
Attribution: [Object],
LicenseUrl: [Object],
Copyrighted: [Object],
Restrictions: [Object],
License: [Object]
},
mime: 'image/jpeg'
}
] ... >
at <VTUROOT>
697 | }
698 |
> 699 | this.thumbnailWrapperStyle = {
| ^
700 | height: height + 'px',
701 | width: '100%'
702 | };
at warn$1 (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:53:13)
at Object.get (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3117:9)
at Proxy.mimeType (resources/components/QuickView.vue:699:265)
at renderComponentRoot (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6445:16)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5262:46)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5269:11)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at render (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5922:7)
at mount (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3922:13)
at Object.app.mount (node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.js:1703:19)
at mount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8415:18)
at shallowMount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8434:12)
at Object.<anonymous> (tests/jest/components/QuickView.test.js:224:20)
PASS tests/jest/components/SearchResults.test.js
PASS tests/jest/mixins/autocompleteLookupHandler.test.js
PASS tests/jest/components/base/autocompleteSearchInput.test.js
● Console
console.warn
[Vue warn]: Invalid prop: type check failed for prop "modelValue". Expected String | Number, got Object
at <CdxTextInput id="tab__input" ref="input" modelValue= { value: 'active' } ... >
at <SdAutocompleteSearchInput name="tab" label="actions" lookupResults= [ { value: 'active' } ] ... >
at <VTUROOT>
at warn$1 (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:53:13)
at validateProp (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4363:7)
at validateProps (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4335:5)
at updateProps (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4144:5)
at updateComponentPreRender (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5404:5)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5326:11)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at updateComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5201:18)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5136:7)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at patchBlockChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5008:7)
at patchElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4926:7)
at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4785:7)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4642:11)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5349:9)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at ReactiveEffect.runIfDirty (node_modules/@vue/reactivity/dist/reactivity.cjs.js:267:12)
at callWithErrorHandling (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:200:33)
at flushJobs (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:405:9)
PASS tests/jest/components/NamespaceFilterDialog.test.js
● Console
console.warn
[Vue warn]: CdxRadio: Inputs must have an associated label. Provide one of the following:
- A label via the appropriate slot
- An `aria-label` attribute set to the label text
- An `aria-labelledby` attribute set to the ID of the label element
at <CdxRadio key="test" modelValue=undefined onUpdate:modelValue=fn ... >
at <Transition name="sd-scale" appear="" >
at <SdDialog class="sdms-namespace-dialog" active=true title="mediasearch-filter-namespace-dialog-title" ... >
at <NamespaceFilterDialog active=true items= [ { value: 'test' } ] namespaces= {} ... >
at <VTUROOT>
20 | describe( 'when items are set', () => {
21 | it( 'render a cdx-radio', () => {
> 22 | const wrapper = mount( Component, {
| ^
23 | props: {
24 | active: true,
25 | items: [ { value: 'test' } ],
at Object.warn$1 [as warn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:53:13)
at lt (node_modules/@wikimedia/codex/dist/codex.cjs:1:7308)
at at (node_modules/@wikimedia/codex/dist/codex.cjs:1:20735)
at setup (node_modules/@wikimedia/codex/dist/codex.cjs:1:122854)
at callWithErrorHandling (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:200:19)
at setupStatefulComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7848:25)
at setupComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7809:36)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5159:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4886:7)
at processFragment (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5068:7)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4628:9)
at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4886:7)
at mountElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4809:7)
at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4774:7)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4642:11)
at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4886:7)
at mountElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4809:7)
at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4774:7)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4642:11)
at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4886:7)
at processFragment (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5068:7)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4628:9)
at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4886:7)
at mountElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4809:7)
at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4774:7)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4642:11)
at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4886:7)
at mountElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4809:7)
at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4774:7)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4642:11)
at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4886:7)
at mountElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4809:7)
at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4774:7)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4642:11)
at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4886:7)
at mountElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4809:7)
at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4774:7)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4642:11)
at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4886:7)
at mountElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4809:7)
at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4774:7)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4642:11)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5269:11)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4886:7)
at mountElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4809:7)
at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4774:7)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4642:11)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5269:11)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5269:11)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5269:11)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at render (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5922:7)
at mount (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3922:13)
at Object.app.mount (node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.js:1703:19)
at mount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8415:18)
at Object.<anonymous> (tests/jest/components/NamespaceFilterDialog.test.js:22:20)
PASS tests/jest/mixins/restoreHistoryHandler.test.js
PASS tests/jest/components/base/select.test.js
PASS tests/jest/store/store.test.js
PASS tests/jest/components/results/pageResult.test.js
PASS tests/jest/components/SearchFilters.test.js
PASS tests/jest/components/results/ImageResult.test.js
PASS tests/jest/components/app.test.js (5.654 s)
● Console
console.error
[vuex] unknown mutation type: clearSearchWarnings
189 | ] ), {
190 | /**
> 191 | * Keep UI state, URL, and history in sync as the user changes tabs
| ^
192 | * Filter and sort preferences are tab-specific, so they need to be
193 | * re-created every time the current tab changes.
194 | *
at Store.commit (node_modules/vuex/dist/vuex.cjs.js:978:15)
at Store.boundCommit [as commit] (node_modules/vuex/dist/vuex.cjs.js:919:19)
at Proxy.mappedMutation (node_modules/vuex/dist/vuex.cjs.js:1214:18)
at Proxy.clearSearchWarnings (resources/components/App.vue:191:12)
at Object.<anonymous> (tests/jest/components/app.test.js:353:15)
console.error
[vuex] unknown mutation type: clearSearchWarnings
189 | ] ), {
190 | /**
> 191 | * Keep UI state, URL, and history in sync as the user changes tabs
| ^
192 | * Filter and sort preferences are tab-specific, so they need to be
193 | * re-created every time the current tab changes.
194 | *
at Store.commit (node_modules/vuex/dist/vuex.cjs.js:978:15)
at Store.boundCommit [as commit] (node_modules/vuex/dist/vuex.cjs.js:919:19)
at Proxy.mappedMutation (node_modules/vuex/dist/vuex.cjs.js:1214:18)
at Proxy.clearSearchWarnings (resources/components/App.vue:191:12)
at Object.<anonymous> (tests/jest/components/app.test.js:353:15)
console.error
[vuex] unknown mutation type: clearSearchWarnings
189 | ] ), {
190 | /**
> 191 | * Keep UI state, URL, and history in sync as the user changes tabs
| ^
192 | * Filter and sort preferences are tab-specific, so they need to be
193 | * re-created every time the current tab changes.
194 | *
at Store.commit (node_modules/vuex/dist/vuex.cjs.js:978:15)
at Store.boundCommit [as commit] (node_modules/vuex/dist/vuex.cjs.js:919:19)
at Proxy.mappedMutation (node_modules/vuex/dist/vuex.cjs.js:1214:18)
at Proxy.clearSearchWarnings (resources/components/App.vue:191:12)
at Object.<anonymous> (tests/jest/components/app.test.js:353:15)
console.error
[vuex] unknown mutation type: clearSearchWarnings
189 | ] ), {
190 | /**
> 191 | * Keep UI state, URL, and history in sync as the user changes tabs
| ^
192 | * Filter and sort preferences are tab-specific, so they need to be
193 | * re-created every time the current tab changes.
194 | *
at Store.commit (node_modules/vuex/dist/vuex.cjs.js:978:15)
at Store.boundCommit [as commit] (node_modules/vuex/dist/vuex.cjs.js:919:19)
at Proxy.mappedMutation (node_modules/vuex/dist/vuex.cjs.js:1214:18)
at Proxy.clearSearchWarnings (resources/components/App.vue:191:12)
at Object.<anonymous> (tests/jest/components/app.test.js:353:15)
PASS tests/jest/components/results/otherResult.test.js
PASS tests/jest/components/results/videoResult.test.js
PASS tests/jest/mixins/observer.test.js
PASS tests/jest/components/base/selectMenu.test.js
PASS tests/jest/components/base/dialog.test.js
PASS tests/jest/store/getters.test.js
PASS tests/jest/components/results/audioResult.test.js
PASS tests/jest/components/base/copyTextLayout.test.js
PASS tests/jest/components/base/player.test.js
PASS tests/jest/components/base/image.test.js
PASS tests/jest/components/UserNotice.test.js
● Console
console.warn
[CdxMessage]: The boolean `allowUserDismiss` prop is required to show the dismiss button.
Refer to https://doc.wikimedia.org/codex/latest/components/demos/message.html#props.
13 | describe( 'renders ', () => {
14 | it( 'the parent component', () => {
> 15 | const wrapper = shallowMount( Component );
| ^
16 | const element = wrapper.find( '.sdms-user-notice__message' );
17 | expect( element.exists() ).toBe( true );
18 | } );
at validator (node_modules/@wikimedia/codex/dist/codex.cjs:1:94345)
at validateProp (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4367:21)
at validateProps (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4335:5)
at initProps (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4036:5)
at setupComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7807:3)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5159:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4886:7)
at mountElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4809:7)
at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4774:7)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4642:11)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5269:11)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5269:11)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5269:11)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at render (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5922:7)
at mount (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3922:13)
at Object.app.mount (node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.js:1703:19)
at mount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8415:18)
at shallowMount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8434:12)
at Object.<anonymous> (tests/jest/components/UserNotice.test.js:15:20)
console.warn
[Vue warn]: Invalid prop: custom validator check failed for prop "dismissButtonLabel".
at <CdxMessage dismiss-button-label="mediasearch-user-notice-dismiss" class="sdms-user-notice__message" onUserDismissed=fn<bound dismiss> >
at <Transition key=0 name="sdms-fade-out" >
at <UserNotice ref="VTU_COMPONENT" >
at <VTUROOT>
13 | describe( 'renders ', () => {
14 | it( 'the parent component', () => {
> 15 | const wrapper = shallowMount( Component );
| ^
16 | const element = wrapper.find( '.sdms-user-notice__message' );
17 | expect( element.exists() ).toBe( true );
18 | } );
at warn$1 (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:53:13)
at validateProp (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4368:5)
at validateProps (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4335:5)
at initProps (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4036:5)
at setupComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7807:3)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5159:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4886:7)
at mountElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4809:7)
at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4774:7)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4642:11)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5269:11)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5269:11)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5269:11)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at render (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5922:7)
at mount (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3922:13)
at Object.app.mount (node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.js:1703:19)
at mount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8415:18)
at shallowMount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8434:12)
at Object.<anonymous> (tests/jest/components/UserNotice.test.js:15:20)
console.warn
[CdxMessage]: The boolean `allowUserDismiss` prop is required to show the dismiss button.
Refer to https://doc.wikimedia.org/codex/latest/components/demos/message.html#props.
19 |
20 | it( 'a button component', () => {
> 21 | const wrapper = mount( Component );
| ^
22 | const innerComponent = wrapper.findComponent( CdxButton );
23 | expect( innerComponent.exists() ).toBe( true );
24 | } );
at validator (node_modules/@wikimedia/codex/dist/codex.cjs:1:94345)
at validateProp (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4367:21)
at validateProps (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4335:5)
at initProps (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4036:5)
at setupComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7807:3)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5159:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4886:7)
at mountElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4809:7)
at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4774:7)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4642:11)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5269:11)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5269:11)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5269:11)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at render (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5922:7)
at mount (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3922:13)
at Object.app.mount (node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.js:1703:19)
at mount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8415:18)
at Object.<anonymous> (tests/jest/components/UserNotice.test.js:21:20)
console.warn
[Vue warn]: Invalid prop: custom validator check failed for prop "dismissButtonLabel".
at <CdxMessage dismiss-button-label="mediasearch-user-notice-dismiss" class="sdms-user-notice__message" onUserDismissed=fn<bound dismiss> >
at <Transition key=0 name="sdms-fade-out" >
at <UserNotice ref="VTU_COMPONENT" >
at <VTUROOT>
19 |
20 | it( 'a button component', () => {
> 21 | const wrapper = mount( Component );
| ^
22 | const innerComponent = wrapper.findComponent( CdxButton );
23 | expect( innerComponent.exists() ).toBe( true );
24 | } );
at warn$1 (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:53:13)
at validateProp (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4368:5)
at validateProps (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4335:5)
at initProps (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4036:5)
at setupComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7807:3)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5159:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4886:7)
at mountElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4809:7)
at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4774:7)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4642:11)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5269:11)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5269:11)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5269:11)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at render (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5922:7)
at mount (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3922:13)
at Object.app.mount (node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.js:1703:19)
at mount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8415:18)
at Object.<anonymous> (tests/jest/components/UserNotice.test.js:21:20)
console.warn
[CdxMessage]: The boolean `allowUserDismiss` prop is required to show the dismiss button.
Refer to https://doc.wikimedia.org/codex/latest/components/demos/message.html#props.
25 |
26 | it( 'a message component', () => {
> 27 | const wrapper = shallowMount( Component );
| ^
28 | const innerComponent = wrapper.findComponent( CdxMessage );
29 | expect( innerComponent.exists() ).toBe( true );
30 | } );
at validator (node_modules/@wikimedia/codex/dist/codex.cjs:1:94345)
at validateProp (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4367:21)
at validateProps (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4335:5)
at initProps (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4036:5)
at setupComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7807:3)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5159:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4886:7)
at mountElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4809:7)
at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4774:7)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4642:11)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5269:11)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5269:11)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5269:11)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at render (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5922:7)
at mount (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3922:13)
at Object.app.mount (node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.js:1703:19)
at mount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8415:18)
at shallowMount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8434:12)
at Object.<anonymous> (tests/jest/components/UserNotice.test.js:27:20)
console.warn
[Vue warn]: Invalid prop: custom validator check failed for prop "dismissButtonLabel".
at <CdxMessage dismiss-button-label="mediasearch-user-notice-dismiss" class="sdms-user-notice__message" onUserDismissed=fn<bound dismiss> >
at <Transition key=0 name="sdms-fade-out" >
at <UserNotice ref="VTU_COMPONENT" >
at <VTUROOT>
25 |
26 | it( 'a message component', () => {
> 27 | const wrapper = shallowMount( Component );
| ^
28 | const innerComponent = wrapper.findComponent( CdxMessage );
29 | expect( innerComponent.exists() ).toBe( true );
30 | } );
at warn$1 (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:53:13)
at validateProp (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4368:5)
at validateProps (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4335:5)
at initProps (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4036:5)
at setupComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7807:3)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5159:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4886:7)
at mountElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4809:7)
at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4774:7)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4642:11)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5269:11)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5269:11)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5269:11)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at render (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5922:7)
at mount (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3922:13)
at Object.app.mount (node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.js:1703:19)
at mount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8415:18)
at shallowMount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8434:12)
at Object.<anonymous> (tests/jest/components/UserNotice.test.js:27:20)
console.warn
[CdxMessage]: The boolean `allowUserDismiss` prop is required to show the dismiss button.
Refer to https://doc.wikimedia.org/codex/latest/components/demos/message.html#props.
58 |
59 | it( 'when notice dismissed', ( done ) => {
> 60 | const wrapper = shallowMount( Component );
| ^
61 | wrapper.setData( { dismissed: true } );
62 | wrapper.vm.$nextTick( () => {
63 | const element = wrapper.find( '.sdms-user-notice__message' );
at validator (node_modules/@wikimedia/codex/dist/codex.cjs:1:94345)
at validateProp (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4367:21)
at validateProps (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4335:5)
at initProps (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4036:5)
at setupComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7807:3)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5159:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4886:7)
at mountElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4809:7)
at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4774:7)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4642:11)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5269:11)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5269:11)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5269:11)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at render (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5922:7)
at mount (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3922:13)
at Object.app.mount (node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.js:1703:19)
at mount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8415:18)
at shallowMount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8434:12)
at Object.<anonymous> (tests/jest/components/UserNotice.test.js:60:20)
console.warn
[Vue warn]: Invalid prop: custom validator check failed for prop "dismissButtonLabel".
at <CdxMessage dismiss-button-label="mediasearch-user-notice-dismiss" class="sdms-user-notice__message" onUserDismissed=fn<bound dismiss> >
at <Transition key=0 name="sdms-fade-out" >
at <UserNotice ref="VTU_COMPONENT" >
at <VTUROOT>
58 |
59 | it( 'when notice dismissed', ( done ) => {
> 60 | const wrapper = shallowMount( Component );
| ^
61 | wrapper.setData( { dismissed: true } );
62 | wrapper.vm.$nextTick( () => {
63 | const element = wrapper.find( '.sdms-user-notice__message' );
at warn$1 (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:53:13)
at validateProp (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4368:5)
at validateProps (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4335:5)
at initProps (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4036:5)
at setupComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7807:3)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5159:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4886:7)
at mountElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4809:7)
at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4774:7)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4642:11)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5269:11)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5269:11)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5269:11)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at render (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5922:7)
at mount (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3922:13)
at Object.app.mount (node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.js:1703:19)
at mount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8415:18)
at shallowMount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8434:12)
at Object.<anonymous> (tests/jest/components/UserNotice.test.js:60:20)
console.warn
[CdxMessage]: The boolean `allowUserDismiss` prop is required to show the dismiss button.
Refer to https://doc.wikimedia.org/codex/latest/components/demos/message.html#props.
70 | describe( 'on dismiss button click', () => {
71 | it( 'sends saveOption to the api', () => {
> 72 | const wrapper = shallowMount( Component );
| ^
73 | wrapper.vm.dismiss();
74 | expect( global.mw.Api.prototype.saveOption ).toHaveBeenCalled();
75 | expect( global.mw.Api.prototype.saveOption )
at validator (node_modules/@wikimedia/codex/dist/codex.cjs:1:94345)
at validateProp (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4367:21)
at validateProps (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4335:5)
at initProps (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4036:5)
at setupComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7807:3)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5159:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4886:7)
at mountElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4809:7)
at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4774:7)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4642:11)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5269:11)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5269:11)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5269:11)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at render (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5922:7)
at mount (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3922:13)
at Object.app.mount (node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.js:1703:19)
at mount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8415:18)
at shallowMount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8434:12)
at Object.<anonymous> (tests/jest/components/UserNotice.test.js:72:20)
console.warn
[Vue warn]: Invalid prop: custom validator check failed for prop "dismissButtonLabel".
at <CdxMessage dismiss-button-label="mediasearch-user-notice-dismiss" class="sdms-user-notice__message" onUserDismissed=fn<bound dismiss> >
at <Transition key=0 name="sdms-fade-out" >
at <UserNotice ref="VTU_COMPONENT" >
at <VTUROOT>
70 | describe( 'on dismiss button click', () => {
71 | it( 'sends saveOption to the api', () => {
> 72 | const wrapper = shallowMount( Component );
| ^
73 | wrapper.vm.dismiss();
74 | expect( global.mw.Api.prototype.saveOption ).toHaveBeenCalled();
75 | expect( global.mw.Api.prototype.saveOption )
at warn$1 (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:53:13)
at validateProp (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4368:5)
at validateProps (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4335:5)
at initProps (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4036:5)
at setupComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7807:3)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5159:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4886:7)
at mountElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4809:7)
at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4774:7)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4642:11)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5269:11)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5269:11)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5269:11)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at render (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5922:7)
at mount (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3922:13)
at Object.app.mount (node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.js:1703:19)
at mount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8415:18)
at shallowMount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8434:12)
at Object.<anonymous> (tests/jest/components/UserNotice.test.js:72:20)
console.warn
[CdxMessage]: The boolean `allowUserDismiss` prop is required to show the dismiss button.
Refer to https://doc.wikimedia.org/codex/latest/components/demos/message.html#props.
78 |
79 | it( 'saves options to user object', () => {
> 80 | const wrapper = shallowMount( Component );
| ^
81 | wrapper.vm.dismiss();
82 | expect( global.mw.user.options.set ).toHaveBeenCalled();
83 | expect( global.mw.user.options.set )
at validator (node_modules/@wikimedia/codex/dist/codex.cjs:1:94345)
at validateProp (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4367:21)
at validateProps (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4335:5)
at initProps (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4036:5)
at setupComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7807:3)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5159:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4886:7)
at mountElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4809:7)
at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4774:7)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4642:11)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5269:11)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5269:11)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5269:11)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at render (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5922:7)
at mount (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3922:13)
at Object.app.mount (node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.js:1703:19)
at mount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8415:18)
at shallowMount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8434:12)
at Object.<anonymous> (tests/jest/components/UserNotice.test.js:80:20)
console.warn
[Vue warn]: Invalid prop: custom validator check failed for prop "dismissButtonLabel".
at <CdxMessage dismiss-button-label="mediasearch-user-notice-dismiss" class="sdms-user-notice__message" onUserDismissed=fn<bound dismiss> >
at <Transition key=0 name="sdms-fade-out" >
at <UserNotice ref="VTU_COMPONENT" >
at <VTUROOT>
78 |
79 | it( 'saves options to user object', () => {
> 80 | const wrapper = shallowMount( Component );
| ^
81 | wrapper.vm.dismiss();
82 | expect( global.mw.user.options.set ).toHaveBeenCalled();
83 | expect( global.mw.user.options.set )
at warn$1 (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:53:13)
at validateProp (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4368:5)
at validateProps (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4335:5)
at initProps (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4036:5)
at setupComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7807:3)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5159:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4886:7)
at mountElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4809:7)
at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4774:7)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4642:11)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5269:11)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5269:11)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5269:11)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at render (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5922:7)
at mount (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3922:13)
at Object.app.mount (node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.js:1703:19)
at mount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8415:18)
at shallowMount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8434:12)
at Object.<anonymous> (tests/jest/components/UserNotice.test.js:80:20)
console.warn
[CdxMessage]: The boolean `allowUserDismiss` prop is required to show the dismiss button.
Refer to https://doc.wikimedia.org/codex/latest/components/demos/message.html#props.
86 |
87 | it( 'changes dismissed data', () => {
> 88 | const wrapper = shallowMount( Component );
| ^
89 | wrapper.vm.dismiss();
90 | expect( wrapper.vm.dismissed ).toBeTruthy();
91 | } );
at validator (node_modules/@wikimedia/codex/dist/codex.cjs:1:94345)
at validateProp (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4367:21)
at validateProps (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4335:5)
at initProps (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4036:5)
at setupComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7807:3)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5159:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4886:7)
at mountElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4809:7)
at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4774:7)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4642:11)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5269:11)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5269:11)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5269:11)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at render (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5922:7)
at mount (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3922:13)
at Object.app.mount (node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.js:1703:19)
at mount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8415:18)
at shallowMount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8434:12)
at Object.<anonymous> (tests/jest/components/UserNotice.test.js:88:20)
console.warn
[Vue warn]: Invalid prop: custom validator check failed for prop "dismissButtonLabel".
at <CdxMessage dismiss-button-label="mediasearch-user-notice-dismiss" class="sdms-user-notice__message" onUserDismissed=fn<bound dismiss> >
at <Transition key=0 name="sdms-fade-out" >
at <UserNotice ref="VTU_COMPONENT" >
at <VTUROOT>
86 |
87 | it( 'changes dismissed data', () => {
> 88 | const wrapper = shallowMount( Component );
| ^
89 | wrapper.vm.dismiss();
90 | expect( wrapper.vm.dismissed ).toBeTruthy();
91 | } );
at warn$1 (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:53:13)
at validateProp (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4368:5)
at validateProps (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4335:5)
at initProps (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4036:5)
at setupComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7807:3)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5159:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4886:7)
at mountElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4809:7)
at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4774:7)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4642:11)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5269:11)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5269:11)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5269:11)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at render (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5922:7)
at mount (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3922:13)
at Object.app.mount (node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.js:1703:19)
at mount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8415:18)
at shallowMount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8434:12)
at Object.<anonymous> (tests/jest/components/UserNotice.test.js:88:20)
PASS tests/jest/components/DidYouMean.test.js
PASS tests/jest/components/EmptyState.test.js
PASS tests/jest/components/NoResults.test.js
PASS tests/jest/components/SearchWarnings.test.js
PASS tests/jest/components/EndOfResults.test.js
PASS tests/jest/components/Spinner.test.js
Test Suites: 31 passed, 31 total
Tests: 6 todo, 463 passed, 469 total
Snapshots: 0 total
Time: 10.691 s
Ran all test suites.
--- stdout ---
> media-search@0.1.0 test
> grunt test && npm run test:unit
Running "eslint:all" (eslint) task
/src/repo/resources/components/SearchFilters.vue
275:1 warning The type 'filter-change' is undefined jsdoc/no-undefined-types
359:3 warning JSDoc @return declaration present but return expression not available in function jsdoc/require-returns-check
/src/repo/resources/components/base/AutocompleteSearchInput.vue
259:1 warning The type 'input' is undefined jsdoc/no-undefined-types
291:1 warning The type 'enter' is undefined jsdoc/no-undefined-types
310:1 warning The type 'submit' is undefined jsdoc/no-undefined-types
/src/repo/resources/components/base/Dialog.vue
193:1 warning The type 'progress' is undefined jsdoc/no-undefined-types
201:1 warning The type 'key' is undefined jsdoc/no-undefined-types
201:1 warning Syntax error in namepath: close|key jsdoc/valid-types
/src/repo/resources/components/base/Select.vue
263:1 warning The type 'select' is undefined jsdoc/no-undefined-types
299:1 warning The type 'submit' is undefined jsdoc/no-undefined-types
362:3 warning @throws should have a type jsdoc/require-throws-type
/src/repo/resources/components/base/SelectMenu.vue
107:1 warning The type 'select' is undefined jsdoc/no-undefined-types
/src/repo/resources/mixins/autocompleteLookupHandler.js
148:1 warning This line has a length of 120. Maximum allowed is 110 max-len
202:1 warning This line has a length of 151. Maximum allowed is 110 max-len
/src/repo/resources/mixins/searchResult.js
99:1 warning The type 'show-details' is undefined jsdoc/no-undefined-types
/src/repo/resources/store/actions.js
225:9 warning Prefer .then to .done no-jquery/no-done-fail
226:1 warning This line has a length of 118. Maximum allowed is 110 max-len
318:2 warning Prefer .then to .done no-jquery/no-done-fail
✖ 18 problems (0 errors, 18 warnings)
Running "stylelint:all" (stylelint) task
>> Linted 52 files without errors
Running "banana:MediaSearch" (banana) task
>> 1 message directory checked.
Done.
> media-search@0.1.0 test:unit
> jest
----------------------------------|---------|----------|---------|---------|-------------------------------------------------------
File | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s
----------------------------------|---------|----------|---------|---------|-------------------------------------------------------
All files | 89.04 | 78.25 | 86.01 | 89.06 |
resources | 55.55 | 33.33 | 60 | 58.82 |
constants.js | 100 | 100 | 100 | 100 |
ensureArray.js | 0 | 0 | 0 | 0 | 12-20
getLocationAgnosticMwApi.js | 81.81 | 50 | 100 | 81.81 | 11,32
resources/components | 88.55 | 79.04 | 82.38 | 88.48 |
App.vue | 80 | 54.54 | 82.75 | 79.8 | 119-124,199,205,267-276,299-311,328-332
DidYouMean.vue | 100 | 100 | 100 | 100 |
EmptyState.vue | 100 | 100 | 100 | 100 |
EndOfResults.vue | 100 | 100 | 100 | 100 |
NamespaceFilterDialog.vue | 95.12 | 100 | 89.47 | 95.12 | 204,219
NoResults.vue | 100 | 100 | 100 | 100 |
QuickView.vue | 90.69 | 86.45 | 82 | 90.69 | 322-346,412-413,422,467,596-616,637,649,706
SearchError.vue | 83.33 | 0 | 0 | 83.33 | 12,33
SearchFilters.vue | 93.1 | 82.05 | 85.29 | 92.94 | 115,131,379-388,408-411
SearchResults.vue | 80.74 | 71.57 | 73.17 | 80.59 | 280-295,343-359,450-525
SearchWarnings.vue | 100 | 100 | 100 | 100 |
Spinner.vue | 100 | 100 | 100 | 100 |
UserNotice.vue | 100 | 100 | 100 | 100 |
resources/components/base | 88.63 | 80.57 | 83.62 | 88.48 |
AutocompleteSearchInput.vue | 81.25 | 68.29 | 79.31 | 81.25 | 142-145,207,282-297,310-311,342-374
CopyTextLayout.vue | 100 | 100 | 100 | 100 |
Dialog.vue | 97.56 | 92.85 | 94.44 | 97.56 | 205
Image.vue | 100 | 87.5 | 100 | 100 | 73
Observer.vue | 80 | 100 | 0 | 80 | 28,45
Player.vue | 100 | 50 | 88.88 | 100 | 43
Select.vue | 79.51 | 75.75 | 77.41 | 79.26 | 99,235-254,273,350-358
SelectMenu.vue | 91.89 | 96.15 | 86.66 | 91.42 | 144,177-180
resources/components/base/mixins | 100 | 100 | 100 | 100 |
observer.js | 100 | 100 | 100 | 100 |
resources/components/results | 95.48 | 67.14 | 100 | 95.48 |
AudioResult.vue | 100 | 66.66 | 100 | 100 | 64,74
ImageResult.vue | 95.65 | 75 | 100 | 95.65 | 76
OtherResult.vue | 94.11 | 60 | 100 | 94.11 | 29,41
PageResult.vue | 90.9 | 70 | 100 | 90.9 | 53,101,105
VideoResult.vue | 100 | 70 | 100 | 100 | 76-79
resources/mixins | 94.07 | 76.71 | 94.73 | 93.93 |
autocompleteLookupHandler.js | 100 | 78.94 | 95 | 100 | 69,115-133,195
restoreHistoryHandler.js | 94.44 | 87.5 | 100 | 94.44 | 60-61
searchResult.js | 88.23 | 72.22 | 87.5 | 87.87 | 57,79,104,122
searchResultTimeBased.js | 81.81 | 58.33 | 100 | 81.81 | 17,34
resources/models | 100 | 100 | 100 | 100 |
SearchFilter.js | 100 | 100 | 100 | 100 |
resources/plugins | 0 | 100 | 0 | 0 |
eventLogger.js | 0 | 100 | 0 | 0 | 6-22
resources/store | 89.89 | 79.16 | 92.59 | 90.14 |
actions.js | 88.39 | 82.4 | 82.35 | 88.82 | 68,98,122,144,160-161,219,299,379-387,432-433,458-464
getters.js | 100 | 100 | 100 | 100 |
index.js | 0 | 100 | 100 | 0 | 1-10
mutations.js | 100 | 100 | 100 | 100 |
state.js | 92.3 | 63.63 | 100 | 91.66 | 11
----------------------------------|---------|----------|---------|---------|-------------------------------------------------------
--- end ---
$ /usr/bin/npm audit --json
--- stdout ---
{
"auditReportVersion": 2,
"vulnerabilities": {
"babel-core": {
"name": "babel-core",
"severity": "critical",
"isDirect": true,
"via": [
"babel-helpers",
"babel-register",
"babel-template",
"babel-traverse",
"json5"
],
"effects": [
"babel-register"
],
"range": "5.8.20 - 7.0.0-beta.3",
"nodes": [
"node_modules/babel-core"
],
"fixAvailable": {
"name": "babel-core",
"version": "4.7.16",
"isSemVerMajor": true
}
},
"babel-helpers": {
"name": "babel-helpers",
"severity": "critical",
"isDirect": false,
"via": [
"babel-template"
],
"effects": [],
"range": "*",
"nodes": [
"node_modules/babel-helpers"
],
"fixAvailable": true
},
"babel-register": {
"name": "babel-register",
"severity": "high",
"isDirect": false,
"via": [
"babel-core"
],
"effects": [
"babel-core"
],
"range": "*",
"nodes": [
"node_modules/babel-register"
],
"fixAvailable": {
"name": "babel-core",
"version": "4.7.16",
"isSemVerMajor": true
}
},
"babel-template": {
"name": "babel-template",
"severity": "critical",
"isDirect": false,
"via": [
"babel-traverse"
],
"effects": [
"babel-helpers"
],
"range": "*",
"nodes": [
"node_modules/babel-template"
],
"fixAvailable": true
},
"babel-traverse": {
"name": "babel-traverse",
"severity": "critical",
"isDirect": false,
"via": [
{
"source": 1096879,
"name": "babel-traverse",
"dependency": "babel-traverse",
"title": "Babel vulnerable to arbitrary code execution when compiling specifically crafted malicious code",
"url": "https://github.com/advisories/GHSA-67hx-6x53-jw92",
"severity": "critical",
"cwe": [
"CWE-184",
"CWE-697"
],
"cvss": {
"score": 9.4,
"vectorString": "CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H"
},
"range": "<7.23.2"
}
],
"effects": [
"babel-core",
"babel-template"
],
"range": "*",
"nodes": [
"node_modules/babel-traverse"
],
"fixAvailable": {
"name": "babel-core",
"version": "4.7.16",
"isSemVerMajor": true
}
},
"json5": {
"name": "json5",
"severity": "high",
"isDirect": false,
"via": [
{
"source": 1096543,
"name": "json5",
"dependency": "json5",
"title": "Prototype Pollution in JSON5 via Parse Method",
"url": "https://github.com/advisories/GHSA-9c47-m6qq-7p4h",
"severity": "high",
"cwe": [
"CWE-1321"
],
"cvss": {
"score": 7.1,
"vectorString": "CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:L/A:H"
},
"range": "<1.0.2"
}
],
"effects": [
"babel-core"
],
"range": "<1.0.2",
"nodes": [
"node_modules/babel-core/node_modules/json5"
],
"fixAvailable": {
"name": "babel-core",
"version": "4.7.16",
"isSemVerMajor": true
}
}
},
"metadata": {
"vulnerabilities": {
"info": 0,
"low": 0,
"moderate": 0,
"high": 2,
"critical": 4,
"total": 6
},
"dependencies": {
"prod": 1,
"dev": 1119,
"optional": 8,
"peer": 6,
"peerOptional": 0,
"total": 1119
}
}
}
--- end ---
Attempting to npm audit fix
$ /usr/bin/npm audit fix --dry-run --only=dev --json
--- stderr ---
npm WARN invalid config only="dev" set in command line options
npm WARN invalid config Must be one of: null, prod, production
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE package: '@wikimedia/codex@2.3.2',
npm WARN EBADENGINE required: { node: '>=20.19.1', npm: '>=10.8.2' },
npm WARN EBADENGINE current: { node: 'v20.19.2', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE package: '@wikimedia/codex-icons@2.3.2',
npm WARN EBADENGINE required: { node: '>=20.19.1', npm: '>=10.8.2' },
npm WARN EBADENGINE current: { node: 'v20.19.2', npm: '9.2.0' }
npm WARN EBADENGINE }
--- stdout ---
{
"added": 1,
"removed": 0,
"changed": 0,
"audited": 1120,
"funding": 166,
"audit": {
"auditReportVersion": 2,
"vulnerabilities": {
"babel-core": {
"name": "babel-core",
"severity": "critical",
"isDirect": true,
"via": [
"babel-helpers",
"babel-register",
"babel-template",
"babel-traverse",
"json5"
],
"effects": [
"babel-register"
],
"range": "5.8.20 - 7.0.0-beta.3",
"nodes": [
"node_modules/babel-core"
],
"fixAvailable": {
"name": "babel-core",
"version": "4.7.16",
"isSemVerMajor": true
}
},
"babel-helpers": {
"name": "babel-helpers",
"severity": "critical",
"isDirect": false,
"via": [
"babel-template"
],
"effects": [],
"range": "*",
"nodes": [
"node_modules/babel-helpers"
],
"fixAvailable": true
},
"babel-register": {
"name": "babel-register",
"severity": "high",
"isDirect": false,
"via": [
"babel-core"
],
"effects": [
"babel-core"
],
"range": "*",
"nodes": [
"node_modules/babel-register"
],
"fixAvailable": {
"name": "babel-core",
"version": "4.7.16",
"isSemVerMajor": true
}
},
"babel-template": {
"name": "babel-template",
"severity": "critical",
"isDirect": false,
"via": [
"babel-traverse"
],
"effects": [
"babel-helpers"
],
"range": "*",
"nodes": [
"node_modules/babel-template"
],
"fixAvailable": true
},
"babel-traverse": {
"name": "babel-traverse",
"severity": "critical",
"isDirect": false,
"via": [
{
"source": 1096879,
"name": "babel-traverse",
"dependency": "babel-traverse",
"title": "Babel vulnerable to arbitrary code execution when compiling specifically crafted malicious code",
"url": "https://github.com/advisories/GHSA-67hx-6x53-jw92",
"severity": "critical",
"cwe": [
"CWE-184",
"CWE-697"
],
"cvss": {
"score": 9.4,
"vectorString": "CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H"
},
"range": "<7.23.2"
}
],
"effects": [
"babel-core",
"babel-template"
],
"range": "*",
"nodes": [
"node_modules/babel-traverse"
],
"fixAvailable": {
"name": "babel-core",
"version": "4.7.16",
"isSemVerMajor": true
}
},
"json5": {
"name": "json5",
"severity": "high",
"isDirect": false,
"via": [
{
"source": 1096543,
"name": "json5",
"dependency": "json5",
"title": "Prototype Pollution in JSON5 via Parse Method",
"url": "https://github.com/advisories/GHSA-9c47-m6qq-7p4h",
"severity": "high",
"cwe": [
"CWE-1321"
],
"cvss": {
"score": 7.1,
"vectorString": "CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:L/A:H"
},
"range": "<1.0.2"
}
],
"effects": [
"babel-core"
],
"range": "<1.0.2",
"nodes": [
"node_modules/babel-core/node_modules/json5"
],
"fixAvailable": {
"name": "babel-core",
"version": "4.7.16",
"isSemVerMajor": true
}
}
},
"metadata": {
"vulnerabilities": {
"info": 0,
"low": 0,
"moderate": 0,
"high": 2,
"critical": 4,
"total": 6
},
"dependencies": {
"prod": 1,
"dev": 1119,
"optional": 8,
"peer": 6,
"peerOptional": 0,
"total": 1119
}
}
}
}
--- end ---
{"added": 1, "removed": 0, "changed": 0, "audited": 1120, "funding": 166, "audit": {"auditReportVersion": 2, "vulnerabilities": {"babel-core": {"name": "babel-core", "severity": "critical", "isDirect": true, "via": ["babel-helpers", "babel-register", "babel-template", "babel-traverse", "json5"], "effects": ["babel-register"], "range": "5.8.20 - 7.0.0-beta.3", "nodes": ["node_modules/babel-core"], "fixAvailable": {"name": "babel-core", "version": "4.7.16", "isSemVerMajor": true}}, "babel-helpers": {"name": "babel-helpers", "severity": "critical", "isDirect": false, "via": ["babel-template"], "effects": [], "range": "*", "nodes": ["node_modules/babel-helpers"], "fixAvailable": true}, "babel-register": {"name": "babel-register", "severity": "high", "isDirect": false, "via": ["babel-core"], "effects": ["babel-core"], "range": "*", "nodes": ["node_modules/babel-register"], "fixAvailable": {"name": "babel-core", "version": "4.7.16", "isSemVerMajor": true}}, "babel-template": {"name": "babel-template", "severity": "critical", "isDirect": false, "via": ["babel-traverse"], "effects": ["babel-helpers"], "range": "*", "nodes": ["node_modules/babel-template"], "fixAvailable": true}, "babel-traverse": {"name": "babel-traverse", "severity": "critical", "isDirect": false, "via": [{"source": 1096879, "name": "babel-traverse", "dependency": "babel-traverse", "title": "Babel vulnerable to arbitrary code execution when compiling specifically crafted malicious code", "url": "https://github.com/advisories/GHSA-67hx-6x53-jw92", "severity": "critical", "cwe": ["CWE-184", "CWE-697"], "cvss": {"score": 9.4, "vectorString": "CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H"}, "range": "<7.23.2"}], "effects": ["babel-core", "babel-template"], "range": "*", "nodes": ["node_modules/babel-traverse"], "fixAvailable": {"name": "babel-core", "version": "4.7.16", "isSemVerMajor": true}}, "json5": {"name": "json5", "severity": "high", "isDirect": false, "via": [{"source": 1096543, "name": "json5", "dependency": "json5", "title": "Prototype Pollution in JSON5 via Parse Method", "url": "https://github.com/advisories/GHSA-9c47-m6qq-7p4h", "severity": "high", "cwe": ["CWE-1321"], "cvss": {"score": 7.1, "vectorString": "CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:L/A:H"}, "range": "<1.0.2"}], "effects": ["babel-core"], "range": "<1.0.2", "nodes": ["node_modules/babel-core/node_modules/json5"], "fixAvailable": {"name": "babel-core", "version": "4.7.16", "isSemVerMajor": true}}}, "metadata": {"vulnerabilities": {"info": 0, "low": 0, "moderate": 0, "high": 2, "critical": 4, "total": 6}, "dependencies": {"prod": 1, "dev": 1119, "optional": 8, "peer": 6, "peerOptional": 0, "total": 1119}}}}
$ /usr/bin/npm audit fix --only=dev
--- stderr ---
npm WARN invalid config only="dev" set in command line options
npm WARN invalid config Must be one of: null, prod, production
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE package: '@wikimedia/codex@2.3.2',
npm WARN EBADENGINE required: { node: '>=20.19.1', npm: '>=10.8.2' },
npm WARN EBADENGINE current: { node: 'v20.19.2', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE package: '@wikimedia/codex-icons@2.3.2',
npm WARN EBADENGINE required: { node: '>=20.19.1', npm: '>=10.8.2' },
npm WARN EBADENGINE current: { node: 'v20.19.2', npm: '9.2.0' }
npm WARN EBADENGINE }
--- stdout ---
up to date, audited 1119 packages in 4s
166 packages are looking for funding
run `npm fund` for details
# npm audit report
babel-traverse *
Severity: critical
Babel vulnerable to arbitrary code execution when compiling specifically crafted malicious code - https://github.com/advisories/GHSA-67hx-6x53-jw92
fix available via `npm audit fix --force`
Will install babel-core@4.7.16, which is a breaking change
node_modules/babel-traverse
babel-core 5.8.20 - 7.0.0-beta.3
Depends on vulnerable versions of babel-helpers
Depends on vulnerable versions of babel-register
Depends on vulnerable versions of babel-template
Depends on vulnerable versions of babel-traverse
Depends on vulnerable versions of json5
node_modules/babel-core
babel-register *
Depends on vulnerable versions of babel-core
node_modules/babel-register
babel-template *
Depends on vulnerable versions of babel-traverse
node_modules/babel-template
babel-helpers *
Depends on vulnerable versions of babel-template
node_modules/babel-helpers
json5 <1.0.2
Severity: high
Prototype Pollution in JSON5 via Parse Method - https://github.com/advisories/GHSA-9c47-m6qq-7p4h
fix available via `npm audit fix --force`
Will install babel-core@4.7.16, which is a breaking change
node_modules/babel-core/node_modules/json5
6 vulnerabilities (2 high, 4 critical)
To address issues that do not require attention, run:
npm audit fix
To address all issues (including breaking changes), run:
npm audit fix --force
--- end ---
Verifying that tests still pass
$ /usr/bin/npm ci
--- stderr ---
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE package: '@wikimedia/codex@2.3.2',
npm WARN EBADENGINE required: { node: '>=20.19.1', npm: '>=10.8.2' },
npm WARN EBADENGINE current: { node: 'v20.19.2', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE package: '@wikimedia/codex-icons@2.3.2',
npm WARN EBADENGINE required: { node: '>=20.19.1', npm: '>=10.8.2' },
npm WARN EBADENGINE current: { node: 'v20.19.2', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN deprecated osenv@0.1.5: This package is no longer supported.
npm WARN deprecated inflight@1.0.6: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.
npm WARN deprecated @humanwhocodes/config-array@0.13.0: Use @eslint/config-array instead
npm WARN deprecated rimraf@3.0.2: Rimraf versions prior to v4 are no longer supported
npm WARN deprecated abab@2.0.6: Use your platform's native atob() and btoa() methods instead
npm WARN deprecated @humanwhocodes/object-schema@2.0.3: Use @eslint/object-schema instead
npm WARN deprecated glob@7.1.7: Glob versions prior to v9 are no longer supported
npm WARN deprecated domexception@4.0.0: Use your platform's native DOMException instead
npm WARN deprecated eslint@8.57.1: This version is no longer supported. Please see https://eslint.org/version-support for other options.
npm WARN deprecated core-js@2.6.12: core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js.
--- stdout ---
added 1118 packages, and audited 1119 packages in 14s
166 packages are looking for funding
run `npm fund` for details
6 vulnerabilities (2 high, 4 critical)
To address issues that do not require attention, run:
npm audit fix
To address all issues (including breaking changes), run:
npm audit fix --force
Run `npm audit` for details.
--- end ---
$ /usr/bin/npm test
--- stderr ---
PASS tests/jest/components/SearchResults.test.js
PASS tests/jest/components/QuickView.test.js
● Console
console.warn
[Vue warn]: Property "rootClasses" was accessed during render but is not defined on instance.
at <QuickView title="File:Tired 20-year-old cat.jpg" canonicalurl="https://commons.wikimedia.org/wiki/File:Tired_20-year-old_cat.jpg" imageinfo= [
{
size: 3017217,
width: 2484,
height: 1870,
thumburl: 'https://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Tired_20-year-old_cat.jpg/239px-Tired_20-year-old_cat.jpg',
thumbwidth: 239,
thumbheight: 180,
responsiveUrls: {
'2': 'https://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Tired_20-year-old_cat.jpg/478px-Tired_20-year-old_cat.jpg',
'1.5': 'https://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Tired_20-year-old_cat.jpg/359px-Tired_20-year-old_cat.jpg'
},
url: 'https://upload.wikimedia.org/wikipedia/commons/3/32/Tired_20-year-old_cat.jpg',
descriptionurl: 'https://commons.wikimedia.org/wiki/File:Tired_20-year-old_cat.jpg',
descriptionshorturl: 'https://commons.wikimedia.org/w/index.php?curid=9809267',
extmetadata: {
DateTime: [Object],
ObjectName: [Object],
CommonsMetadataExtension: [Object],
Categories: [Object],
Assessments: [Object],
ImageDescription: [Object],
DateTimeOriginal: [Object],
Credit: [Object],
Artist: [Object],
Permission: [Object],
LicenseShortName: [Object],
UsageTerms: [Object],
AttributionRequired: [Object],
Attribution: [Object],
LicenseUrl: [Object],
Copyrighted: [Object],
Restrictions: [Object],
License: [Object]
},
mime: 'image/jpeg'
}
] ... >
at <VTUROOT>
592 | }
593 | },
> 594 |
| ^
595 | mimeType: function () {
596 | return this.imageinfo[ 0 ].mime;
597 | },
at warn$1 (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:53:13)
at Object.get (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3117:9)
at Proxy.rootClasses (resources/components/QuickView.vue:594:64)
at renderComponentRoot (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6445:16)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5262:46)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5269:11)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at render (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5922:7)
at mount (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3922:13)
at Object.app.mount (node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.js:1703:19)
at mount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8415:18)
at shallowMount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8434:12)
at Object.<anonymous> (tests/jest/components/QuickView.test.js:224:20)
console.warn
[Vue warn]: Property "isImage" was accessed during render but is not defined on instance.
at <QuickView title="File:Tired 20-year-old cat.jpg" canonicalurl="https://commons.wikimedia.org/wiki/File:Tired_20-year-old_cat.jpg" imageinfo= [
{
size: 3017217,
width: 2484,
height: 1870,
thumburl: 'https://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Tired_20-year-old_cat.jpg/239px-Tired_20-year-old_cat.jpg',
thumbwidth: 239,
thumbheight: 180,
responsiveUrls: {
'2': 'https://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Tired_20-year-old_cat.jpg/478px-Tired_20-year-old_cat.jpg',
'1.5': 'https://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Tired_20-year-old_cat.jpg/359px-Tired_20-year-old_cat.jpg'
},
url: 'https://upload.wikimedia.org/wikipedia/commons/3/32/Tired_20-year-old_cat.jpg',
descriptionurl: 'https://commons.wikimedia.org/wiki/File:Tired_20-year-old_cat.jpg',
descriptionshorturl: 'https://commons.wikimedia.org/w/index.php?curid=9809267',
extmetadata: {
DateTime: [Object],
ObjectName: [Object],
CommonsMetadataExtension: [Object],
Categories: [Object],
Assessments: [Object],
ImageDescription: [Object],
DateTimeOriginal: [Object],
Credit: [Object],
Artist: [Object],
Permission: [Object],
LicenseShortName: [Object],
UsageTerms: [Object],
AttributionRequired: [Object],
Attribution: [Object],
LicenseUrl: [Object],
Copyrighted: [Object],
Restrictions: [Object],
License: [Object]
},
mime: 'image/jpeg'
}
] ... >
at <VTUROOT>
600 | if ( this.isVideo || this.isAudio ) {
601 | return {
> 602 | autoplay: false,
| ^
603 | controls: true,
604 | fluid: true,
605 | poster: this.videoinfo[ 0 ].thumburl,
at warn$1 (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:53:13)
at Object.get (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3117:9)
at Proxy.isImage (resources/components/QuickView.vue:602:64)
at renderComponentRoot (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6445:16)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5262:46)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5269:11)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at render (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5922:7)
at mount (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3922:13)
at Object.app.mount (node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.js:1703:19)
at mount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8415:18)
at shallowMount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8434:12)
at Object.<anonymous> (tests/jest/components/QuickView.test.js:224:20)
console.warn
[Vue warn]: Property "isVideo" was accessed during render but is not defined on instance.
at <QuickView title="File:Tired 20-year-old cat.jpg" canonicalurl="https://commons.wikimedia.org/wiki/File:Tired_20-year-old_cat.jpg" imageinfo= [
{
size: 3017217,
width: 2484,
height: 1870,
thumburl: 'https://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Tired_20-year-old_cat.jpg/239px-Tired_20-year-old_cat.jpg',
thumbwidth: 239,
thumbheight: 180,
responsiveUrls: {
'2': 'https://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Tired_20-year-old_cat.jpg/478px-Tired_20-year-old_cat.jpg',
'1.5': 'https://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Tired_20-year-old_cat.jpg/359px-Tired_20-year-old_cat.jpg'
},
url: 'https://upload.wikimedia.org/wikipedia/commons/3/32/Tired_20-year-old_cat.jpg',
descriptionurl: 'https://commons.wikimedia.org/wiki/File:Tired_20-year-old_cat.jpg',
descriptionshorturl: 'https://commons.wikimedia.org/w/index.php?curid=9809267',
extmetadata: {
DateTime: [Object],
ObjectName: [Object],
CommonsMetadataExtension: [Object],
Categories: [Object],
Assessments: [Object],
ImageDescription: [Object],
DateTimeOriginal: [Object],
Credit: [Object],
Artist: [Object],
Permission: [Object],
LicenseShortName: [Object],
UsageTerms: [Object],
AttributionRequired: [Object],
Attribution: [Object],
LicenseUrl: [Object],
Copyrighted: [Object],
Restrictions: [Object],
License: [Object]
},
mime: 'image/jpeg'
}
] ... >
at <VTUROOT>
616 | * Emit a close event. If the user triggered this from the keyboard instead
617 | * of by clicking, add an additional parameter so that the parent knows to
> 618 | * restore focus to the originating search result.
| ^
619 | *
620 | * @param {Event} event
621 | * @fires close
at warn$1 (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:53:13)
at Object.get (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3117:9)
at Proxy.isVideo (resources/components/QuickView.vue:618:88)
at renderComponentRoot (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6445:16)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5262:46)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5269:11)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at render (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5922:7)
at mount (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3922:13)
at Object.app.mount (node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.js:1703:19)
at mount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8415:18)
at shallowMount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8434:12)
at Object.<anonymous> (tests/jest/components/QuickView.test.js:224:20)
console.warn
[Vue warn]: Property "isAudio" was accessed during render but is not defined on instance.
at <QuickView title="File:Tired 20-year-old cat.jpg" canonicalurl="https://commons.wikimedia.org/wiki/File:Tired_20-year-old_cat.jpg" imageinfo= [
{
size: 3017217,
width: 2484,
height: 1870,
thumburl: 'https://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Tired_20-year-old_cat.jpg/239px-Tired_20-year-old_cat.jpg',
thumbwidth: 239,
thumbheight: 180,
responsiveUrls: {
'2': 'https://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Tired_20-year-old_cat.jpg/478px-Tired_20-year-old_cat.jpg',
'1.5': 'https://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Tired_20-year-old_cat.jpg/359px-Tired_20-year-old_cat.jpg'
},
url: 'https://upload.wikimedia.org/wikipedia/commons/3/32/Tired_20-year-old_cat.jpg',
descriptionurl: 'https://commons.wikimedia.org/wiki/File:Tired_20-year-old_cat.jpg',
descriptionshorturl: 'https://commons.wikimedia.org/w/index.php?curid=9809267',
extmetadata: {
DateTime: [Object],
ObjectName: [Object],
CommonsMetadataExtension: [Object],
Categories: [Object],
Assessments: [Object],
ImageDescription: [Object],
DateTimeOriginal: [Object],
Credit: [Object],
Artist: [Object],
Permission: [Object],
LicenseShortName: [Object],
UsageTerms: [Object],
AttributionRequired: [Object],
Attribution: [Object],
LicenseUrl: [Object],
Copyrighted: [Object],
Restrictions: [Object],
License: [Object]
},
mime: 'image/jpeg'
}
] ... >
at <VTUROOT>
616 | * Emit a close event. If the user triggered this from the keyboard instead
617 | * of by clicking, add an additional parameter so that the parent knows to
> 618 | * restore focus to the originating search result.
| ^
619 | *
620 | * @param {Event} event
621 | * @fires close
at warn$1 (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:53:13)
at Object.get (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3117:9)
at Proxy.isAudio (resources/components/QuickView.vue:618:104)
at renderComponentRoot (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6445:16)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5262:46)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5269:11)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at render (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5922:7)
at mount (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3922:13)
at Object.app.mount (node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.js:1703:19)
at mount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8415:18)
at shallowMount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8434:12)
at Object.<anonymous> (tests/jest/components/QuickView.test.js:224:20)
console.warn
[Vue warn]: Property "displayName" was accessed during render but is not defined on instance.
at <QuickView title="File:Tired 20-year-old cat.jpg" canonicalurl="https://commons.wikimedia.org/wiki/File:Tired_20-year-old_cat.jpg" imageinfo= [
{
size: 3017217,
width: 2484,
height: 1870,
thumburl: 'https://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Tired_20-year-old_cat.jpg/239px-Tired_20-year-old_cat.jpg',
thumbwidth: 239,
thumbheight: 180,
responsiveUrls: {
'2': 'https://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Tired_20-year-old_cat.jpg/478px-Tired_20-year-old_cat.jpg',
'1.5': 'https://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Tired_20-year-old_cat.jpg/359px-Tired_20-year-old_cat.jpg'
},
url: 'https://upload.wikimedia.org/wikipedia/commons/3/32/Tired_20-year-old_cat.jpg',
descriptionurl: 'https://commons.wikimedia.org/wiki/File:Tired_20-year-old_cat.jpg',
descriptionshorturl: 'https://commons.wikimedia.org/w/index.php?curid=9809267',
extmetadata: {
DateTime: [Object],
ObjectName: [Object],
CommonsMetadataExtension: [Object],
Categories: [Object],
Assessments: [Object],
ImageDescription: [Object],
DateTimeOriginal: [Object],
Credit: [Object],
Artist: [Object],
Permission: [Object],
LicenseShortName: [Object],
UsageTerms: [Object],
AttributionRequired: [Object],
Attribution: [Object],
LicenseUrl: [Object],
Copyrighted: [Object],
Restrictions: [Object],
License: [Object]
},
mime: 'image/jpeg'
}
] ... >
at <VTUROOT>
654 |
655 | /**
> 656 | * Set the height of the div wrapping the thumbnail image to the display
| ^
657 | * height of that image to avoid a layout jump when the image loads.
658 | */
659 | getThumbnailWrapperStyle: function () {
at warn$1 (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:53:13)
at Object.get (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3117:9)
at Proxy.displayName (resources/components/QuickView.vue:656:503)
at renderComponentRoot (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6445:16)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5262:46)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5269:11)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at render (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5922:7)
at mount (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3922:13)
at Object.app.mount (node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.js:1703:19)
at mount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8415:18)
at shallowMount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8434:12)
at Object.<anonymous> (tests/jest/components/QuickView.test.js:224:20)
console.warn
[Vue warn]: Property "description" was accessed during render but is not defined on instance.
at <QuickView title="File:Tired 20-year-old cat.jpg" canonicalurl="https://commons.wikimedia.org/wiki/File:Tired_20-year-old_cat.jpg" imageinfo= [
{
size: 3017217,
width: 2484,
height: 1870,
thumburl: 'https://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Tired_20-year-old_cat.jpg/239px-Tired_20-year-old_cat.jpg',
thumbwidth: 239,
thumbheight: 180,
responsiveUrls: {
'2': 'https://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Tired_20-year-old_cat.jpg/478px-Tired_20-year-old_cat.jpg',
'1.5': 'https://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Tired_20-year-old_cat.jpg/359px-Tired_20-year-old_cat.jpg'
},
url: 'https://upload.wikimedia.org/wikipedia/commons/3/32/Tired_20-year-old_cat.jpg',
descriptionurl: 'https://commons.wikimedia.org/wiki/File:Tired_20-year-old_cat.jpg',
descriptionshorturl: 'https://commons.wikimedia.org/w/index.php?curid=9809267',
extmetadata: {
DateTime: [Object],
ObjectName: [Object],
CommonsMetadataExtension: [Object],
Categories: [Object],
Assessments: [Object],
ImageDescription: [Object],
DateTimeOriginal: [Object],
Credit: [Object],
Artist: [Object],
Permission: [Object],
LicenseShortName: [Object],
UsageTerms: [Object],
AttributionRequired: [Object],
Attribution: [Object],
LicenseUrl: [Object],
Copyrighted: [Object],
Restrictions: [Object],
License: [Object]
},
mime: 'image/jpeg'
}
] ... >
at <VTUROOT>
658 | */
659 | getThumbnailWrapperStyle: function () {
> 660 | if ( !this.imageinfo ) {
| ^
661 | return;
662 | }
663 |
at warn$1 (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:53:13)
at Object.get (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3117:9)
at Proxy.description (resources/components/QuickView.vue:660:139)
at renderComponentRoot (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6445:16)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5262:46)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5269:11)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at render (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5922:7)
at mount (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3922:13)
at Object.app.mount (node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.js:1703:19)
at mount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8415:18)
at shallowMount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8434:12)
at Object.<anonymous> (tests/jest/components/QuickView.test.js:224:20)
console.warn
[Vue warn]: Property "artist" was accessed during render but is not defined on instance.
at <QuickView title="File:Tired 20-year-old cat.jpg" canonicalurl="https://commons.wikimedia.org/wiki/File:Tired_20-year-old_cat.jpg" imageinfo= [
{
size: 3017217,
width: 2484,
height: 1870,
thumburl: 'https://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Tired_20-year-old_cat.jpg/239px-Tired_20-year-old_cat.jpg',
thumbwidth: 239,
thumbheight: 180,
responsiveUrls: {
'2': 'https://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Tired_20-year-old_cat.jpg/478px-Tired_20-year-old_cat.jpg',
'1.5': 'https://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Tired_20-year-old_cat.jpg/359px-Tired_20-year-old_cat.jpg'
},
url: 'https://upload.wikimedia.org/wikipedia/commons/3/32/Tired_20-year-old_cat.jpg',
descriptionurl: 'https://commons.wikimedia.org/wiki/File:Tired_20-year-old_cat.jpg',
descriptionshorturl: 'https://commons.wikimedia.org/w/index.php?curid=9809267',
extmetadata: {
DateTime: [Object],
ObjectName: [Object],
CommonsMetadataExtension: [Object],
Categories: [Object],
Assessments: [Object],
ImageDescription: [Object],
DateTimeOriginal: [Object],
Credit: [Object],
Artist: [Object],
Permission: [Object],
LicenseShortName: [Object],
UsageTerms: [Object],
AttributionRequired: [Object],
Attribution: [Object],
LicenseUrl: [Object],
Copyrighted: [Object],
Restrictions: [Object],
License: [Object]
},
mime: 'image/jpeg'
}
] ... >
at <VTUROOT>
660 | if ( !this.imageinfo ) {
661 | return;
> 662 | }
| ^
663 |
664 | const imgWidth = this.imageinfo[ 0 ].width;
665 | const imgHeight = this.imageinfo[ 0 ].height;
at warn$1 (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:53:13)
at Object.get (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3117:9)
at Proxy.artist (resources/components/QuickView.vue:662:94)
at renderComponentRoot (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6445:16)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5262:46)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5269:11)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at render (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5922:7)
at mount (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3922:13)
at Object.app.mount (node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.js:1703:19)
at mount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8415:18)
at shallowMount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8434:12)
at Object.<anonymous> (tests/jest/components/QuickView.test.js:224:20)
console.warn
[Vue warn]: Property "licenseText" was accessed during render but is not defined on instance.
at <QuickView title="File:Tired 20-year-old cat.jpg" canonicalurl="https://commons.wikimedia.org/wiki/File:Tired_20-year-old_cat.jpg" imageinfo= [
{
size: 3017217,
width: 2484,
height: 1870,
thumburl: 'https://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Tired_20-year-old_cat.jpg/239px-Tired_20-year-old_cat.jpg',
thumbwidth: 239,
thumbheight: 180,
responsiveUrls: {
'2': 'https://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Tired_20-year-old_cat.jpg/478px-Tired_20-year-old_cat.jpg',
'1.5': 'https://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Tired_20-year-old_cat.jpg/359px-Tired_20-year-old_cat.jpg'
},
url: 'https://upload.wikimedia.org/wikipedia/commons/3/32/Tired_20-year-old_cat.jpg',
descriptionurl: 'https://commons.wikimedia.org/wiki/File:Tired_20-year-old_cat.jpg',
descriptionshorturl: 'https://commons.wikimedia.org/w/index.php?curid=9809267',
extmetadata: {
DateTime: [Object],
ObjectName: [Object],
CommonsMetadataExtension: [Object],
Categories: [Object],
Assessments: [Object],
ImageDescription: [Object],
DateTimeOriginal: [Object],
Credit: [Object],
Artist: [Object],
Permission: [Object],
LicenseShortName: [Object],
UsageTerms: [Object],
AttributionRequired: [Object],
Attribution: [Object],
LicenseUrl: [Object],
Copyrighted: [Object],
Restrictions: [Object],
License: [Object]
},
mime: 'image/jpeg'
}
] ... >
at <VTUROOT>
664 | const imgWidth = this.imageinfo[ 0 ].width;
665 | const imgHeight = this.imageinfo[ 0 ].height;
> 666 | const elWidth = this.$refs.header.offsetWidth;
| ^
667 | let height;
668 | if ( imgWidth >= imgHeight ) {
669 | // For landscape-oriented images, calculate the height
at warn$1 (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:53:13)
at Object.get (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3117:9)
at Proxy.licenseText (resources/components/QuickView.vue:666:234)
at renderComponentRoot (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6445:16)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5262:46)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5269:11)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at render (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5922:7)
at mount (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3922:13)
at Object.app.mount (node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.js:1703:19)
at mount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8415:18)
at shallowMount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8434:12)
at Object.<anonymous> (tests/jest/components/QuickView.test.js:224:20)
console.warn
[Vue warn]: Property "displayName" was accessed during render but is not defined on instance.
at <QuickView title="File:Tired 20-year-old cat.jpg" canonicalurl="https://commons.wikimedia.org/wiki/File:Tired_20-year-old_cat.jpg" imageinfo= [
{
size: 3017217,
width: 2484,
height: 1870,
thumburl: 'https://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Tired_20-year-old_cat.jpg/239px-Tired_20-year-old_cat.jpg',
thumbwidth: 239,
thumbheight: 180,
responsiveUrls: {
'2': 'https://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Tired_20-year-old_cat.jpg/478px-Tired_20-year-old_cat.jpg',
'1.5': 'https://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Tired_20-year-old_cat.jpg/359px-Tired_20-year-old_cat.jpg'
},
url: 'https://upload.wikimedia.org/wikipedia/commons/3/32/Tired_20-year-old_cat.jpg',
descriptionurl: 'https://commons.wikimedia.org/wiki/File:Tired_20-year-old_cat.jpg',
descriptionshorturl: 'https://commons.wikimedia.org/w/index.php?curid=9809267',
extmetadata: {
DateTime: [Object],
ObjectName: [Object],
CommonsMetadataExtension: [Object],
Categories: [Object],
Assessments: [Object],
ImageDescription: [Object],
DateTimeOriginal: [Object],
Credit: [Object],
Artist: [Object],
Permission: [Object],
LicenseShortName: [Object],
UsageTerms: [Object],
AttributionRequired: [Object],
Attribution: [Object],
LicenseUrl: [Object],
Copyrighted: [Object],
Restrictions: [Object],
License: [Object]
},
mime: 'image/jpeg'
}
] ... >
at <VTUROOT>
678 | // A portrait-oriented image could be limited by several
679 | // constraints: the natural image height (e.g. an original file
> 680 | // that's only 200px tall), the CSS-enforced max-height of the
| ^
681 | // image (60vh), or the max-width of the container.
682 | height = Math.min(
683 | imgHeight,
at warn$1 (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:53:13)
at Object.get (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3117:9)
at Proxy.displayName (resources/components/QuickView.vue:680:197)
at renderComponentRoot (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6445:16)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5262:46)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5269:11)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at render (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5922:7)
at mount (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3922:13)
at Object.app.mount (node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.js:1703:19)
at mount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8415:18)
at shallowMount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8434:12)
at Object.<anonymous> (tests/jest/components/QuickView.test.js:224:20)
console.warn
[Vue warn]: Property "displayNameWithoutExtension" was accessed during render but is not defined on instance.
at <QuickView title="File:Tired 20-year-old cat.jpg" canonicalurl="https://commons.wikimedia.org/wiki/File:Tired_20-year-old_cat.jpg" imageinfo= [
{
size: 3017217,
width: 2484,
height: 1870,
thumburl: 'https://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Tired_20-year-old_cat.jpg/239px-Tired_20-year-old_cat.jpg',
thumbwidth: 239,
thumbheight: 180,
responsiveUrls: {
'2': 'https://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Tired_20-year-old_cat.jpg/478px-Tired_20-year-old_cat.jpg',
'1.5': 'https://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Tired_20-year-old_cat.jpg/359px-Tired_20-year-old_cat.jpg'
},
url: 'https://upload.wikimedia.org/wikipedia/commons/3/32/Tired_20-year-old_cat.jpg',
descriptionurl: 'https://commons.wikimedia.org/wiki/File:Tired_20-year-old_cat.jpg',
descriptionshorturl: 'https://commons.wikimedia.org/w/index.php?curid=9809267',
extmetadata: {
DateTime: [Object],
ObjectName: [Object],
CommonsMetadataExtension: [Object],
Categories: [Object],
Assessments: [Object],
ImageDescription: [Object],
DateTimeOriginal: [Object],
Credit: [Object],
Artist: [Object],
Permission: [Object],
LicenseShortName: [Object],
UsageTerms: [Object],
AttributionRequired: [Object],
Attribution: [Object],
LicenseUrl: [Object],
Copyrighted: [Object],
Restrictions: [Object],
License: [Object]
},
mime: 'image/jpeg'
}
] ... >
at <VTUROOT>
684 | window.innerHeight * 0.6,
685 | ( imgHeight * elWidth ) / imgWidth
> 686 | );
| ^
687 | }
688 |
689 | // For very short images, we need to add some vertical padding so
at warn$1 (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:53:13)
at Object.get (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3117:9)
at Proxy.displayNameWithoutExtension (resources/components/QuickView.vue:686:106)
at renderComponentRoot (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6445:16)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5262:46)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5269:11)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at render (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5922:7)
at mount (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3922:13)
at Object.app.mount (node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.js:1703:19)
at mount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8415:18)
at shallowMount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8434:12)
at Object.<anonymous> (tests/jest/components/QuickView.test.js:224:20)
console.warn
[Vue warn]: Property "creationDate" was accessed during render but is not defined on instance.
at <QuickView title="File:Tired 20-year-old cat.jpg" canonicalurl="https://commons.wikimedia.org/wiki/File:Tired_20-year-old_cat.jpg" imageinfo= [
{
size: 3017217,
width: 2484,
height: 1870,
thumburl: 'https://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Tired_20-year-old_cat.jpg/239px-Tired_20-year-old_cat.jpg',
thumbwidth: 239,
thumbheight: 180,
responsiveUrls: {
'2': 'https://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Tired_20-year-old_cat.jpg/478px-Tired_20-year-old_cat.jpg',
'1.5': 'https://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Tired_20-year-old_cat.jpg/359px-Tired_20-year-old_cat.jpg'
},
url: 'https://upload.wikimedia.org/wikipedia/commons/3/32/Tired_20-year-old_cat.jpg',
descriptionurl: 'https://commons.wikimedia.org/wiki/File:Tired_20-year-old_cat.jpg',
descriptionshorturl: 'https://commons.wikimedia.org/w/index.php?curid=9809267',
extmetadata: {
DateTime: [Object],
ObjectName: [Object],
CommonsMetadataExtension: [Object],
Categories: [Object],
Assessments: [Object],
ImageDescription: [Object],
DateTimeOriginal: [Object],
Credit: [Object],
Artist: [Object],
Permission: [Object],
LicenseShortName: [Object],
UsageTerms: [Object],
AttributionRequired: [Object],
Attribution: [Object],
LicenseUrl: [Object],
Copyrighted: [Object],
Restrictions: [Object],
License: [Object]
},
mime: 'image/jpeg'
}
] ... >
at <VTUROOT>
691 | // positioned controls.
692 | if ( height < 100 ) {
> 693 | height += 30;
| ^
694 | // We'll use this to add a class to the image to add 15px of
695 | // top and bottom padding.
696 | this.isExtraSmall = true;
at warn$1 (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:53:13)
at Object.get (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3117:9)
at Proxy.creationDate (resources/components/QuickView.vue:693:240)
at renderComponentRoot (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6445:16)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5262:46)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5269:11)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at render (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5922:7)
at mount (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3922:13)
at Object.app.mount (node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.js:1703:19)
at mount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8415:18)
at shallowMount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8434:12)
at Object.<anonymous> (tests/jest/components/QuickView.test.js:224:20)
console.warn
[Vue warn]: Property "resolution" was accessed during render but is not defined on instance.
at <QuickView title="File:Tired 20-year-old cat.jpg" canonicalurl="https://commons.wikimedia.org/wiki/File:Tired_20-year-old_cat.jpg" imageinfo= [
{
size: 3017217,
width: 2484,
height: 1870,
thumburl: 'https://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Tired_20-year-old_cat.jpg/239px-Tired_20-year-old_cat.jpg',
thumbwidth: 239,
thumbheight: 180,
responsiveUrls: {
'2': 'https://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Tired_20-year-old_cat.jpg/478px-Tired_20-year-old_cat.jpg',
'1.5': 'https://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Tired_20-year-old_cat.jpg/359px-Tired_20-year-old_cat.jpg'
},
url: 'https://upload.wikimedia.org/wikipedia/commons/3/32/Tired_20-year-old_cat.jpg',
descriptionurl: 'https://commons.wikimedia.org/wiki/File:Tired_20-year-old_cat.jpg',
descriptionshorturl: 'https://commons.wikimedia.org/w/index.php?curid=9809267',
extmetadata: {
DateTime: [Object],
ObjectName: [Object],
CommonsMetadataExtension: [Object],
Categories: [Object],
Assessments: [Object],
ImageDescription: [Object],
DateTimeOriginal: [Object],
Credit: [Object],
Artist: [Object],
Permission: [Object],
LicenseShortName: [Object],
UsageTerms: [Object],
AttributionRequired: [Object],
Attribution: [Object],
LicenseUrl: [Object],
Copyrighted: [Object],
Restrictions: [Object],
License: [Object]
},
mime: 'image/jpeg'
}
] ... >
at <VTUROOT>
695 | // top and bottom padding.
696 | this.isExtraSmall = true;
> 697 | }
| ^
698 |
699 | this.thumbnailWrapperStyle = {
700 | height: height + 'px',
at warn$1 (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:53:13)
at Object.get (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3117:9)
at Proxy.resolution (resources/components/QuickView.vue:697:94)
at renderComponentRoot (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6445:16)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5262:46)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5269:11)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at render (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5922:7)
at mount (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3922:13)
at Object.app.mount (node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.js:1703:19)
at mount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8415:18)
at shallowMount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8434:12)
at Object.<anonymous> (tests/jest/components/QuickView.test.js:224:20)
console.warn
[Vue warn]: Property "mimeType" was accessed during render but is not defined on instance.
at <QuickView title="File:Tired 20-year-old cat.jpg" canonicalurl="https://commons.wikimedia.org/wiki/File:Tired_20-year-old_cat.jpg" imageinfo= [
{
size: 3017217,
width: 2484,
height: 1870,
thumburl: 'https://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Tired_20-year-old_cat.jpg/239px-Tired_20-year-old_cat.jpg',
thumbwidth: 239,
thumbheight: 180,
responsiveUrls: {
'2': 'https://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Tired_20-year-old_cat.jpg/478px-Tired_20-year-old_cat.jpg',
'1.5': 'https://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Tired_20-year-old_cat.jpg/359px-Tired_20-year-old_cat.jpg'
},
url: 'https://upload.wikimedia.org/wikipedia/commons/3/32/Tired_20-year-old_cat.jpg',
descriptionurl: 'https://commons.wikimedia.org/wiki/File:Tired_20-year-old_cat.jpg',
descriptionshorturl: 'https://commons.wikimedia.org/w/index.php?curid=9809267',
extmetadata: {
DateTime: [Object],
ObjectName: [Object],
CommonsMetadataExtension: [Object],
Categories: [Object],
Assessments: [Object],
ImageDescription: [Object],
DateTimeOriginal: [Object],
Credit: [Object],
Artist: [Object],
Permission: [Object],
LicenseShortName: [Object],
UsageTerms: [Object],
AttributionRequired: [Object],
Attribution: [Object],
LicenseUrl: [Object],
Copyrighted: [Object],
Restrictions: [Object],
License: [Object]
},
mime: 'image/jpeg'
}
] ... >
at <VTUROOT>
697 | }
698 |
> 699 | this.thumbnailWrapperStyle = {
| ^
700 | height: height + 'px',
701 | width: '100%'
702 | };
at warn$1 (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:53:13)
at Object.get (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3117:9)
at Proxy.mimeType (resources/components/QuickView.vue:699:265)
at renderComponentRoot (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6445:16)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5262:46)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5269:11)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at render (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5922:7)
at mount (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3922:13)
at Object.app.mount (node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.js:1703:19)
at mount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8415:18)
at shallowMount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8434:12)
at Object.<anonymous> (tests/jest/components/QuickView.test.js:224:20)
PASS tests/jest/store/actions.test.js
● Console
console.warn
jQuery.Deferred exception: mw.track is not a function TypeError: mw.track is not a function
at track (/src/repo/resources/store/actions.js:325:7)
at fire (/src/repo/node_modules/jquery/dist/jquery.js:3223:31)
at fireWith (/src/repo/node_modules/jquery/dist/jquery.js:3353:7)
at mightThrow (/src/repo/node_modules/jquery/dist/jquery.js:3548:46)
at process (/src/repo/node_modules/jquery/dist/jquery.js:3557:12)
at Timeout.task [as _onTimeout] (/src/repo/node_modules/jsdom/lib/jsdom/browser/Window.js:520:19)
at listOnTimeout (node:internal/timers:581:17)
at processTimers (node:internal/timers:519:7) undefined
at Function.jQuery.Deferred.exceptionHook (node_modules/jquery/dist/jquery.js:3783:18)
at process (node_modules/jquery/dist/jquery.js:3561:29)
at Timeout.task [as _onTimeout] (node_modules/jsdom/lib/jsdom/browser/Window.js:520:19)
console.warn
jQuery.Deferred exception: mw.track is not a function TypeError: mw.track is not a function
at track (/src/repo/resources/store/actions.js:325:7)
at fire (/src/repo/node_modules/jquery/dist/jquery.js:3223:31)
at fireWith (/src/repo/node_modules/jquery/dist/jquery.js:3353:7)
at mightThrow (/src/repo/node_modules/jquery/dist/jquery.js:3548:46)
at process (/src/repo/node_modules/jquery/dist/jquery.js:3557:12)
at Timeout.task [as _onTimeout] (/src/repo/node_modules/jsdom/lib/jsdom/browser/Window.js:520:19)
at listOnTimeout (node:internal/timers:581:17)
at processTimers (node:internal/timers:519:7) undefined
at Function.jQuery.Deferred.exceptionHook (node_modules/jquery/dist/jquery.js:3783:18)
at process (node_modules/jquery/dist/jquery.js:3561:29)
at Timeout.task [as _onTimeout] (node_modules/jsdom/lib/jsdom/browser/Window.js:520:19)
console.warn
jQuery.Deferred exception: mw.track is not a function TypeError: mw.track is not a function
at track (/src/repo/resources/store/actions.js:325:7)
at fire (/src/repo/node_modules/jquery/dist/jquery.js:3223:31)
at fireWith (/src/repo/node_modules/jquery/dist/jquery.js:3353:7)
at mightThrow (/src/repo/node_modules/jquery/dist/jquery.js:3548:46)
at process (/src/repo/node_modules/jquery/dist/jquery.js:3557:12)
at Timeout.task [as _onTimeout] (/src/repo/node_modules/jsdom/lib/jsdom/browser/Window.js:520:19)
at listOnTimeout (node:internal/timers:581:17)
at processTimers (node:internal/timers:519:7) undefined
at Function.jQuery.Deferred.exceptionHook (node_modules/jquery/dist/jquery.js:3783:18)
at process (node_modules/jquery/dist/jquery.js:3561:29)
at Timeout.task [as _onTimeout] (node_modules/jsdom/lib/jsdom/browser/Window.js:520:19)
console.warn
jQuery.Deferred exception: mw.track is not a function TypeError: mw.track is not a function
at track (/src/repo/resources/store/actions.js:325:7)
at fire (/src/repo/node_modules/jquery/dist/jquery.js:3223:31)
at fireWith (/src/repo/node_modules/jquery/dist/jquery.js:3353:7)
at mightThrow (/src/repo/node_modules/jquery/dist/jquery.js:3548:46)
at process (/src/repo/node_modules/jquery/dist/jquery.js:3557:12)
at Timeout.task [as _onTimeout] (/src/repo/node_modules/jsdom/lib/jsdom/browser/Window.js:520:19)
at listOnTimeout (node:internal/timers:581:17)
at processTimers (node:internal/timers:519:7) undefined
at Function.jQuery.Deferred.exceptionHook (node_modules/jquery/dist/jquery.js:3783:18)
at process (node_modules/jquery/dist/jquery.js:3561:29)
at Timeout.task [as _onTimeout] (node_modules/jsdom/lib/jsdom/browser/Window.js:520:19)
console.warn
jQuery.Deferred exception: mw.track is not a function TypeError: mw.track is not a function
at track (/src/repo/resources/store/actions.js:325:7)
at fire (/src/repo/node_modules/jquery/dist/jquery.js:3223:31)
at fireWith (/src/repo/node_modules/jquery/dist/jquery.js:3353:7)
at mightThrow (/src/repo/node_modules/jquery/dist/jquery.js:3548:46)
at process (/src/repo/node_modules/jquery/dist/jquery.js:3557:12)
at Timeout.task [as _onTimeout] (/src/repo/node_modules/jsdom/lib/jsdom/browser/Window.js:520:19)
at listOnTimeout (node:internal/timers:581:17)
at processTimers (node:internal/timers:519:7) undefined
at Function.jQuery.Deferred.exceptionHook (node_modules/jquery/dist/jquery.js:3783:18)
at process (node_modules/jquery/dist/jquery.js:3561:29)
at Timeout.task [as _onTimeout] (node_modules/jsdom/lib/jsdom/browser/Window.js:520:19)
console.warn
jQuery.Deferred exception: mw.track is not a function TypeError: mw.track is not a function
at track (/src/repo/resources/store/actions.js:325:7)
at fire (/src/repo/node_modules/jquery/dist/jquery.js:3223:31)
at fireWith (/src/repo/node_modules/jquery/dist/jquery.js:3353:7)
at mightThrow (/src/repo/node_modules/jquery/dist/jquery.js:3548:46)
at process (/src/repo/node_modules/jquery/dist/jquery.js:3557:12)
at Timeout.task [as _onTimeout] (/src/repo/node_modules/jsdom/lib/jsdom/browser/Window.js:520:19)
at listOnTimeout (node:internal/timers:581:17)
at processTimers (node:internal/timers:519:7) undefined
at Function.jQuery.Deferred.exceptionHook (node_modules/jquery/dist/jquery.js:3783:18)
at process (node_modules/jquery/dist/jquery.js:3561:29)
at Timeout.task [as _onTimeout] (node_modules/jsdom/lib/jsdom/browser/Window.js:520:19)
console.warn
jQuery.Deferred exception: mw.track is not a function TypeError: mw.track is not a function
at track (/src/repo/resources/store/actions.js:325:7)
at fire (/src/repo/node_modules/jquery/dist/jquery.js:3223:31)
at fireWith (/src/repo/node_modules/jquery/dist/jquery.js:3353:7)
at mightThrow (/src/repo/node_modules/jquery/dist/jquery.js:3548:46)
at process (/src/repo/node_modules/jquery/dist/jquery.js:3557:12)
at Timeout.task [as _onTimeout] (/src/repo/node_modules/jsdom/lib/jsdom/browser/Window.js:520:19)
at listOnTimeout (node:internal/timers:581:17)
at processTimers (node:internal/timers:519:7) undefined
at Function.jQuery.Deferred.exceptionHook (node_modules/jquery/dist/jquery.js:3783:18)
at process (node_modules/jquery/dist/jquery.js:3561:29)
at Timeout.task [as _onTimeout] (node_modules/jsdom/lib/jsdom/browser/Window.js:520:19)
console.warn
jQuery.Deferred exception: mw.track is not a function TypeError: mw.track is not a function
at track (/src/repo/resources/store/actions.js:325:7)
at fire (/src/repo/node_modules/jquery/dist/jquery.js:3223:31)
at fireWith (/src/repo/node_modules/jquery/dist/jquery.js:3353:7)
at mightThrow (/src/repo/node_modules/jquery/dist/jquery.js:3548:46)
at process (/src/repo/node_modules/jquery/dist/jquery.js:3557:12)
at Timeout.task [as _onTimeout] (/src/repo/node_modules/jsdom/lib/jsdom/browser/Window.js:520:19)
at listOnTimeout (node:internal/timers:581:17)
at processTimers (node:internal/timers:519:7) undefined
at Function.jQuery.Deferred.exceptionHook (node_modules/jquery/dist/jquery.js:3783:18)
at process (node_modules/jquery/dist/jquery.js:3561:29)
at Timeout.task [as _onTimeout] (node_modules/jsdom/lib/jsdom/browser/Window.js:520:19)
console.warn
jQuery.Deferred exception: mw.track is not a function TypeError: mw.track is not a function
at track (/src/repo/resources/store/actions.js:325:7)
at fire (/src/repo/node_modules/jquery/dist/jquery.js:3223:31)
at fireWith (/src/repo/node_modules/jquery/dist/jquery.js:3353:7)
at mightThrow (/src/repo/node_modules/jquery/dist/jquery.js:3548:46)
at process (/src/repo/node_modules/jquery/dist/jquery.js:3557:12)
at Timeout.task [as _onTimeout] (/src/repo/node_modules/jsdom/lib/jsdom/browser/Window.js:520:19)
at listOnTimeout (node:internal/timers:581:17)
at processTimers (node:internal/timers:519:7) undefined
at Function.jQuery.Deferred.exceptionHook (node_modules/jquery/dist/jquery.js:3783:18)
at process (node_modules/jquery/dist/jquery.js:3561:29)
at Timeout.task [as _onTimeout] (node_modules/jsdom/lib/jsdom/browser/Window.js:520:19)
console.warn
jQuery.Deferred exception: mw.track is not a function TypeError: mw.track is not a function
at track (/src/repo/resources/store/actions.js:325:7)
at fire (/src/repo/node_modules/jquery/dist/jquery.js:3223:31)
at fireWith (/src/repo/node_modules/jquery/dist/jquery.js:3353:7)
at mightThrow (/src/repo/node_modules/jquery/dist/jquery.js:3548:46)
at process (/src/repo/node_modules/jquery/dist/jquery.js:3557:12)
at Timeout.task [as _onTimeout] (/src/repo/node_modules/jsdom/lib/jsdom/browser/Window.js:520:19)
at listOnTimeout (node:internal/timers:581:17)
at processTimers (node:internal/timers:519:7) undefined
at Function.jQuery.Deferred.exceptionHook (node_modules/jquery/dist/jquery.js:3783:18)
at process (node_modules/jquery/dist/jquery.js:3561:29)
at Timeout.task [as _onTimeout] (node_modules/jsdom/lib/jsdom/browser/Window.js:520:19)
console.warn
jQuery.Deferred exception: mw.track is not a function TypeError: mw.track is not a function
at track (/src/repo/resources/store/actions.js:325:7)
at fire (/src/repo/node_modules/jquery/dist/jquery.js:3223:31)
at fireWith (/src/repo/node_modules/jquery/dist/jquery.js:3353:7)
at mightThrow (/src/repo/node_modules/jquery/dist/jquery.js:3548:46)
at process (/src/repo/node_modules/jquery/dist/jquery.js:3557:12)
at Timeout.task [as _onTimeout] (/src/repo/node_modules/jsdom/lib/jsdom/browser/Window.js:520:19)
at listOnTimeout (node:internal/timers:581:17)
at processTimers (node:internal/timers:519:7) undefined
at Function.jQuery.Deferred.exceptionHook (node_modules/jquery/dist/jquery.js:3783:18)
at process (node_modules/jquery/dist/jquery.js:3561:29)
at Timeout.task [as _onTimeout] (node_modules/jsdom/lib/jsdom/browser/Window.js:520:19)
console.warn
jQuery.Deferred exception: mw.track is not a function TypeError: mw.track is not a function
at track (/src/repo/resources/store/actions.js:325:7)
at fire (/src/repo/node_modules/jquery/dist/jquery.js:3223:31)
at fireWith (/src/repo/node_modules/jquery/dist/jquery.js:3353:7)
at mightThrow (/src/repo/node_modules/jquery/dist/jquery.js:3548:46)
at process (/src/repo/node_modules/jquery/dist/jquery.js:3557:12)
at Timeout.task [as _onTimeout] (/src/repo/node_modules/jsdom/lib/jsdom/browser/Window.js:520:19)
at listOnTimeout (node:internal/timers:581:17)
at processTimers (node:internal/timers:519:7) undefined
at Function.jQuery.Deferred.exceptionHook (node_modules/jquery/dist/jquery.js:3783:18)
at process (node_modules/jquery/dist/jquery.js:3561:29)
at Timeout.task [as _onTimeout] (node_modules/jsdom/lib/jsdom/browser/Window.js:520:19)
PASS tests/jest/components/app.test.js
● Console
console.error
[vuex] unknown mutation type: clearSearchWarnings
189 | ] ), {
190 | /**
> 191 | * Keep UI state, URL, and history in sync as the user changes tabs
| ^
192 | * Filter and sort preferences are tab-specific, so they need to be
193 | * re-created every time the current tab changes.
194 | *
at Store.commit (node_modules/vuex/dist/vuex.cjs.js:978:15)
at Store.boundCommit [as commit] (node_modules/vuex/dist/vuex.cjs.js:919:19)
at Proxy.mappedMutation (node_modules/vuex/dist/vuex.cjs.js:1214:18)
at Proxy.clearSearchWarnings (resources/components/App.vue:191:12)
at Object.<anonymous> (tests/jest/components/app.test.js:353:15)
console.error
[vuex] unknown mutation type: clearSearchWarnings
189 | ] ), {
190 | /**
> 191 | * Keep UI state, URL, and history in sync as the user changes tabs
| ^
192 | * Filter and sort preferences are tab-specific, so they need to be
193 | * re-created every time the current tab changes.
194 | *
at Store.commit (node_modules/vuex/dist/vuex.cjs.js:978:15)
at Store.boundCommit [as commit] (node_modules/vuex/dist/vuex.cjs.js:919:19)
at Proxy.mappedMutation (node_modules/vuex/dist/vuex.cjs.js:1214:18)
at Proxy.clearSearchWarnings (resources/components/App.vue:191:12)
at Object.<anonymous> (tests/jest/components/app.test.js:353:15)
console.error
[vuex] unknown mutation type: clearSearchWarnings
189 | ] ), {
190 | /**
> 191 | * Keep UI state, URL, and history in sync as the user changes tabs
| ^
192 | * Filter and sort preferences are tab-specific, so they need to be
193 | * re-created every time the current tab changes.
194 | *
at Store.commit (node_modules/vuex/dist/vuex.cjs.js:978:15)
at Store.boundCommit [as commit] (node_modules/vuex/dist/vuex.cjs.js:919:19)
at Proxy.mappedMutation (node_modules/vuex/dist/vuex.cjs.js:1214:18)
at Proxy.clearSearchWarnings (resources/components/App.vue:191:12)
at Object.<anonymous> (tests/jest/components/app.test.js:353:15)
console.error
[vuex] unknown mutation type: clearSearchWarnings
189 | ] ), {
190 | /**
> 191 | * Keep UI state, URL, and history in sync as the user changes tabs
| ^
192 | * Filter and sort preferences are tab-specific, so they need to be
193 | * re-created every time the current tab changes.
194 | *
at Store.commit (node_modules/vuex/dist/vuex.cjs.js:978:15)
at Store.boundCommit [as commit] (node_modules/vuex/dist/vuex.cjs.js:919:19)
at Proxy.mappedMutation (node_modules/vuex/dist/vuex.cjs.js:1214:18)
at Proxy.clearSearchWarnings (resources/components/App.vue:191:12)
at Object.<anonymous> (tests/jest/components/app.test.js:353:15)
PASS tests/jest/mixins/restoreHistoryHandler.test.js
PASS tests/jest/store/mutations.test.js
PASS tests/jest/components/base/select.test.js
PASS tests/jest/components/base/autocompleteSearchInput.test.js
● Console
console.warn
[Vue warn]: Invalid prop: type check failed for prop "modelValue". Expected String | Number, got Object
at <CdxTextInput id="tab__input" ref="input" modelValue= { value: 'active' } ... >
at <SdAutocompleteSearchInput name="tab" label="actions" lookupResults= [ { value: 'active' } ] ... >
at <VTUROOT>
at warn$1 (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:53:13)
at validateProp (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4363:7)
at validateProps (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4335:5)
at updateProps (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4144:5)
at updateComponentPreRender (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5404:5)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5326:11)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at updateComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5201:18)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5136:7)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at patchBlockChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5008:7)
at patchElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4926:7)
at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4785:7)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4642:11)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5349:9)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at ReactiveEffect.runIfDirty (node_modules/@vue/reactivity/dist/reactivity.cjs.js:267:12)
at callWithErrorHandling (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:200:33)
at flushJobs (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:405:9)
PASS tests/jest/components/SearchFilters.test.js
PASS tests/jest/store/store.test.js
PASS tests/jest/components/NamespaceFilterDialog.test.js
● Console
console.warn
[Vue warn]: CdxRadio: Inputs must have an associated label. Provide one of the following:
- A label via the appropriate slot
- An `aria-label` attribute set to the label text
- An `aria-labelledby` attribute set to the ID of the label element
at <CdxRadio key="test" modelValue=undefined onUpdate:modelValue=fn ... >
at <Transition name="sd-scale" appear="" >
at <SdDialog class="sdms-namespace-dialog" active=true title="mediasearch-filter-namespace-dialog-title" ... >
at <NamespaceFilterDialog active=true items= [ { value: 'test' } ] namespaces= {} ... >
at <VTUROOT>
20 | describe( 'when items are set', () => {
21 | it( 'render a cdx-radio', () => {
> 22 | const wrapper = mount( Component, {
| ^
23 | props: {
24 | active: true,
25 | items: [ { value: 'test' } ],
at Object.warn$1 [as warn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:53:13)
at lt (node_modules/@wikimedia/codex/dist/codex.cjs:1:7308)
at at (node_modules/@wikimedia/codex/dist/codex.cjs:1:20735)
at setup (node_modules/@wikimedia/codex/dist/codex.cjs:1:122854)
at callWithErrorHandling (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:200:19)
at setupStatefulComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7848:25)
at setupComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7809:36)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5159:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4886:7)
at processFragment (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5068:7)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4628:9)
at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4886:7)
at mountElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4809:7)
at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4774:7)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4642:11)
at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4886:7)
at mountElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4809:7)
at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4774:7)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4642:11)
at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4886:7)
at processFragment (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5068:7)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4628:9)
at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4886:7)
at mountElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4809:7)
at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4774:7)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4642:11)
at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4886:7)
at mountElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4809:7)
at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4774:7)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4642:11)
at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4886:7)
at mountElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4809:7)
at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4774:7)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4642:11)
at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4886:7)
at mountElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4809:7)
at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4774:7)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4642:11)
at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4886:7)
at mountElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4809:7)
at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4774:7)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4642:11)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5269:11)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4886:7)
at mountElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4809:7)
at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4774:7)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4642:11)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5269:11)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5269:11)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5269:11)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at render (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5922:7)
at mount (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3922:13)
at Object.app.mount (node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.js:1703:19)
at mount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8415:18)
at Object.<anonymous> (tests/jest/components/NamespaceFilterDialog.test.js:22:20)
PASS tests/jest/components/results/pageResult.test.js
PASS tests/jest/components/EmptyState.test.js
PASS tests/jest/mixins/autocompleteLookupHandler.test.js
PASS tests/jest/components/results/otherResult.test.js
PASS tests/jest/components/results/audioResult.test.js
PASS tests/jest/components/UserNotice.test.js
● Console
console.warn
[CdxMessage]: The boolean `allowUserDismiss` prop is required to show the dismiss button.
Refer to https://doc.wikimedia.org/codex/latest/components/demos/message.html#props.
13 | describe( 'renders ', () => {
14 | it( 'the parent component', () => {
> 15 | const wrapper = shallowMount( Component );
| ^
16 | const element = wrapper.find( '.sdms-user-notice__message' );
17 | expect( element.exists() ).toBe( true );
18 | } );
at validator (node_modules/@wikimedia/codex/dist/codex.cjs:1:94345)
at validateProp (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4367:21)
at validateProps (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4335:5)
at initProps (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4036:5)
at setupComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7807:3)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5159:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4886:7)
at mountElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4809:7)
at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4774:7)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4642:11)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5269:11)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5269:11)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5269:11)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at render (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5922:7)
at mount (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3922:13)
at Object.app.mount (node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.js:1703:19)
at mount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8415:18)
at shallowMount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8434:12)
at Object.<anonymous> (tests/jest/components/UserNotice.test.js:15:20)
console.warn
[Vue warn]: Invalid prop: custom validator check failed for prop "dismissButtonLabel".
at <CdxMessage dismiss-button-label="mediasearch-user-notice-dismiss" class="sdms-user-notice__message" onUserDismissed=fn<bound dismiss> >
at <Transition key=0 name="sdms-fade-out" >
at <UserNotice ref="VTU_COMPONENT" >
at <VTUROOT>
13 | describe( 'renders ', () => {
14 | it( 'the parent component', () => {
> 15 | const wrapper = shallowMount( Component );
| ^
16 | const element = wrapper.find( '.sdms-user-notice__message' );
17 | expect( element.exists() ).toBe( true );
18 | } );
at warn$1 (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:53:13)
at validateProp (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4368:5)
at validateProps (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4335:5)
at initProps (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4036:5)
at setupComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7807:3)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5159:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4886:7)
at mountElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4809:7)
at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4774:7)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4642:11)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5269:11)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5269:11)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5269:11)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at render (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5922:7)
at mount (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3922:13)
at Object.app.mount (node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.js:1703:19)
at mount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8415:18)
at shallowMount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8434:12)
at Object.<anonymous> (tests/jest/components/UserNotice.test.js:15:20)
console.warn
[CdxMessage]: The boolean `allowUserDismiss` prop is required to show the dismiss button.
Refer to https://doc.wikimedia.org/codex/latest/components/demos/message.html#props.
19 |
20 | it( 'a button component', () => {
> 21 | const wrapper = mount( Component );
| ^
22 | const innerComponent = wrapper.findComponent( CdxButton );
23 | expect( innerComponent.exists() ).toBe( true );
24 | } );
at validator (node_modules/@wikimedia/codex/dist/codex.cjs:1:94345)
at validateProp (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4367:21)
at validateProps (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4335:5)
at initProps (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4036:5)
at setupComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7807:3)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5159:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4886:7)
at mountElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4809:7)
at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4774:7)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4642:11)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5269:11)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5269:11)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5269:11)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at render (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5922:7)
at mount (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3922:13)
at Object.app.mount (node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.js:1703:19)
at mount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8415:18)
at Object.<anonymous> (tests/jest/components/UserNotice.test.js:21:20)
console.warn
[Vue warn]: Invalid prop: custom validator check failed for prop "dismissButtonLabel".
at <CdxMessage dismiss-button-label="mediasearch-user-notice-dismiss" class="sdms-user-notice__message" onUserDismissed=fn<bound dismiss> >
at <Transition key=0 name="sdms-fade-out" >
at <UserNotice ref="VTU_COMPONENT" >
at <VTUROOT>
19 |
20 | it( 'a button component', () => {
> 21 | const wrapper = mount( Component );
| ^
22 | const innerComponent = wrapper.findComponent( CdxButton );
23 | expect( innerComponent.exists() ).toBe( true );
24 | } );
at warn$1 (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:53:13)
at validateProp (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4368:5)
at validateProps (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4335:5)
at initProps (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4036:5)
at setupComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7807:3)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5159:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4886:7)
at mountElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4809:7)
at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4774:7)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4642:11)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5269:11)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5269:11)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5269:11)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at render (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5922:7)
at mount (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3922:13)
at Object.app.mount (node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.js:1703:19)
at mount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8415:18)
at Object.<anonymous> (tests/jest/components/UserNotice.test.js:21:20)
console.warn
[CdxMessage]: The boolean `allowUserDismiss` prop is required to show the dismiss button.
Refer to https://doc.wikimedia.org/codex/latest/components/demos/message.html#props.
25 |
26 | it( 'a message component', () => {
> 27 | const wrapper = shallowMount( Component );
| ^
28 | const innerComponent = wrapper.findComponent( CdxMessage );
29 | expect( innerComponent.exists() ).toBe( true );
30 | } );
at validator (node_modules/@wikimedia/codex/dist/codex.cjs:1:94345)
at validateProp (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4367:21)
at validateProps (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4335:5)
at initProps (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4036:5)
at setupComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7807:3)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5159:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4886:7)
at mountElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4809:7)
at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4774:7)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4642:11)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5269:11)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5269:11)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5269:11)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at render (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5922:7)
at mount (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3922:13)
at Object.app.mount (node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.js:1703:19)
at mount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8415:18)
at shallowMount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8434:12)
at Object.<anonymous> (tests/jest/components/UserNotice.test.js:27:20)
console.warn
[Vue warn]: Invalid prop: custom validator check failed for prop "dismissButtonLabel".
at <CdxMessage dismiss-button-label="mediasearch-user-notice-dismiss" class="sdms-user-notice__message" onUserDismissed=fn<bound dismiss> >
at <Transition key=0 name="sdms-fade-out" >
at <UserNotice ref="VTU_COMPONENT" >
at <VTUROOT>
25 |
26 | it( 'a message component', () => {
> 27 | const wrapper = shallowMount( Component );
| ^
28 | const innerComponent = wrapper.findComponent( CdxMessage );
29 | expect( innerComponent.exists() ).toBe( true );
30 | } );
at warn$1 (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:53:13)
at validateProp (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4368:5)
at validateProps (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4335:5)
at initProps (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4036:5)
at setupComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7807:3)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5159:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4886:7)
at mountElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4809:7)
at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4774:7)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4642:11)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5269:11)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5269:11)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5269:11)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at render (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5922:7)
at mount (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3922:13)
at Object.app.mount (node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.js:1703:19)
at mount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8415:18)
at shallowMount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8434:12)
at Object.<anonymous> (tests/jest/components/UserNotice.test.js:27:20)
console.warn
[CdxMessage]: The boolean `allowUserDismiss` prop is required to show the dismiss button.
Refer to https://doc.wikimedia.org/codex/latest/components/demos/message.html#props.
58 |
59 | it( 'when notice dismissed', ( done ) => {
> 60 | const wrapper = shallowMount( Component );
| ^
61 | wrapper.setData( { dismissed: true } );
62 | wrapper.vm.$nextTick( () => {
63 | const element = wrapper.find( '.sdms-user-notice__message' );
at validator (node_modules/@wikimedia/codex/dist/codex.cjs:1:94345)
at validateProp (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4367:21)
at validateProps (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4335:5)
at initProps (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4036:5)
at setupComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7807:3)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5159:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4886:7)
at mountElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4809:7)
at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4774:7)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4642:11)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5269:11)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5269:11)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5269:11)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at render (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5922:7)
at mount (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3922:13)
at Object.app.mount (node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.js:1703:19)
at mount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8415:18)
at shallowMount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8434:12)
at Object.<anonymous> (tests/jest/components/UserNotice.test.js:60:20)
console.warn
[Vue warn]: Invalid prop: custom validator check failed for prop "dismissButtonLabel".
at <CdxMessage dismiss-button-label="mediasearch-user-notice-dismiss" class="sdms-user-notice__message" onUserDismissed=fn<bound dismiss> >
at <Transition key=0 name="sdms-fade-out" >
at <UserNotice ref="VTU_COMPONENT" >
at <VTUROOT>
58 |
59 | it( 'when notice dismissed', ( done ) => {
> 60 | const wrapper = shallowMount( Component );
| ^
61 | wrapper.setData( { dismissed: true } );
62 | wrapper.vm.$nextTick( () => {
63 | const element = wrapper.find( '.sdms-user-notice__message' );
at warn$1 (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:53:13)
at validateProp (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4368:5)
at validateProps (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4335:5)
at initProps (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4036:5)
at setupComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7807:3)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5159:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4886:7)
at mountElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4809:7)
at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4774:7)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4642:11)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5269:11)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5269:11)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5269:11)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at render (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5922:7)
at mount (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3922:13)
at Object.app.mount (node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.js:1703:19)
at mount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8415:18)
at shallowMount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8434:12)
at Object.<anonymous> (tests/jest/components/UserNotice.test.js:60:20)
console.warn
[CdxMessage]: The boolean `allowUserDismiss` prop is required to show the dismiss button.
Refer to https://doc.wikimedia.org/codex/latest/components/demos/message.html#props.
70 | describe( 'on dismiss button click', () => {
71 | it( 'sends saveOption to the api', () => {
> 72 | const wrapper = shallowMount( Component );
| ^
73 | wrapper.vm.dismiss();
74 | expect( global.mw.Api.prototype.saveOption ).toHaveBeenCalled();
75 | expect( global.mw.Api.prototype.saveOption )
at validator (node_modules/@wikimedia/codex/dist/codex.cjs:1:94345)
at validateProp (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4367:21)
at validateProps (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4335:5)
at initProps (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4036:5)
at setupComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7807:3)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5159:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4886:7)
at mountElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4809:7)
at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4774:7)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4642:11)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5269:11)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5269:11)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5269:11)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at render (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5922:7)
at mount (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3922:13)
at Object.app.mount (node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.js:1703:19)
at mount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8415:18)
at shallowMount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8434:12)
at Object.<anonymous> (tests/jest/components/UserNotice.test.js:72:20)
console.warn
[Vue warn]: Invalid prop: custom validator check failed for prop "dismissButtonLabel".
at <CdxMessage dismiss-button-label="mediasearch-user-notice-dismiss" class="sdms-user-notice__message" onUserDismissed=fn<bound dismiss> >
at <Transition key=0 name="sdms-fade-out" >
at <UserNotice ref="VTU_COMPONENT" >
at <VTUROOT>
70 | describe( 'on dismiss button click', () => {
71 | it( 'sends saveOption to the api', () => {
> 72 | const wrapper = shallowMount( Component );
| ^
73 | wrapper.vm.dismiss();
74 | expect( global.mw.Api.prototype.saveOption ).toHaveBeenCalled();
75 | expect( global.mw.Api.prototype.saveOption )
at warn$1 (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:53:13)
at validateProp (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4368:5)
at validateProps (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4335:5)
at initProps (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4036:5)
at setupComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7807:3)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5159:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4886:7)
at mountElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4809:7)
at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4774:7)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4642:11)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5269:11)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5269:11)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5269:11)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at render (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5922:7)
at mount (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3922:13)
at Object.app.mount (node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.js:1703:19)
at mount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8415:18)
at shallowMount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8434:12)
at Object.<anonymous> (tests/jest/components/UserNotice.test.js:72:20)
console.warn
[CdxMessage]: The boolean `allowUserDismiss` prop is required to show the dismiss button.
Refer to https://doc.wikimedia.org/codex/latest/components/demos/message.html#props.
78 |
79 | it( 'saves options to user object', () => {
> 80 | const wrapper = shallowMount( Component );
| ^
81 | wrapper.vm.dismiss();
82 | expect( global.mw.user.options.set ).toHaveBeenCalled();
83 | expect( global.mw.user.options.set )
at validator (node_modules/@wikimedia/codex/dist/codex.cjs:1:94345)
at validateProp (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4367:21)
at validateProps (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4335:5)
at initProps (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4036:5)
at setupComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7807:3)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5159:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4886:7)
at mountElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4809:7)
at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4774:7)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4642:11)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5269:11)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5269:11)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5269:11)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at render (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5922:7)
at mount (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3922:13)
at Object.app.mount (node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.js:1703:19)
at mount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8415:18)
at shallowMount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8434:12)
at Object.<anonymous> (tests/jest/components/UserNotice.test.js:80:20)
console.warn
[Vue warn]: Invalid prop: custom validator check failed for prop "dismissButtonLabel".
at <CdxMessage dismiss-button-label="mediasearch-user-notice-dismiss" class="sdms-user-notice__message" onUserDismissed=fn<bound dismiss> >
at <Transition key=0 name="sdms-fade-out" >
at <UserNotice ref="VTU_COMPONENT" >
at <VTUROOT>
78 |
79 | it( 'saves options to user object', () => {
> 80 | const wrapper = shallowMount( Component );
| ^
81 | wrapper.vm.dismiss();
82 | expect( global.mw.user.options.set ).toHaveBeenCalled();
83 | expect( global.mw.user.options.set )
at warn$1 (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:53:13)
at validateProp (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4368:5)
at validateProps (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4335:5)
at initProps (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4036:5)
at setupComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7807:3)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5159:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4886:7)
at mountElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4809:7)
at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4774:7)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4642:11)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5269:11)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5269:11)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5269:11)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at render (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5922:7)
at mount (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3922:13)
at Object.app.mount (node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.js:1703:19)
at mount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8415:18)
at shallowMount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8434:12)
at Object.<anonymous> (tests/jest/components/UserNotice.test.js:80:20)
console.warn
[CdxMessage]: The boolean `allowUserDismiss` prop is required to show the dismiss button.
Refer to https://doc.wikimedia.org/codex/latest/components/demos/message.html#props.
86 |
87 | it( 'changes dismissed data', () => {
> 88 | const wrapper = shallowMount( Component );
| ^
89 | wrapper.vm.dismiss();
90 | expect( wrapper.vm.dismissed ).toBeTruthy();
91 | } );
at validator (node_modules/@wikimedia/codex/dist/codex.cjs:1:94345)
at validateProp (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4367:21)
at validateProps (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4335:5)
at initProps (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4036:5)
at setupComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7807:3)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5159:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4886:7)
at mountElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4809:7)
at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4774:7)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4642:11)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5269:11)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5269:11)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5269:11)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at render (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5922:7)
at mount (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3922:13)
at Object.app.mount (node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.js:1703:19)
at mount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8415:18)
at shallowMount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8434:12)
at Object.<anonymous> (tests/jest/components/UserNotice.test.js:88:20)
console.warn
[Vue warn]: Invalid prop: custom validator check failed for prop "dismissButtonLabel".
at <CdxMessage dismiss-button-label="mediasearch-user-notice-dismiss" class="sdms-user-notice__message" onUserDismissed=fn<bound dismiss> >
at <Transition key=0 name="sdms-fade-out" >
at <UserNotice ref="VTU_COMPONENT" >
at <VTUROOT>
86 |
87 | it( 'changes dismissed data', () => {
> 88 | const wrapper = shallowMount( Component );
| ^
89 | wrapper.vm.dismiss();
90 | expect( wrapper.vm.dismissed ).toBeTruthy();
91 | } );
at warn$1 (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:53:13)
at validateProp (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4368:5)
at validateProps (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4335:5)
at initProps (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4036:5)
at setupComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7807:3)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5159:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4886:7)
at mountElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4809:7)
at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4774:7)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4642:11)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5269:11)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5269:11)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5269:11)
at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
at render (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5922:7)
at mount (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3922:13)
at Object.app.mount (node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.js:1703:19)
at mount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8415:18)
at shallowMount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8434:12)
at Object.<anonymous> (tests/jest/components/UserNotice.test.js:88:20)
PASS tests/jest/components/base/dialog.test.js
PASS tests/jest/mixins/observer.test.js
PASS tests/jest/components/SearchWarnings.test.js
PASS tests/jest/components/results/ImageResult.test.js
PASS tests/jest/components/results/videoResult.test.js
PASS tests/jest/components/base/selectMenu.test.js
PASS tests/jest/components/base/player.test.js
PASS tests/jest/store/getters.test.js
PASS tests/jest/components/base/image.test.js
PASS tests/jest/components/base/copyTextLayout.test.js
PASS tests/jest/components/DidYouMean.test.js
PASS tests/jest/components/EndOfResults.test.js
PASS tests/jest/components/Spinner.test.js
PASS tests/jest/components/NoResults.test.js
Test Suites: 31 passed, 31 total
Tests: 6 todo, 463 passed, 469 total
Snapshots: 0 total
Time: 7.685 s, estimated 8 s
Ran all test suites.
--- stdout ---
> media-search@0.1.0 test
> grunt test && npm run test:unit
Running "eslint:all" (eslint) task
/src/repo/resources/components/SearchFilters.vue
275:1 warning The type 'filter-change' is undefined jsdoc/no-undefined-types
359:3 warning JSDoc @return declaration present but return expression not available in function jsdoc/require-returns-check
/src/repo/resources/components/base/AutocompleteSearchInput.vue
259:1 warning The type 'input' is undefined jsdoc/no-undefined-types
291:1 warning The type 'enter' is undefined jsdoc/no-undefined-types
310:1 warning The type 'submit' is undefined jsdoc/no-undefined-types
/src/repo/resources/components/base/Dialog.vue
193:1 warning The type 'progress' is undefined jsdoc/no-undefined-types
201:1 warning The type 'key' is undefined jsdoc/no-undefined-types
201:1 warning Syntax error in namepath: close|key jsdoc/valid-types
/src/repo/resources/components/base/Select.vue
263:1 warning The type 'select' is undefined jsdoc/no-undefined-types
299:1 warning The type 'submit' is undefined jsdoc/no-undefined-types
362:3 warning @throws should have a type jsdoc/require-throws-type
/src/repo/resources/components/base/SelectMenu.vue
107:1 warning The type 'select' is undefined jsdoc/no-undefined-types
/src/repo/resources/mixins/autocompleteLookupHandler.js
148:1 warning This line has a length of 120. Maximum allowed is 110 max-len
202:1 warning This line has a length of 151. Maximum allowed is 110 max-len
/src/repo/resources/mixins/searchResult.js
99:1 warning The type 'show-details' is undefined jsdoc/no-undefined-types
/src/repo/resources/store/actions.js
225:9 warning Prefer .then to .done no-jquery/no-done-fail
226:1 warning This line has a length of 118. Maximum allowed is 110 max-len
318:2 warning Prefer .then to .done no-jquery/no-done-fail
✖ 18 problems (0 errors, 18 warnings)
Running "stylelint:all" (stylelint) task
>> Linted 52 files without errors
Running "banana:MediaSearch" (banana) task
>> 1 message directory checked.
Done.
> media-search@0.1.0 test:unit
> jest
----------------------------------|---------|----------|---------|---------|-------------------------------------------------------
File | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s
----------------------------------|---------|----------|---------|---------|-------------------------------------------------------
All files | 89.04 | 78.25 | 86.01 | 89.06 |
resources | 55.55 | 33.33 | 60 | 58.82 |
constants.js | 100 | 100 | 100 | 100 |
ensureArray.js | 0 | 0 | 0 | 0 | 12-20
getLocationAgnosticMwApi.js | 81.81 | 50 | 100 | 81.81 | 11,32
resources/components | 88.55 | 79.04 | 82.38 | 88.48 |
App.vue | 80 | 54.54 | 82.75 | 79.8 | 119-124,199,205,267-276,299-311,328-332
DidYouMean.vue | 100 | 100 | 100 | 100 |
EmptyState.vue | 100 | 100 | 100 | 100 |
EndOfResults.vue | 100 | 100 | 100 | 100 |
NamespaceFilterDialog.vue | 95.12 | 100 | 89.47 | 95.12 | 204,219
NoResults.vue | 100 | 100 | 100 | 100 |
QuickView.vue | 90.69 | 86.45 | 82 | 90.69 | 322-346,412-413,422,467,596-616,637,649,706
SearchError.vue | 83.33 | 0 | 0 | 83.33 | 12,33
SearchFilters.vue | 93.1 | 82.05 | 85.29 | 92.94 | 115,131,379-388,408-411
SearchResults.vue | 80.74 | 71.57 | 73.17 | 80.59 | 280-295,343-359,450-525
SearchWarnings.vue | 100 | 100 | 100 | 100 |
Spinner.vue | 100 | 100 | 100 | 100 |
UserNotice.vue | 100 | 100 | 100 | 100 |
resources/components/base | 88.63 | 80.57 | 83.62 | 88.48 |
AutocompleteSearchInput.vue | 81.25 | 68.29 | 79.31 | 81.25 | 142-145,207,282-297,310-311,342-374
CopyTextLayout.vue | 100 | 100 | 100 | 100 |
Dialog.vue | 97.56 | 92.85 | 94.44 | 97.56 | 205
Image.vue | 100 | 87.5 | 100 | 100 | 73
Observer.vue | 80 | 100 | 0 | 80 | 28,45
Player.vue | 100 | 50 | 88.88 | 100 | 43
Select.vue | 79.51 | 75.75 | 77.41 | 79.26 | 99,235-254,273,350-358
SelectMenu.vue | 91.89 | 96.15 | 86.66 | 91.42 | 144,177-180
resources/components/base/mixins | 100 | 100 | 100 | 100 |
observer.js | 100 | 100 | 100 | 100 |
resources/components/results | 95.48 | 67.14 | 100 | 95.48 |
AudioResult.vue | 100 | 66.66 | 100 | 100 | 64,74
ImageResult.vue | 95.65 | 75 | 100 | 95.65 | 76
OtherResult.vue | 94.11 | 60 | 100 | 94.11 | 29,41
PageResult.vue | 90.9 | 70 | 100 | 90.9 | 53,101,105
VideoResult.vue | 100 | 70 | 100 | 100 | 76-79
resources/mixins | 94.07 | 76.71 | 94.73 | 93.93 |
autocompleteLookupHandler.js | 100 | 78.94 | 95 | 100 | 69,115-133,195
restoreHistoryHandler.js | 94.44 | 87.5 | 100 | 94.44 | 60-61
searchResult.js | 88.23 | 72.22 | 87.5 | 87.87 | 57,79,104,122
searchResultTimeBased.js | 81.81 | 58.33 | 100 | 81.81 | 17,34
resources/models | 100 | 100 | 100 | 100 |
SearchFilter.js | 100 | 100 | 100 | 100 |
resources/plugins | 0 | 100 | 0 | 0 |
eventLogger.js | 0 | 100 | 0 | 0 | 6-22
resources/store | 89.89 | 79.16 | 92.59 | 90.14 |
actions.js | 88.39 | 82.4 | 82.35 | 88.82 | 68,98,122,144,160-161,219,299,379-387,432-433,458-464
getters.js | 100 | 100 | 100 | 100 |
index.js | 0 | 100 | 100 | 0 | 1-10
mutations.js | 100 | 100 | 100 | 100 |
state.js | 92.3 | 63.63 | 100 | 91.66 | 11
----------------------------------|---------|----------|---------|---------|-------------------------------------------------------
--- end ---
{}
{}
$ package-lock-lint /src/repo/package-lock.json
--- stdout ---
Checking /src/repo/package-lock.json
--- end ---
build: Updating eslint-config-wikimedia to 0.32.3
$ git add .
--- stdout ---
--- end ---
$ git commit -F /tmp/tmpwmxfk5e8
--- stdout ---
[master bdc6dea] build: Updating eslint-config-wikimedia to 0.32.3
2 files changed, 81 insertions(+), 45 deletions(-)
--- end ---
$ git format-patch HEAD~1 --stdout
--- stdout ---
From bdc6deac09df6a6339985507cb93f8e9de2d3c99 Mon Sep 17 00:00:00 2001
From: libraryupgrader <tools.libraryupgrader@tools.wmflabs.org>
Date: Sat, 6 Dec 2025 02:31:23 +0000
Subject: [PATCH] build: Updating eslint-config-wikimedia to 0.32.3
Change-Id: I902aa2622737c6daff5b4d555be24cb137f1eeb0
---
package-lock.json | 124 ++++++++++++++++++++++++++++++----------------
package.json | 2 +-
2 files changed, 81 insertions(+), 45 deletions(-)
diff --git a/package-lock.json b/package-lock.json
index ba963bf..f47ce5e 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -15,7 +15,7 @@
"@wikimedia/codex": "2.3.2",
"@wikimedia/codex-icons": "2.3.2",
"babel-core": "^6.26.3",
- "eslint-config-wikimedia": "0.32.2",
+ "eslint-config-wikimedia": "0.32.3",
"eslint-plugin-jest": "27.2.1",
"grunt": "1.6.1",
"grunt-banana-checker": "0.13.0",
@@ -1728,25 +1728,25 @@
}
},
"node_modules/@es-joy/jsdoccomment": {
- "version": "0.75.0",
- "resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.75.0.tgz",
- "integrity": "sha512-Bj+oF8reFb4b+6LUmG6ETpDsBU/28y/bAAzioyIR4VK/V6UodYBNGbtxRyGxk0aJJQqpZZ6jz82vVZWCX6Mwmg==",
+ "version": "0.76.0",
+ "resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.76.0.tgz",
+ "integrity": "sha512-g+RihtzFgGTx2WYCuTHbdOXJeAlGnROws0TeALx9ow/ZmOROOZkVg5wp/B44n0WJgI4SQFP1eWM2iRPlU2Y14w==",
"dev": true,
"dependencies": {
"@types/estree": "^1.0.8",
"@typescript-eslint/types": "^8.46.0",
"comment-parser": "1.4.1",
"esquery": "^1.6.0",
- "jsdoc-type-pratt-parser": "~6.9.1"
+ "jsdoc-type-pratt-parser": "~6.10.0"
},
"engines": {
"node": ">=20.11.0"
}
},
"node_modules/@es-joy/jsdoccomment/node_modules/@typescript-eslint/types": {
- "version": "8.47.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.47.0.tgz",
- "integrity": "sha512-nHAE6bMKsizhA2uuYZbEbmp5z2UpffNrPEqiKIeN7VsV6UY/roxanWfoRrf6x/k9+Obf+GQdkm0nPU+vnMXo9A==",
+ "version": "8.48.1",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.48.1.tgz",
+ "integrity": "sha512-+fZ3LZNeiELGmimrujsDCT4CRIbq5oXdHe7chLiW8qzqyPMnn1puNstCrMNVAqwcl2FdIxkuJ4tOs/RFDBVc/Q==",
"dev": true,
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -1756,6 +1756,15 @@
"url": "https://opencollective.com/typescript-eslint"
}
},
+ "node_modules/@es-joy/resolve.exports": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/@es-joy/resolve.exports/-/resolve.exports-1.2.0.tgz",
+ "integrity": "sha512-Q9hjxWI5xBM+qW2enxfe8wDKdFWMfd0Z29k5ZJnuBqD/CasY5Zryj09aCA6owbGATWz+39p5uIdaHXpopOcG8g==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ }
+ },
"node_modules/@eslint-community/eslint-utils": {
"version": "4.7.0",
"resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.7.0.tgz",
@@ -2914,6 +2923,18 @@
"integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==",
"dev": true
},
+ "node_modules/@sindresorhus/base62": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/@sindresorhus/base62/-/base62-1.0.0.tgz",
+ "integrity": "sha512-TeheYy0ILzBEI/CO55CP6zJCSdSWeRtGnHy8U8dWSUH4I68iqTsy7HkMktR4xakThc9jotkPQUXT4ITdbV7cHA==",
+ "dev": true,
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/@sinonjs/commons": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz",
@@ -5861,9 +5882,9 @@
}
},
"node_modules/eslint-config-wikimedia": {
- "version": "0.32.2",
- "resolved": "https://registry.npmjs.org/eslint-config-wikimedia/-/eslint-config-wikimedia-0.32.2.tgz",
- "integrity": "sha512-vAGz50AJPk23qQ701sL4tAgaF8FEAkP/E3kgojSTVrGgmDqjnRvq8z3EItDNI/EAkb5Ys15WPPFsoBH8YhTdSg==",
+ "version": "0.32.3",
+ "resolved": "https://registry.npmjs.org/eslint-config-wikimedia/-/eslint-config-wikimedia-0.32.3.tgz",
+ "integrity": "sha512-Ekz2/ozpCCjQl3VbC6dW7ChqoW7FRilLDxmJ+FJOZhIxxzZSZR5QqQOAGWSZAlG1ONkZbYV/TPwGLWZcrNxyaA==",
"dev": true,
"dependencies": {
"@stylistic/eslint-plugin": "^3.1.0",
@@ -5874,9 +5895,9 @@
"eslint-plugin-compat": "^6.0.2",
"eslint-plugin-es-x": "^8.7.0",
"eslint-plugin-jest": "^29.0.1",
- "eslint-plugin-jsdoc": "61.0.0",
+ "eslint-plugin-jsdoc": "61.3.0",
"eslint-plugin-json-es": "^1.6.0",
- "eslint-plugin-mediawiki": "^0.8.1",
+ "eslint-plugin-mediawiki": "^0.8.2",
"eslint-plugin-mocha": "^10.5.0",
"eslint-plugin-n": "^17.23.1",
"eslint-plugin-no-jquery": "^3.1.1",
@@ -6421,12 +6442,13 @@
}
},
"node_modules/eslint-plugin-jsdoc": {
- "version": "61.0.0",
- "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-61.0.0.tgz",
- "integrity": "sha512-YxvOY3A9H8usnOfOEH82y71yHR7zVNWZJpQbjkC+rWqrADQtM+Gza3+db/j9euNNWCNKnN+/gBrowg16n9lwgg==",
+ "version": "61.3.0",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-61.3.0.tgz",
+ "integrity": "sha512-E4m/5J5lrasd63Z74q4CCZ4PFnywnnrcvA7zZ98802NPhrZKKTp5NH+XAT+afcjXp2ps2/OQF5gPSWCT2XFCJg==",
"dev": true,
"dependencies": {
- "@es-joy/jsdoccomment": "~0.75.0",
+ "@es-joy/jsdoccomment": "~0.76.0",
+ "@es-joy/resolve.exports": "1.2.0",
"are-docs-informative": "^0.0.2",
"comment-parser": "1.4.1",
"debug": "^4.4.3",
@@ -6434,10 +6456,11 @@
"espree": "^10.4.0",
"esquery": "^1.6.0",
"html-entities": "^2.6.0",
- "object-deep-merge": "^1.0.5",
+ "object-deep-merge": "^2.0.0",
"parse-imports-exports": "^0.2.4",
"semver": "^7.7.3",
- "spdx-expression-parse": "^4.0.0"
+ "spdx-expression-parse": "^4.0.0",
+ "to-valid-identifier": "^1.0.0"
},
"engines": {
"node": ">=20.11.0"
@@ -6513,9 +6536,9 @@
}
},
"node_modules/eslint-plugin-mediawiki": {
- "version": "0.8.1",
- "resolved": "https://registry.npmjs.org/eslint-plugin-mediawiki/-/eslint-plugin-mediawiki-0.8.1.tgz",
- "integrity": "sha512-zjTg3hh375lkztKhOYEmPeYiIhKooAu92BkZf2F/fr+5Htvb2i8MNB3gImhM98aTBbkyHTjXoyTHNUrjSjPhmw==",
+ "version": "0.8.2",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-mediawiki/-/eslint-plugin-mediawiki-0.8.2.tgz",
+ "integrity": "sha512-ydYrpkzm8IVVDQA96QPF3HnFd2xjkIEh7gixD2gvOqUbUZF0p36LtpWXOFAlPWAvHLePWbNNTD5ovd3d4hEtog==",
"dev": true,
"dependencies": {
"upath": "^2.0.1"
@@ -10701,9 +10724,9 @@
}
},
"node_modules/jsdoc-type-pratt-parser": {
- "version": "6.9.1",
- "resolved": "https://registry.npmjs.org/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-6.9.1.tgz",
- "integrity": "sha512-HbYNAorY51GnpKvgDf4YINSY+V1segv0qEeijvTSI6OWMCmqah0W6mVwBFeWskJ81uTJJVnDQlwhpJMREvGsXg==",
+ "version": "6.10.0",
+ "resolved": "https://registry.npmjs.org/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-6.10.0.tgz",
+ "integrity": "sha512-+LexoTRyYui5iOhJGn13N9ZazL23nAHGkXsa1p/C8yeq79WRfLBag6ZZ0FQG2aRoc9yfo59JT9EYCQonOkHKkQ==",
"dev": true,
"engines": {
"node": ">=20.0.0"
@@ -11314,25 +11337,10 @@
"dev": true
},
"node_modules/object-deep-merge": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/object-deep-merge/-/object-deep-merge-1.0.5.tgz",
- "integrity": "sha512-3DioFgOzetbxbeUq8pB2NunXo8V0n4EvqsWM/cJoI6IA9zghd7cl/2pBOuWRf4dlvA+fcg5ugFMZaN2/RuoaGg==",
- "dev": true,
- "dependencies": {
- "type-fest": "4.2.0"
- }
- },
- "node_modules/object-deep-merge/node_modules/type-fest": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.2.0.tgz",
- "integrity": "sha512-5zknd7Dss75pMSED270A1RQS3KloqRJA9XbXLe0eCxyw7xXFb3rd+9B0UQ/0E+LQT6lnrLviEolYORlRWamn4w==",
- "dev": true,
- "engines": {
- "node": ">=16"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/object-deep-merge/-/object-deep-merge-2.0.0.tgz",
+ "integrity": "sha512-3DC3UMpeffLTHiuXSy/UG4NOIYTLlY9u3V82+djSCLYClWobZiS4ivYzpIUWrRY/nfsJ8cWsKyG3QfyLePmhvg==",
+ "dev": true
},
"node_modules/object.defaults": {
"version": "1.1.0",
@@ -12212,6 +12220,18 @@
"integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==",
"dev": true
},
+ "node_modules/reserved-identifiers": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/reserved-identifiers/-/reserved-identifiers-1.2.0.tgz",
+ "integrity": "sha512-yE7KUfFvaBFzGPs5H3Ops1RevfUEsDc5Iz65rOwWg4lE8HJSYtle77uul3+573457oHvBKuHYDl/xqUkKpEEdw==",
+ "dev": true,
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/resolve": {
"version": "1.22.10",
"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz",
@@ -13389,6 +13409,22 @@
"node": ">=8.0"
}
},
+ "node_modules/to-valid-identifier": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/to-valid-identifier/-/to-valid-identifier-1.0.0.tgz",
+ "integrity": "sha512-41wJyvKep3yT2tyPqX/4blcfybknGB4D+oETKLs7Q76UiPqRpUJK3hr1nxelyYO0PHKVzJwlu0aCeEAsGI6rpw==",
+ "dev": true,
+ "dependencies": {
+ "@sindresorhus/base62": "^1.0.0",
+ "reserved-identifiers": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=20"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/tough-cookie": {
"version": "4.1.4",
"resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.4.tgz",
diff --git a/package.json b/package.json
index 0885fd8..20ad12f 100644
--- a/package.json
+++ b/package.json
@@ -16,7 +16,7 @@
"@wikimedia/codex": "2.3.2",
"@wikimedia/codex-icons": "2.3.2",
"babel-core": "^6.26.3",
- "eslint-config-wikimedia": "0.32.2",
+ "eslint-config-wikimedia": "0.32.3",
"eslint-plugin-jest": "27.2.1",
"grunt": "1.6.1",
"grunt-banana-checker": "0.13.0",
--
2.47.3
--- end ---