mediawiki/extensions/MediaSearch: REL1_44 (log #1947643)

sourcepatches

This run took 78 seconds.

From e21826aca79f8bd44f45ff71be4527509b8ed987 Mon Sep 17 00:00:00 2001
From: libraryupgrader <tools.libraryupgrader@tools.wmflabs.org>
Date: Sun, 15 Jun 2025 11:22:55 +0000
Subject: [PATCH] build: Updating brace-expansion to 1.1.12, 2.0.2

* https://github.com/advisories/GHSA-v6h2-p8h4-qcjw

Additional changes:
* Enable stylelint caching.

Change-Id: I626806a66036841a222a99734ddfe0e453671728
---
 .gitignore        |  1 +
 Gruntfile.js      |  3 +++
 package-lock.json | 18 +++++++++---------
 3 files changed, 13 insertions(+), 9 deletions(-)

diff --git a/.gitignore b/.gitignore
index eef0ee4..8f9a73f 100644
--- a/.gitignore
+++ b/.gitignore
@@ -8,3 +8,4 @@
 /node_modules
 .eslintcache
 /coverage
+/.stylelintcache
diff --git a/Gruntfile.js b/Gruntfile.js
index bd03c8e..1b6d799 100644
--- a/Gruntfile.js
+++ b/Gruntfile.js
@@ -15,6 +15,9 @@ module.exports = function ( grunt ) {
 			all: '.'
 		},
 		stylelint: {
+			options: {
+				cache: true
+			},
 			all: [
 				'**/*.{less,vue}',
 				'!node_modules/**',
diff --git a/package-lock.json b/package-lock.json
index 5a110ce..36ec874 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -4169,9 +4169,9 @@
 			"dev": true
 		},
 		"node_modules/brace-expansion": {
-			"version": "1.1.11",
-			"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
-			"integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+			"version": "1.1.12",
+			"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz",
+			"integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==",
 			"dev": true,
 			"dependencies": {
 				"balanced-match": "^1.0.0",
@@ -5309,9 +5309,9 @@
 			}
 		},
 		"node_modules/eslint-config-wikimedia/node_modules/brace-expansion": {
-			"version": "2.0.1",
-			"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
-			"integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+			"version": "2.0.2",
+			"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz",
+			"integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==",
 			"dev": true,
 			"dependencies": {
 				"balanced-match": "^1.0.0"
@@ -5651,9 +5651,9 @@
 			}
 		},
 		"node_modules/eslint-plugin-n/node_modules/brace-expansion": {
-			"version": "2.0.1",
-			"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
-			"integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+			"version": "2.0.2",
+			"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz",
+			"integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==",
 			"dev": true,
 			"dependencies": {
 				"balanced-match": "^1.0.0"
-- 
2.39.5

$ date
--- stdout ---
Sun Jun 15 11:21:41 UTC 2025

--- end ---
$ git clone file:///srv/git/mediawiki-extensions-MediaSearch.git repo --depth=1 -b REL1_44
--- 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/REL1_44
--- stdout ---
8af06dac19750c4c1e5a1c256b40ccfb874195af refs/heads/REL1_44

--- 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
      }
    },
    "brace-expansion": {
      "name": "brace-expansion",
      "severity": "low",
      "isDirect": false,
      "via": [
        {
          "source": 1105443,
          "name": "brace-expansion",
          "dependency": "brace-expansion",
          "title": "brace-expansion Regular Expression Denial of Service vulnerability",
          "url": "https://github.com/advisories/GHSA-v6h2-p8h4-qcjw",
          "severity": "low",
          "cwe": [
            "CWE-400"
          ],
          "cvss": {
            "score": 3.1,
            "vectorString": "CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:L"
          },
          "range": ">=1.0.0 <=1.1.11"
        },
        {
          "source": 1105444,
          "name": "brace-expansion",
          "dependency": "brace-expansion",
          "title": "brace-expansion Regular Expression Denial of Service vulnerability",
          "url": "https://github.com/advisories/GHSA-v6h2-p8h4-qcjw",
          "severity": "low",
          "cwe": [
            "CWE-400"
          ],
          "cvss": {
            "score": 3.1,
            "vectorString": "CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:L"
          },
          "range": ">=2.0.0 <=2.0.1"
        }
      ],
      "effects": [],
      "range": "1.0.0 - 1.1.11 || 2.0.0 - 2.0.1",
      "nodes": [
        "node_modules/brace-expansion",
        "node_modules/eslint-config-wikimedia/node_modules/brace-expansion",
        "node_modules/eslint-plugin-n/node_modules/brace-expansion"
      ],
      "fixAvailable": 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": 1,
      "moderate": 0,
      "high": 2,
      "critical": 4,
      "total": 7
    },
    "dependencies": {
      "prod": 1,
      "dev": 1031,
      "optional": 2,
      "peer": 1,
      "peerOptional": 0,
      "total": 1031
    }
  }
}

--- 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.3)
  - Locking composer/spdx-licenses (1.5.9)
  - Locking composer/xdebug-handler (3.0.5)
  - Locking dealerdirect/phpcodesniffer-composer-installer (v1.0.0)
  - Locking doctrine/deprecations (1.1.5)
  - Locking felixfbecker/advanced-json-rpc (v3.2.1)
  - Locking mediawiki/mediawiki-codesniffer (v46.0.0)
  - Locking mediawiki/mediawiki-phan-config (0.15.0)
  - Locking mediawiki/minus-x (1.1.3)
  - Locking mediawiki/phan-taint-check-plugin (6.1.0)
  - Locking microsoft/tolerant-php-parser (v0.1.2)
  - Locking netresearch/jsonmapper (v4.5.0)
  - Locking phan/phan (5.4.5)
  - Locking php-parallel-lint/php-console-color (v1.0.1)
  - Locking php-parallel-lint/php-console-highlighter (v1.0.0)
  - Locking php-parallel-lint/php-parallel-lint (v1.4.0)
  - Locking phpcsstandards/phpcsextra (1.2.1)
  - Locking phpcsstandards/phpcsutils (1.0.12)
  - Locking phpdocumentor/reflection-common (2.2.0)
  - Locking phpdocumentor/reflection-docblock (5.6.2)
  - Locking phpdocumentor/type-resolver (1.10.0)
  - Locking phpstan/phpdoc-parser (2.1.0)
  - Locking psr/container (2.0.2)
  - Locking psr/log (3.0.2)
  - Locking sabre/event (5.1.7)
  - Locking squizlabs/php_codesniffer (3.11.3)
  - Locking symfony/console (v7.3.0)
  - Locking symfony/deprecation-contracts (v3.6.0)
  - Locking symfony/polyfill-ctype (v1.32.0)
  - Locking symfony/polyfill-intl-grapheme (v1.32.0)
  - Locking symfony/polyfill-intl-normalizer (v1.32.0)
  - Locking symfony/polyfill-mbstring (v1.32.0)
  - Locking symfony/polyfill-php80 (v1.32.0)
  - Locking symfony/service-contracts (v3.6.0)
  - Locking symfony/string (v7.3.0)
  - Locking tysonandre/var_representation_polyfill (0.1.3)
  - Locking webmozart/assert (1.11.0)
Writing lock file
Installing dependencies from lock file (including require-dev)
Package operations: 38 installs, 0 updates, 0 removals
    0 [>---------------------------]    0 [->--------------------------]
  - Installing squizlabs/php_codesniffer (3.11.3): Extracting archive
  - Installing dealerdirect/phpcodesniffer-composer-installer (v1.0.0): Extracting archive
  - Installing composer/pcre (3.3.2): Extracting archive
  - Installing symfony/polyfill-php80 (v1.32.0): Extracting archive
  - Installing phpcsstandards/phpcsutils (1.0.12): Extracting archive
  - Installing phpcsstandards/phpcsextra (1.2.1): Extracting archive
  - Installing symfony/polyfill-mbstring (v1.32.0): Extracting archive
  - Installing composer/spdx-licenses (1.5.9): Extracting archive
  - Installing composer/semver (3.4.3): Extracting archive
  - Installing mediawiki/mediawiki-codesniffer (v46.0.0): Extracting archive
  - Installing tysonandre/var_representation_polyfill (0.1.3): Extracting archive
  - Installing symfony/polyfill-intl-normalizer (v1.32.0): Extracting archive
  - Installing symfony/polyfill-intl-grapheme (v1.32.0): Extracting archive
  - Installing symfony/polyfill-ctype (v1.32.0): Extracting archive
  - Installing symfony/string (v7.3.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.0): Extracting archive
  - Installing symfony/console (v7.3.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.11.0): Extracting archive
  - Installing phpstan/phpdoc-parser (2.1.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.10.0): Extracting archive
  - Installing phpdocumentor/reflection-docblock (5.6.2): Extracting archive
  - Installing felixfbecker/advanced-json-rpc (v3.2.1): Extracting archive
  - Installing psr/log (3.0.2): Extracting archive
  - Installing composer/xdebug-handler (3.0.5): Extracting archive
  - Installing phan/phan (5.4.5): Extracting archive
  - Installing mediawiki/phan-taint-check-plugin (6.1.0): Extracting archive
  - Installing mediawiki/mediawiki-phan-config (0.15.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%
 20/36 [===============>------------]  55%
 35/36 [===========================>]  97%
 36/36 [============================] 100%
1 package suggestions were added by new dependencies, use `composer suggest` to see details.
Generating autoload files
16 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
--- stdout ---
PHP CodeSniffer Config installed_paths set to ../../mediawiki/mediawiki-codesniffer,../../phpcsstandards/phpcsextra,../../phpcsstandards/phpcsutils

--- end ---
$ /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
      }
    },
    "brace-expansion": {
      "name": "brace-expansion",
      "severity": "low",
      "isDirect": false,
      "via": [
        {
          "source": 1105443,
          "name": "brace-expansion",
          "dependency": "brace-expansion",
          "title": "brace-expansion Regular Expression Denial of Service vulnerability",
          "url": "https://github.com/advisories/GHSA-v6h2-p8h4-qcjw",
          "severity": "low",
          "cwe": [
            "CWE-400"
          ],
          "cvss": {
            "score": 3.1,
            "vectorString": "CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:L"
          },
          "range": ">=1.0.0 <=1.1.11"
        },
        {
          "source": 1105444,
          "name": "brace-expansion",
          "dependency": "brace-expansion",
          "title": "brace-expansion Regular Expression Denial of Service vulnerability",
          "url": "https://github.com/advisories/GHSA-v6h2-p8h4-qcjw",
          "severity": "low",
          "cwe": [
            "CWE-400"
          ],
          "cvss": {
            "score": 3.1,
            "vectorString": "CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:L"
          },
          "range": ">=2.0.0 <=2.0.1"
        }
      ],
      "effects": [],
      "range": "1.0.0 - 1.1.11 || 2.0.0 - 2.0.1",
      "nodes": [
        "node_modules/brace-expansion",
        "node_modules/eslint-config-wikimedia/node_modules/brace-expansion",
        "node_modules/eslint-plugin-n/node_modules/brace-expansion"
      ],
      "fixAvailable": 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": 1,
      "moderate": 0,
      "high": 2,
      "critical": 4,
      "total": 7
    },
    "dependencies": {
      "prod": 1,
      "dev": 1031,
      "optional": 2,
      "peer": 1,
      "peerOptional": 0,
      "total": 1031
    }
  }
}

--- end ---
Attempting to npm audit fix
$ /usr/bin/npm audit fix --dry-run --only=dev --json
--- stderr ---
npm WARN invalid config only="dev" set in command line options
npm WARN invalid config Must be one of: null, prod, production
--- stdout ---
{
  "added": 1031,
  "removed": 0,
  "changed": 0,
  "audited": 1032,
  "funding": 114,
  "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
        }
      },
      "brace-expansion": {
        "name": "brace-expansion",
        "severity": "low",
        "isDirect": false,
        "via": [
          {
            "source": 1105443,
            "name": "brace-expansion",
            "dependency": "brace-expansion",
            "title": "brace-expansion Regular Expression Denial of Service vulnerability",
            "url": "https://github.com/advisories/GHSA-v6h2-p8h4-qcjw",
            "severity": "low",
            "cwe": [
              "CWE-400"
            ],
            "cvss": {
              "score": 3.1,
              "vectorString": "CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:L"
            },
            "range": ">=1.0.0 <=1.1.11"
          },
          {
            "source": 1105444,
            "name": "brace-expansion",
            "dependency": "brace-expansion",
            "title": "brace-expansion Regular Expression Denial of Service vulnerability",
            "url": "https://github.com/advisories/GHSA-v6h2-p8h4-qcjw",
            "severity": "low",
            "cwe": [
              "CWE-400"
            ],
            "cvss": {
              "score": 3.1,
              "vectorString": "CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:L"
            },
            "range": ">=2.0.0 <=2.0.1"
          }
        ],
        "effects": [],
        "range": "1.0.0 - 1.1.11 || 2.0.0 - 2.0.1",
        "nodes": [
          "",
          "",
          ""
        ],
        "fixAvailable": 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": 1,
        "moderate": 0,
        "high": 2,
        "critical": 4,
        "total": 7
      },
      "dependencies": {
        "prod": 1,
        "dev": 1031,
        "optional": 2,
        "peer": 1,
        "peerOptional": 0,
        "total": 1031
      }
    }
  }
}

--- end ---
{"added": 1031, "removed": 0, "changed": 0, "audited": 1032, "funding": 114, "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}}, "brace-expansion": {"name": "brace-expansion", "severity": "low", "isDirect": false, "via": [{"source": 1105443, "name": "brace-expansion", "dependency": "brace-expansion", "title": "brace-expansion Regular Expression Denial of Service vulnerability", "url": "https://github.com/advisories/GHSA-v6h2-p8h4-qcjw", "severity": "low", "cwe": ["CWE-400"], "cvss": {"score": 3.1, "vectorString": "CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:L"}, "range": ">=1.0.0 <=1.1.11"}, {"source": 1105444, "name": "brace-expansion", "dependency": "brace-expansion", "title": "brace-expansion Regular Expression Denial of Service vulnerability", "url": "https://github.com/advisories/GHSA-v6h2-p8h4-qcjw", "severity": "low", "cwe": ["CWE-400"], "cvss": {"score": 3.1, "vectorString": "CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:L"}, "range": ">=2.0.0 <=2.0.1"}], "effects": [], "range": "1.0.0 - 1.1.11 || 2.0.0 - 2.0.1", "nodes": ["", "", ""], "fixAvailable": 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": 1, "moderate": 0, "high": 2, "critical": 4, "total": 7}, "dependencies": {"prod": 1, "dev": 1031, "optional": 2, "peer": 1, "peerOptional": 0, "total": 1031}}}}
$ /usr/bin/npm audit fix --only=dev
--- stderr ---
npm WARN invalid config only="dev" set in command line options
npm WARN invalid config Must be one of: null, prod, production
npm WARN deprecated 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 source-map-url@0.4.1: See https://github.com/lydell/source-map-url#deprecated
npm WARN deprecated urix@0.1.0: Please see https://github.com/lydell/urix#deprecated
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 resolve-url@0.2.1: https://github.com/lydell/resolve-url#deprecated
npm WARN deprecated source-map-resolve@0.5.3: See https://github.com/lydell/source-map-resolve#deprecated
npm WARN deprecated glob@7.1.7: Glob versions prior to v9 are no longer supported
npm WARN deprecated domexception@2.0.1: Use your platform's native DOMException instead
npm WARN deprecated w3c-hr-time@1.0.2: Use your platform's native performance.now() and performance.timeOrigin.
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 1030 packages, and audited 1031 packages in 11s

114 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 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 source-map-url@0.4.1: See https://github.com/lydell/source-map-url#deprecated
npm WARN deprecated urix@0.1.0: Please see https://github.com/lydell/urix#deprecated
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 resolve-url@0.2.1: https://github.com/lydell/resolve-url#deprecated
npm WARN deprecated source-map-resolve@0.5.3: See https://github.com/lydell/source-map-resolve#deprecated
npm WARN deprecated glob@7.1.7: Glob versions prior to v9 are no longer supported
npm WARN deprecated domexception@2.0.1: Use your platform's native DOMException instead
npm WARN deprecated w3c-hr-time@1.0.2: Use your platform's native performance.now() and performance.timeOrigin.
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 1030 packages, and audited 1031 packages in 14s

114 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 /src/repo/resources/store/actions.js:322: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:516:19)
          at listOnTimeout (node:internal/timers:569:17)
          at processTimers (node:internal/timers:512: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:516:19)

    console.warn
      jQuery.Deferred exception: mw.track is not a function TypeError: mw.track is not a function
          at /src/repo/resources/store/actions.js:322: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:516:19)
          at listOnTimeout (node:internal/timers:569:17)
          at processTimers (node:internal/timers:512: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:516:19)

    console.warn
      jQuery.Deferred exception: mw.track is not a function TypeError: mw.track is not a function
          at /src/repo/resources/store/actions.js:322: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:516:19)
          at listOnTimeout (node:internal/timers:569:17)
          at processTimers (node:internal/timers:512: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:516:19)

    console.warn
      jQuery.Deferred exception: mw.track is not a function TypeError: mw.track is not a function
          at /src/repo/resources/store/actions.js:322: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:516:19)
          at listOnTimeout (node:internal/timers:569:17)
          at processTimers (node:internal/timers:512: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:516:19)

    console.warn
      jQuery.Deferred exception: mw.track is not a function TypeError: mw.track is not a function
          at /src/repo/resources/store/actions.js:322: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:516:19)
          at listOnTimeout (node:internal/timers:569:17)
          at processTimers (node:internal/timers:512: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:516:19)

    console.warn
      jQuery.Deferred exception: mw.track is not a function TypeError: mw.track is not a function
          at /src/repo/resources/store/actions.js:322: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:516:19)
          at listOnTimeout (node:internal/timers:569:17)
          at processTimers (node:internal/timers:512: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:516:19)

    console.warn
      jQuery.Deferred exception: mw.track is not a function TypeError: mw.track is not a function
          at /src/repo/resources/store/actions.js:322: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:516:19)
          at listOnTimeout (node:internal/timers:569:17)
          at processTimers (node:internal/timers:512: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:516:19)

    console.warn
      jQuery.Deferred exception: mw.track is not a function TypeError: mw.track is not a function
          at /src/repo/resources/store/actions.js:322: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:516:19)
          at listOnTimeout (node:internal/timers:569:17)
          at processTimers (node:internal/timers:512: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:516:19)

    console.warn
      jQuery.Deferred exception: mw.track is not a function TypeError: mw.track is not a function
          at /src/repo/resources/store/actions.js:322: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:516:19)
          at listOnTimeout (node:internal/timers:569:17)
          at processTimers (node:internal/timers:512: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:516:19)

    console.warn
      jQuery.Deferred exception: mw.track is not a function TypeError: mw.track is not a function
          at /src/repo/resources/store/actions.js:322: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:516:19)
          at listOnTimeout (node:internal/timers:569:17)
          at processTimers (node:internal/timers:512: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:516:19)

    console.warn
      jQuery.Deferred exception: mw.track is not a function TypeError: mw.track is not a function
          at /src/repo/resources/store/actions.js:322: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:516:19)
          at listOnTimeout (node:internal/timers:569:17)
          at processTimers (node:internal/timers:512: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:516:19)

    console.warn
      jQuery.Deferred exception: mw.track is not a function TypeError: mw.track is not a function
          at /src/repo/resources/store/actions.js:322: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:516:19)
          at listOnTimeout (node:internal/timers:569:17)
          at processTimers (node:internal/timers:512: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:516:19)

    console.warn
      jQuery.Deferred exception: mw.track is not a function TypeError: mw.track is not a function
          at /src/repo/resources/store/actions.js:322: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:516:19)
          at listOnTimeout (node:internal/timers:569:17)
          at processTimers (node:internal/timers:512: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:516:19)

    console.warn
      jQuery.Deferred exception: mw.track is not a function TypeError: mw.track is not a function
          at /src/repo/resources/store/actions.js:322: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:516:19)
          at listOnTimeout (node:internal/timers:569:17)
          at processTimers (node:internal/timers:512: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:516:19)

    console.warn
      jQuery.Deferred exception: mw.track is not a function TypeError: mw.track is not a function
          at /src/repo/resources/store/actions.js:322: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:516:19)
          at listOnTimeout (node:internal/timers:569:17)
          at processTimers (node:internal/timers:512: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:516: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:49:13)
      at Object.rootClasses [as get] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3122:9)
      at Proxy.render (resources/components/QuickView.vue:594:64)
      at renderComponentRoot (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:885:16)
      at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5964:46)
      at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:181:19)
      at instance.update (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6095:16)
      at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6105:5)
      at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5873:7)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5827:9)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5306:11)
      at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5971:11)
      at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:181:19)
      at instance.update (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6095:16)
      at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6105:5)
      at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5873:7)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5827:9)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5306:11)
      at render (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6616:7)
      at mount (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3930:13)
      at Object.app.mount (node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.js:1477:19)
      at mount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8333:18)
      at shallowMount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8349: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:49:13)
      at Object.isImage [as get] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3122:9)
      at Proxy.render (resources/components/QuickView.vue:602:64)
      at renderComponentRoot (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:885:16)
      at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5964:46)
      at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:181:19)
      at instance.update (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6095:16)
      at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6105:5)
      at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5873:7)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5827:9)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5306:11)
      at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5971:11)
      at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:181:19)
      at instance.update (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6095:16)
      at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6105:5)
      at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5873:7)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5827:9)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5306:11)
      at render (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6616:7)
      at mount (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3930:13)
      at Object.app.mount (node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.js:1477:19)
      at mount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8333:18)
      at shallowMount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8349: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:49:13)
      at Object.isVideo [as get] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3122:9)
      at Proxy.render (resources/components/QuickView.vue:618:88)
      at renderComponentRoot (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:885:16)
      at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5964:46)
      at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:181:19)
      at instance.update (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6095:16)
      at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6105:5)
      at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5873:7)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5827:9)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5306:11)
      at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5971:11)
      at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:181:19)
      at instance.update (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6095:16)
      at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6105:5)
      at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5873:7)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5827:9)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5306:11)
      at render (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6616:7)
      at mount (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3930:13)
      at Object.app.mount (node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.js:1477:19)
      at mount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8333:18)
      at shallowMount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8349: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:49:13)
      at Object.isAudio [as get] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3122:9)
      at Proxy.render (resources/components/QuickView.vue:618:104)
      at renderComponentRoot (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:885:16)
      at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5964:46)
      at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:181:19)
      at instance.update (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6095:16)
      at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6105:5)
      at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5873:7)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5827:9)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5306:11)
      at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5971:11)
      at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:181:19)
      at instance.update (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6095:16)
      at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6105:5)
      at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5873:7)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5827:9)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5306:11)
      at render (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6616:7)
      at mount (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3930:13)
      at Object.app.mount (node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.js:1477:19)
      at mount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8333:18)
      at shallowMount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8349: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:49:13)
      at Object.displayName [as get] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3122:9)
      at Proxy.render (resources/components/QuickView.vue:656:503)
      at renderComponentRoot (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:885:16)
      at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5964:46)
      at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:181:19)
      at instance.update (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6095:16)
      at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6105:5)
      at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5873:7)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5827:9)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5306:11)
      at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5971:11)
      at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:181:19)
      at instance.update (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6095:16)
      at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6105:5)
      at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5873:7)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5827:9)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5306:11)
      at render (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6616:7)
      at mount (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3930:13)
      at Object.app.mount (node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.js:1477:19)
      at mount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8333:18)
      at shallowMount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8349: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:49:13)
      at Object.description [as get] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3122:9)
      at Proxy.render (resources/components/QuickView.vue:660:139)
      at renderComponentRoot (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:885:16)
      at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5964:46)
      at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:181:19)
      at instance.update (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6095:16)
      at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6105:5)
      at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5873:7)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5827:9)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5306:11)
      at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5971:11)
      at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:181:19)
      at instance.update (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6095:16)
      at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6105:5)
      at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5873:7)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5827:9)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5306:11)
      at render (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6616:7)
      at mount (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3930:13)
      at Object.app.mount (node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.js:1477:19)
      at mount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8333:18)
      at shallowMount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8349: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:49:13)
      at Object.artist [as get] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3122:9)
      at Proxy.render (resources/components/QuickView.vue:662:94)
      at renderComponentRoot (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:885:16)
      at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5964:46)
      at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:181:19)
      at instance.update (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6095:16)
      at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6105:5)
      at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5873:7)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5827:9)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5306:11)
      at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5971:11)
      at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:181:19)
      at instance.update (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6095:16)
      at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6105:5)
      at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5873:7)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5827:9)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5306:11)
      at render (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6616:7)
      at mount (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3930:13)
      at Object.app.mount (node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.js:1477:19)
      at mount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8333:18)
      at shallowMount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8349: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:49:13)
      at Object.licenseText [as get] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3122:9)
      at Proxy.render (resources/components/QuickView.vue:666:234)
      at renderComponentRoot (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:885:16)
      at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5964:46)
      at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:181:19)
      at instance.update (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6095:16)
      at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6105:5)
      at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5873:7)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5827:9)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5306:11)
      at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5971:11)
      at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:181:19)
      at instance.update (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6095:16)
      at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6105:5)
      at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5873:7)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5827:9)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5306:11)
      at render (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6616:7)
      at mount (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3930:13)
      at Object.app.mount (node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.js:1477:19)
      at mount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8333:18)
      at shallowMount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8349: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:49:13)
      at Object.displayName [as get] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3122:9)
      at Proxy.render (resources/components/QuickView.vue:680:197)
      at renderComponentRoot (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:885:16)
      at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5964:46)
      at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:181:19)
      at instance.update (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6095:16)
      at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6105:5)
      at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5873:7)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5827:9)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5306:11)
      at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5971:11)
      at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:181:19)
      at instance.update (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6095:16)
      at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6105:5)
      at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5873:7)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5827:9)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5306:11)
      at render (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6616:7)
      at mount (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3930:13)
      at Object.app.mount (node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.js:1477:19)
      at mount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8333:18)
      at shallowMount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8349: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:49:13)
      at Object.displayNameWithoutExtension [as get] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3122:9)
      at Proxy.render (resources/components/QuickView.vue:686:106)
      at renderComponentRoot (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:885:16)
      at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5964:46)
      at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:181:19)
      at instance.update (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6095:16)
      at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6105:5)
      at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5873:7)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5827:9)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5306:11)
      at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5971:11)
      at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:181:19)
      at instance.update (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6095:16)
      at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6105:5)
      at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5873:7)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5827:9)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5306:11)
      at render (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6616:7)
      at mount (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3930:13)
      at Object.app.mount (node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.js:1477:19)
      at mount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8333:18)
      at shallowMount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8349: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:49:13)
      at Object.creationDate [as get] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3122:9)
      at Proxy.render (resources/components/QuickView.vue:693:240)
      at renderComponentRoot (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:885:16)
      at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5964:46)
      at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:181:19)
      at instance.update (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6095:16)
      at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6105:5)
      at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5873:7)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5827:9)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5306:11)
      at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5971:11)
      at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:181:19)
      at instance.update (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6095:16)
      at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6105:5)
      at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5873:7)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5827:9)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5306:11)
      at render (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6616:7)
      at mount (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3930:13)
      at Object.app.mount (node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.js:1477:19)
      at mount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8333:18)
      at shallowMount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8349: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:49:13)
      at Object.resolution [as get] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3122:9)
      at Proxy.render (resources/components/QuickView.vue:697:94)
      at renderComponentRoot (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:885:16)
      at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5964:46)
      at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:181:19)
      at instance.update (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6095:16)
      at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6105:5)
      at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5873:7)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5827:9)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5306:11)
      at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5971:11)
      at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:181:19)
      at instance.update (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6095:16)
      at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6105:5)
      at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5873:7)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5827:9)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5306:11)
      at render (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6616:7)
      at mount (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3930:13)
      at Object.app.mount (node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.js:1477:19)
      at mount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8333:18)
      at shallowMount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8349: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:49:13)
      at Object.mimeType [as get] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3122:9)
      at Proxy.render (resources/components/QuickView.vue:699:265)
      at renderComponentRoot (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:885:16)
      at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5964:46)
      at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:181:19)
      at instance.update (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6095:16)
      at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6105:5)
      at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5873:7)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5827:9)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5306:11)
      at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5971:11)
      at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:181:19)
      at instance.update (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6095:16)
      at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6105:5)
      at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5873:7)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5827:9)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5306:11)
      at render (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6616:7)
      at mount (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3930:13)
      at Object.app.mount (node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.js:1477:19)
      at mount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8333:18)
      at shallowMount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8349:12)
      at Object.<anonymous> (tests/jest/components/QuickView.test.js:224:20)

PASS tests/jest/mixins/autocompleteLookupHandler.test.js
PASS tests/jest/components/SearchResults.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:49:13)
      at validateProp (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4354:7)
      at validateProps (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4326:5)
      at updateProps (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4140:5)
      at updateComponentPreRender (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6112:5)
      at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6028:11)
      at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:181:19)
      at Object.instance.update (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6095:16)
      at updateComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5904:18)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5838:7)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5306:11)
      at patchBlockChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5696:7)
      at patchElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5588:7)
      at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5437:7)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5294:11)
      at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6051:9)
      at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:181:19)
      at instance.update (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6095:16)
      at callWithErrorHandling (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:195:33)
      at flushJobs (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:408: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>

      at Object.warn$1 [as warn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:49:13)
      at Qe (node_modules/@wikimedia/codex/dist/codex.cjs:1:6780)
      at pt (node_modules/@wikimedia/codex/dist/codex.cjs:1:19350)
      at setup (node_modules/@wikimedia/codex/dist/codex.cjs:1:102078)
      at callWithErrorHandling (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:195:19)
      at setupStatefulComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7572:25)
      at setupComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7533:36)
      at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5861:7)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5827:9)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5306:11)
      at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5554:7)
      at processFragment (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5770:7)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5280:9)
      at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5554:7)
      at mountElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5461:7)
      at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5426:7)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5294:11)
      at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5554:7)
      at mountElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5461:7)
      at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5426:7)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5294:11)
      at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5554:7)
      at processFragment (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5770:7)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5280:9)
      at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5554:7)
      at mountElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5461:7)
      at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5426:7)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5294:11)
      at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5554:7)
      at mountElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5461:7)
      at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5426:7)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5294:11)
      at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5554:7)
      at mountElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5461:7)
      at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5426:7)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5294:11)
      at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5554:7)
      at mountElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5461:7)
      at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5426:7)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5294:11)
      at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5554:7)
      at mountElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5461:7)
      at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5426:7)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5294:11)
      at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5971:11)
      at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:181:19)
      at instance.update (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6095:16)
      at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6105:5)

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/app.test.js (5.093 s)
PASS tests/jest/components/SearchFilters.test.js
PASS tests/jest/components/results/pageResult.test.js
PASS tests/jest/components/results/ImageResult.test.js
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/dialog.test.js
PASS tests/jest/components/base/selectMenu.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/image.test.js
PASS tests/jest/components/base/player.test.js
PASS tests/jest/components/UserNotice.test.js
PASS tests/jest/components/DidYouMean.test.js
PASS tests/jest/components/NoResults.test.js
PASS tests/jest/components/EndOfResults.test.js
PASS tests/jest/components/EmptyState.test.js
PASS tests/jest/components/Spinner.test.js

Test Suites: 30 passed, 30 total
Tests:       6 todo, 457 passed, 463 total
Snapshots:   0 total
Time:        11.404 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/SearchError.vue
  8:10  warning  Expected a linebreak before this attribute  vue/first-attribute-linebreak
  8:29  warning  'class' should be on a new line             vue/max-attributes-per-line

/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

/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

/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
  227:1  warning  This line has a length of 118. Maximum allowed is 110  max-len

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


Running "stylelint:all" (stylelint) task
>> Linted 51 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                         |   88.99 |    77.49 |   85.86 |   89.02 |                                                       
 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.43 |    78.78 |   82.19 |   88.35 |                                                       
  App.vue                         |   79.41 |    54.54 |   82.75 |    79.2 | 117-122,196,202,264-273,296-308,325-329               
  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                 |   84.61 |        0 |       0 |   84.61 | 12,36                                                 
  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                               
  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 | 62                                                    
  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.96 |    75.77 |    92.3 |   90.22 |                                                       
  actions.js                      |   88.26 |    81.55 |   82.35 |    88.7 | 69,99,123,145,161-162,220,296,376-384,429-430,454-460 
  getters.js                      |     100 |      100 |     100 |     100 |                                                       
  index.js                        |       0 |      100 |     100 |       0 | 1-10                                                  
  mutations.js                    |     100 |      100 |     100 |     100 |                                                       
  state.js                        |     100 |    52.38 |     100 |     100 | 25-71                                                 
----------------------------------|---------|----------|---------|---------|-------------------------------------------------------

--- end ---
{}
{}
{"1105443": {"source": 1105443, "name": "brace-expansion", "dependency": "brace-expansion", "title": "brace-expansion Regular Expression Denial of Service vulnerability", "url": "https://github.com/advisories/GHSA-v6h2-p8h4-qcjw", "severity": "low", "cwe": ["CWE-400"], "cvss": {"score": 3.1, "vectorString": "CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:L"}, "range": ">=1.0.0 <=1.1.11"}, "1105444": {"source": 1105444, "name": "brace-expansion", "dependency": "brace-expansion", "title": "brace-expansion Regular Expression Denial of Service vulnerability", "url": "https://github.com/advisories/GHSA-v6h2-p8h4-qcjw", "severity": "low", "cwe": ["CWE-400"], "cvss": {"score": 3.1, "vectorString": "CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:L"}, "range": ">=2.0.0 <=2.0.1"}}
Upgrading n:brace-expansion from 1.1.11, 2.0.1 -> 1.1.12, 2.0.2
$ package-lock-lint package-lock.json
--- stdout ---
Checking package-lock.json

--- end ---
build: Updating brace-expansion to 1.1.12, 2.0.2

* https://github.com/advisories/GHSA-v6h2-p8h4-qcjw

Additional changes:
* Enable stylelint caching.

$ git add .
--- stdout ---

--- end ---
$ git commit -F /tmp/tmpwhxs75_r
--- stdout ---
[REL1_44 e21826a] build: Updating brace-expansion to 1.1.12, 2.0.2
 3 files changed, 13 insertions(+), 9 deletions(-)

--- end ---
$ git format-patch HEAD~1 --stdout
--- stdout ---
From e21826aca79f8bd44f45ff71be4527509b8ed987 Mon Sep 17 00:00:00 2001
From: libraryupgrader <tools.libraryupgrader@tools.wmflabs.org>
Date: Sun, 15 Jun 2025 11:22:55 +0000
Subject: [PATCH] build: Updating brace-expansion to 1.1.12, 2.0.2

* https://github.com/advisories/GHSA-v6h2-p8h4-qcjw

Additional changes:
* Enable stylelint caching.

Change-Id: I626806a66036841a222a99734ddfe0e453671728
---
 .gitignore        |  1 +
 Gruntfile.js      |  3 +++
 package-lock.json | 18 +++++++++---------
 3 files changed, 13 insertions(+), 9 deletions(-)

diff --git a/.gitignore b/.gitignore
index eef0ee4..8f9a73f 100644
--- a/.gitignore
+++ b/.gitignore
@@ -8,3 +8,4 @@
 /node_modules
 .eslintcache
 /coverage
+/.stylelintcache
diff --git a/Gruntfile.js b/Gruntfile.js
index bd03c8e..1b6d799 100644
--- a/Gruntfile.js
+++ b/Gruntfile.js
@@ -15,6 +15,9 @@ module.exports = function ( grunt ) {
 			all: '.'
 		},
 		stylelint: {
+			options: {
+				cache: true
+			},
 			all: [
 				'**/*.{less,vue}',
 				'!node_modules/**',
diff --git a/package-lock.json b/package-lock.json
index 5a110ce..36ec874 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -4169,9 +4169,9 @@
 			"dev": true
 		},
 		"node_modules/brace-expansion": {
-			"version": "1.1.11",
-			"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
-			"integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+			"version": "1.1.12",
+			"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz",
+			"integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==",
 			"dev": true,
 			"dependencies": {
 				"balanced-match": "^1.0.0",
@@ -5309,9 +5309,9 @@
 			}
 		},
 		"node_modules/eslint-config-wikimedia/node_modules/brace-expansion": {
-			"version": "2.0.1",
-			"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
-			"integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+			"version": "2.0.2",
+			"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz",
+			"integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==",
 			"dev": true,
 			"dependencies": {
 				"balanced-match": "^1.0.0"
@@ -5651,9 +5651,9 @@
 			}
 		},
 		"node_modules/eslint-plugin-n/node_modules/brace-expansion": {
-			"version": "2.0.1",
-			"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
-			"integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+			"version": "2.0.2",
+			"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz",
+			"integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==",
 			"dev": true,
 			"dependencies": {
 				"balanced-match": "^1.0.0"
-- 
2.39.5


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