mediawiki/extensions/Adiutor: main (log #2472268)

sourcepatches

This run took 76 seconds.

From f31b571a311ce0e6a539c3ff6d57ca8e289dae2e Mon Sep 17 00:00:00 2001
From: libraryupgrader <tools.libraryupgrader@tools.wmflabs.org>
Date: Mon, 18 May 2026 00:32:13 +0000
Subject: [PATCH] build: Updating npm dependencies
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

* @babel/plugin-transform-modules-systemjs: 7.25.9 → 7.29.4
  * https://github.com/advisories/GHSA-fv7c-fp4j-7gwp
* fast-uri: 3.0.6 → 3.1.2
  * https://github.com/advisories/GHSA-q3j6-qgpj-74h6
  * https://github.com/advisories/GHSA-v39h-62p7-jpjc

Change-Id: Ie227854f626afb3dfca5a527e8cab58bc282cd58
---
 package-lock.json | 170 ++++++++++++++++++++++------------------------
 1 file changed, 83 insertions(+), 87 deletions(-)

diff --git a/package-lock.json b/package-lock.json
index 3caeca2..370f4f8 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -39,14 +39,14 @@
 			}
 		},
 		"node_modules/@babel/code-frame": {
-			"version": "7.26.2",
-			"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.26.2.tgz",
-			"integrity": "sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==",
+			"version": "7.29.0",
+			"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.0.tgz",
+			"integrity": "sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==",
 			"dev": true,
 			"dependencies": {
-				"@babel/helper-validator-identifier": "^7.25.9",
+				"@babel/helper-validator-identifier": "^7.28.5",
 				"js-tokens": "^4.0.0",
-				"picocolors": "^1.0.0"
+				"picocolors": "^1.1.1"
 			},
 			"engines": {
 				"node": ">=6.9.0"
@@ -110,15 +110,15 @@
 			}
 		},
 		"node_modules/@babel/generator": {
-			"version": "7.26.5",
-			"resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.26.5.tgz",
-			"integrity": "sha512-2caSP6fN9I7HOe6nqhtft7V4g7/V/gfDsC3Ag4W7kEzzvRGKqiv0pu0HogPiZ3KaVSoNDhUws6IJjDjpfmYIXw==",
+			"version": "7.29.1",
+			"resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.29.1.tgz",
+			"integrity": "sha512-qsaF+9Qcm2Qv8SRIMMscAvG4O3lJ0F1GuMo5HR/Bp02LopNgnZBC/EkbevHFeGs4ls/oPz9v+Bsmzbkbe+0dUw==",
 			"dev": true,
 			"dependencies": {
-				"@babel/parser": "^7.26.5",
-				"@babel/types": "^7.26.5",
-				"@jridgewell/gen-mapping": "^0.3.5",
-				"@jridgewell/trace-mapping": "^0.3.25",
+				"@babel/parser": "^7.29.0",
+				"@babel/types": "^7.29.0",
+				"@jridgewell/gen-mapping": "^0.3.12",
+				"@jridgewell/trace-mapping": "^0.3.28",
 				"jsesc": "^3.0.2"
 			},
 			"engines": {
@@ -207,6 +207,15 @@
 				"@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0"
 			}
 		},
+		"node_modules/@babel/helper-globals": {
+			"version": "7.28.0",
+			"resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz",
+			"integrity": "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==",
+			"dev": true,
+			"engines": {
+				"node": ">=6.9.0"
+			}
+		},
 		"node_modules/@babel/helper-member-expression-to-functions": {
 			"version": "7.25.9",
 			"resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.25.9.tgz",
@@ -221,27 +230,27 @@
 			}
 		},
 		"node_modules/@babel/helper-module-imports": {
-			"version": "7.25.9",
-			"resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.25.9.tgz",
-			"integrity": "sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==",
+			"version": "7.28.6",
+			"resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.28.6.tgz",
+			"integrity": "sha512-l5XkZK7r7wa9LucGw9LwZyyCUscb4x37JWTPz7swwFE/0FMQAGpiWUZn8u9DzkSBWEcK25jmvubfpw2dnAMdbw==",
 			"dev": true,
 			"dependencies": {
-				"@babel/traverse": "^7.25.9",
-				"@babel/types": "^7.25.9"
+				"@babel/traverse": "^7.28.6",
+				"@babel/types": "^7.28.6"
 			},
 			"engines": {
 				"node": ">=6.9.0"
 			}
 		},
 		"node_modules/@babel/helper-module-transforms": {
-			"version": "7.26.0",
-			"resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.26.0.tgz",
-			"integrity": "sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==",
+			"version": "7.28.6",
+			"resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.6.tgz",
+			"integrity": "sha512-67oXFAYr2cDLDVGLXTEABjdBJZ6drElUSI7WKp70NrpyISso3plG9SAGEF6y7zbha/wOzUByWWTJvEDVNIUGcA==",
 			"dev": true,
 			"dependencies": {
-				"@babel/helper-module-imports": "^7.25.9",
-				"@babel/helper-validator-identifier": "^7.25.9",
-				"@babel/traverse": "^7.25.9"
+				"@babel/helper-module-imports": "^7.28.6",
+				"@babel/helper-validator-identifier": "^7.28.5",
+				"@babel/traverse": "^7.28.6"
 			},
 			"engines": {
 				"node": ">=6.9.0"
@@ -263,9 +272,9 @@
 			}
 		},
 		"node_modules/@babel/helper-plugin-utils": {
-			"version": "7.26.5",
-			"resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.26.5.tgz",
-			"integrity": "sha512-RS+jZcRdZdRFzMyr+wcsaqOmld1/EqTghfaBGQQd/WnRdzdlvSZ//kF7U8VQTxf1ynZ4cjUcYgjVGx13ewNPMg==",
+			"version": "7.28.6",
+			"resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.28.6.tgz",
+			"integrity": "sha512-S9gzZ/bz83GRysI7gAD4wPT/AI3uCnY+9xn+Mx/KPs2JwHJIz1W8PZkg2cqyt3RNOBM8ejcXhV6y8Og7ly/Dug==",
 			"dev": true,
 			"engines": {
 				"node": ">=6.9.0"
@@ -319,18 +328,18 @@
 			}
 		},
 		"node_modules/@babel/helper-string-parser": {
-			"version": "7.25.9",
-			"resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz",
-			"integrity": "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==",
+			"version": "7.27.1",
+			"resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz",
+			"integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==",
 			"dev": true,
 			"engines": {
 				"node": ">=6.9.0"
 			}
 		},
 		"node_modules/@babel/helper-validator-identifier": {
-			"version": "7.25.9",
-			"resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz",
-			"integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==",
+			"version": "7.28.5",
+			"resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz",
+			"integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==",
 			"dev": true,
 			"engines": {
 				"node": ">=6.9.0"
@@ -373,12 +382,12 @@
 			}
 		},
 		"node_modules/@babel/parser": {
-			"version": "7.26.10",
-			"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.26.10.tgz",
-			"integrity": "sha512-6aQR2zGE/QFi8JpDLjUZEPYOs7+mhKXm86VaKFiLP35JQwQb6bwUE+XbvkH0EptsYhbNBSUGaUBLKqxH1xSgsA==",
+			"version": "7.29.3",
+			"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.3.tgz",
+			"integrity": "sha512-b3ctpQwp+PROvU/cttc4OYl4MzfJUWy6FZg+PMXfzmt/+39iHVF0sDfqay8TQM3JA2EUOyKcFZt75jWriQijsA==",
 			"dev": true,
 			"dependencies": {
-				"@babel/types": "^7.26.10"
+				"@babel/types": "^7.29.0"
 			},
 			"bin": {
 				"parser": "bin/babel-parser.js"
@@ -1123,15 +1132,15 @@
 			}
 		},
 		"node_modules/@babel/plugin-transform-modules-systemjs": {
-			"version": "7.25.9",
-			"resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.25.9.tgz",
-			"integrity": "sha512-hyss7iIlH/zLHaehT+xwiymtPOpsiwIIRlCAOwBB04ta5Tt+lNItADdlXw3jAWZ96VJ2jlhl/c+PNIQPKNfvcA==",
+			"version": "7.29.4",
+			"resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.29.4.tgz",
+			"integrity": "sha512-N7QmZ0xRZfjHOfZeQLJjwgX2zS9pdGHSVl/cjSGlo4dXMqvurfxXDMKY4RqEKzPozV78VMcd0lxyG13mlbKc4w==",
 			"dev": true,
 			"dependencies": {
-				"@babel/helper-module-transforms": "^7.25.9",
-				"@babel/helper-plugin-utils": "^7.25.9",
-				"@babel/helper-validator-identifier": "^7.25.9",
-				"@babel/traverse": "^7.25.9"
+				"@babel/helper-module-transforms": "^7.28.6",
+				"@babel/helper-plugin-utils": "^7.28.6",
+				"@babel/helper-validator-identifier": "^7.28.5",
+				"@babel/traverse": "^7.29.0"
 			},
 			"engines": {
 				"node": ">=6.9.0"
@@ -1640,45 +1649,45 @@
 			}
 		},
 		"node_modules/@babel/template": {
-			"version": "7.26.9",
-			"resolved": "https://registry.npmjs.org/@babel/template/-/template-7.26.9.tgz",
-			"integrity": "sha512-qyRplbeIpNZhmzOysF/wFMuP9sctmh2cFzRAZOn1YapxBsE1i9bJIY586R/WBLfLcmcBlM8ROBiQURnnNy+zfA==",
+			"version": "7.28.6",
+			"resolved": "https://registry.npmjs.org/@babel/template/-/template-7.28.6.tgz",
+			"integrity": "sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ==",
 			"dev": true,
 			"dependencies": {
-				"@babel/code-frame": "^7.26.2",
-				"@babel/parser": "^7.26.9",
-				"@babel/types": "^7.26.9"
+				"@babel/code-frame": "^7.28.6",
+				"@babel/parser": "^7.28.6",
+				"@babel/types": "^7.28.6"
 			},
 			"engines": {
 				"node": ">=6.9.0"
 			}
 		},
 		"node_modules/@babel/traverse": {
-			"version": "7.26.7",
-			"resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.26.7.tgz",
-			"integrity": "sha512-1x1sgeyRLC3r5fQOM0/xtQKsYjyxmFjaOrLJNtZ81inNjyJHGIolTULPiSc/2qe1/qfpFLisLQYFnnZl7QoedA==",
+			"version": "7.29.0",
+			"resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.0.tgz",
+			"integrity": "sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==",
 			"dev": true,
 			"dependencies": {
-				"@babel/code-frame": "^7.26.2",
-				"@babel/generator": "^7.26.5",
-				"@babel/parser": "^7.26.7",
-				"@babel/template": "^7.25.9",
-				"@babel/types": "^7.26.7",
-				"debug": "^4.3.1",
-				"globals": "^11.1.0"
+				"@babel/code-frame": "^7.29.0",
+				"@babel/generator": "^7.29.0",
+				"@babel/helper-globals": "^7.28.0",
+				"@babel/parser": "^7.29.0",
+				"@babel/template": "^7.28.6",
+				"@babel/types": "^7.29.0",
+				"debug": "^4.3.1"
 			},
 			"engines": {
 				"node": ">=6.9.0"
 			}
 		},
 		"node_modules/@babel/types": {
-			"version": "7.26.10",
-			"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.10.tgz",
-			"integrity": "sha512-emqcG3vHrpxUKTrxcblR36dcrcoRDvKmnL/dCL6ZsHaShW80qxCAcNhzQZrpeM765VzEos+xOi4s+r4IXzTwdQ==",
+			"version": "7.29.0",
+			"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.0.tgz",
+			"integrity": "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==",
 			"dev": true,
 			"dependencies": {
-				"@babel/helper-string-parser": "^7.25.9",
-				"@babel/helper-validator-identifier": "^7.25.9"
+				"@babel/helper-string-parser": "^7.27.1",
+				"@babel/helper-validator-identifier": "^7.28.5"
 			},
 			"engines": {
 				"node": ">=6.9.0"
@@ -2808,17 +2817,13 @@
 			}
 		},
 		"node_modules/@jridgewell/gen-mapping": {
-			"version": "0.3.8",
-			"resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz",
-			"integrity": "sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==",
+			"version": "0.3.13",
+			"resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz",
+			"integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==",
 			"dev": true,
 			"dependencies": {
-				"@jridgewell/set-array": "^1.2.1",
-				"@jridgewell/sourcemap-codec": "^1.4.10",
+				"@jridgewell/sourcemap-codec": "^1.5.0",
 				"@jridgewell/trace-mapping": "^0.3.24"
-			},
-			"engines": {
-				"node": ">=6.0.0"
 			}
 		},
 		"node_modules/@jridgewell/resolve-uri": {
@@ -2830,15 +2835,6 @@
 				"node": ">=6.0.0"
 			}
 		},
-		"node_modules/@jridgewell/set-array": {
-			"version": "1.2.1",
-			"resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz",
-			"integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==",
-			"dev": true,
-			"engines": {
-				"node": ">=6.0.0"
-			}
-		},
 		"node_modules/@jridgewell/sourcemap-codec": {
 			"version": "1.5.0",
 			"resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz",
@@ -2846,9 +2842,9 @@
 			"dev": true
 		},
 		"node_modules/@jridgewell/trace-mapping": {
-			"version": "0.3.25",
-			"resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz",
-			"integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==",
+			"version": "0.3.31",
+			"resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz",
+			"integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==",
 			"dev": true,
 			"dependencies": {
 				"@jridgewell/resolve-uri": "^3.1.0",
@@ -6504,9 +6500,9 @@
 			"dev": true
 		},
 		"node_modules/fast-uri": {
-			"version": "3.0.6",
-			"resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.6.tgz",
-			"integrity": "sha512-Atfo14OibSv5wAp4VWNsFYE1AchQRTv9cBGWET4pZWHzYshFSS9NQI6I57rdKn9croWVMbYFbLhJ+yJvmZIIHw==",
+			"version": "3.1.2",
+			"resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.2.tgz",
+			"integrity": "sha512-rVjf7ArG3LTk+FS6Yw81V1DLuZl1bRbNrev6Tmd/9RaroeeRRJhAt7jg/6YFxbvAQXUCavSoZhPPj6oOx+5KjQ==",
 			"dev": true,
 			"funding": [
 				{
-- 
2.47.3

$ date
--- stdout ---
Mon May 18 00:31:10 UTC 2026

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

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

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

--- end ---
$ git submodule update --init
--- stdout ---

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

--- end ---
$ git show-ref refs/heads/master
--- stdout ---
1cd5f81426624b5afa002686a92682a4ccd73bda refs/heads/master

--- end ---
$ /usr/bin/npm audit --json
--- stdout ---
{
  "auditReportVersion": 2,
  "vulnerabilities": {
    "@babel/plugin-transform-modules-systemjs": {
      "name": "@babel/plugin-transform-modules-systemjs",
      "severity": "high",
      "isDirect": false,
      "via": [
        {
          "source": 1117908,
          "name": "@babel/plugin-transform-modules-systemjs",
          "dependency": "@babel/plugin-transform-modules-systemjs",
          "title": "@babel/plugin-transform-modules-systemjs generates arbitrary code when compiling malicious input",
          "url": "https://github.com/advisories/GHSA-fv7c-fp4j-7gwp",
          "severity": "high",
          "cwe": [
            "CWE-94",
            "CWE-843"
          ],
          "cvss": {
            "score": 8.2,
            "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:H"
          },
          "range": ">=7.12.0 <=7.29.3"
        }
      ],
      "effects": [],
      "range": "7.12.0 - 7.29.0",
      "nodes": [
        "node_modules/@babel/plugin-transform-modules-systemjs"
      ],
      "fixAvailable": true
    },
    "@tootallnate/once": {
      "name": "@tootallnate/once",
      "severity": "low",
      "isDirect": false,
      "via": [
        {
          "source": 1113977,
          "name": "@tootallnate/once",
          "dependency": "@tootallnate/once",
          "title": "@tootallnate/once vulnerable to Incorrect Control Flow Scoping",
          "url": "https://github.com/advisories/GHSA-vpq2-c234-7xj6",
          "severity": "low",
          "cwe": [
            "CWE-705"
          ],
          "cvss": {
            "score": 3.3,
            "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:L"
          },
          "range": "<3.0.1"
        }
      ],
      "effects": [
        "http-proxy-agent"
      ],
      "range": "<3.0.1",
      "nodes": [
        "node_modules/@tootallnate/once"
      ],
      "fixAvailable": {
        "name": "jest-environment-jsdom",
        "version": "30.4.1",
        "isSemVerMajor": true
      }
    },
    "fast-uri": {
      "name": "fast-uri",
      "severity": "high",
      "isDirect": false,
      "via": [
        {
          "source": 1117870,
          "name": "fast-uri",
          "dependency": "fast-uri",
          "title": "fast-uri vulnerable to path traversal via percent-encoded dot segments",
          "url": "https://github.com/advisories/GHSA-q3j6-qgpj-74h6",
          "severity": "high",
          "cwe": [
            "CWE-22"
          ],
          "cvss": {
            "score": 7.5,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N"
          },
          "range": "<=3.1.0"
        },
        {
          "source": 1117884,
          "name": "fast-uri",
          "dependency": "fast-uri",
          "title": "fast-uri vulnerable to host confusion via percent-encoded authority delimiters",
          "url": "https://github.com/advisories/GHSA-v39h-62p7-jpjc",
          "severity": "high",
          "cwe": [
            "CWE-436"
          ],
          "cvss": {
            "score": 7.5,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N"
          },
          "range": "<=3.1.1"
        }
      ],
      "effects": [],
      "range": "<=3.1.1",
      "nodes": [
        "node_modules/fast-uri"
      ],
      "fixAvailable": true
    },
    "http-proxy-agent": {
      "name": "http-proxy-agent",
      "severity": "low",
      "isDirect": false,
      "via": [
        "@tootallnate/once"
      ],
      "effects": [
        "jsdom"
      ],
      "range": "4.0.1 - 5.0.0",
      "nodes": [
        "node_modules/http-proxy-agent"
      ],
      "fixAvailable": {
        "name": "jest-environment-jsdom",
        "version": "30.4.1",
        "isSemVerMajor": true
      }
    },
    "jest-environment-jsdom": {
      "name": "jest-environment-jsdom",
      "severity": "low",
      "isDirect": true,
      "via": [
        "jsdom"
      ],
      "effects": [],
      "range": "27.0.1 - 30.0.0-rc.1",
      "nodes": [
        "node_modules/jest-environment-jsdom"
      ],
      "fixAvailable": {
        "name": "jest-environment-jsdom",
        "version": "30.4.1",
        "isSemVerMajor": true
      }
    },
    "jsdom": {
      "name": "jsdom",
      "severity": "low",
      "isDirect": false,
      "via": [
        "http-proxy-agent"
      ],
      "effects": [
        "jest-environment-jsdom"
      ],
      "range": "16.6.0 - 22.1.0",
      "nodes": [
        "node_modules/jsdom"
      ],
      "fixAvailable": {
        "name": "jest-environment-jsdom",
        "version": "30.4.1",
        "isSemVerMajor": true
      }
    }
  },
  "metadata": {
    "vulnerabilities": {
      "info": 0,
      "low": 4,
      "moderate": 0,
      "high": 2,
      "critical": 0,
      "total": 6
    },
    "dependencies": {
      "prod": 1,
      "dev": 1045,
      "optional": 3,
      "peer": 1,
      "peerOptional": 0,
      "total": 1045
    }
  }
}

--- end ---
$ /usr/bin/composer install
--- stderr ---
No composer.lock file present. Updating dependencies to latest instead of installing from lock file. See https://getcomposer.org/install for more information.
Loading composer repositories with package information
Updating dependencies
Lock file operations: 37 installs, 0 updates, 0 removals
  - Locking composer/pcre (3.3.2)
  - Locking composer/semver (3.4.4)
  - Locking composer/spdx-licenses (1.6.0)
  - Locking composer/xdebug-handler (3.0.5)
  - Locking danog/advanced-json-rpc (v3.2.3)
  - Locking dealerdirect/phpcodesniffer-composer-installer (v1.2.1)
  - Locking doctrine/deprecations (1.1.6)
  - Locking mediawiki/mediawiki-codesniffer (v51.0.0)
  - Locking mediawiki/mediawiki-phan-config (0.20.0)
  - Locking mediawiki/minus-x (2.0.1)
  - Locking mediawiki/phan-taint-check-plugin (9.1.0)
  - Locking netresearch/jsonmapper (v5.0.1)
  - Locking phan/phan (6.0.2)
  - Locking phan/tolerant-php-parser (v0.2.0)
  - Locking phan/var_representation_polyfill (0.1.4)
  - 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.5.0)
  - Locking phpcsstandards/phpcsutils (1.2.2)
  - Locking phpdocumentor/reflection-common (2.2.0)
  - Locking phpdocumentor/reflection-docblock (6.0.3)
  - Locking phpdocumentor/type-resolver (2.0.0)
  - Locking phpstan/phpdoc-parser (2.3.2)
  - Locking psr/container (2.0.2)
  - Locking psr/log (3.0.2)
  - Locking sabre/event (6.1.0)
  - Locking squizlabs/php_codesniffer (3.13.5)
  - Locking symfony/console (v8.0.11)
  - Locking symfony/deprecation-contracts (v3.7.0)
  - Locking symfony/polyfill-ctype (v1.37.0)
  - Locking symfony/polyfill-intl-grapheme (v1.37.0)
  - Locking symfony/polyfill-intl-normalizer (v1.37.0)
  - Locking symfony/polyfill-mbstring (v1.37.0)
  - Locking symfony/service-contracts (v3.7.0)
  - Locking symfony/string (v8.0.11)
  - Locking webmozart/assert (2.3.0)
Writing lock file
Installing dependencies from lock file (including require-dev)
Package operations: 37 installs, 0 updates, 0 removals
    0 [>---------------------------]    0 [->--------------------------]
  - Installing squizlabs/php_codesniffer (3.13.5): Extracting archive
  - Installing dealerdirect/phpcodesniffer-composer-installer (v1.2.1): Extracting archive
  - Installing composer/pcre (3.3.2): Extracting archive
  - Installing phpcsstandards/phpcsutils (1.2.2): Extracting archive
  - Installing phpcsstandards/phpcsextra (1.5.0): Extracting archive
  - Installing symfony/polyfill-mbstring (v1.37.0): Extracting archive
  - Installing composer/spdx-licenses (1.6.0): Extracting archive
  - Installing composer/semver (3.4.4): Extracting archive
  - Installing mediawiki/mediawiki-codesniffer (v51.0.0): Extracting archive
  - Installing symfony/polyfill-intl-normalizer (v1.37.0): Extracting archive
  - Installing symfony/polyfill-intl-grapheme (v1.37.0): Extracting archive
  - Installing symfony/polyfill-ctype (v1.37.0): Extracting archive
  - Installing symfony/string (v8.0.11): Extracting archive
  - Installing symfony/deprecation-contracts (v3.7.0): Extracting archive
  - Installing psr/container (2.0.2): Extracting archive
  - Installing symfony/service-contracts (v3.7.0): Extracting archive
  - Installing symfony/console (v8.0.11): Extracting archive
  - Installing sabre/event (6.1.0): Extracting archive
  - Installing phan/var_representation_polyfill (0.1.4): Extracting archive
  - Installing phan/tolerant-php-parser (v0.2.0): Extracting archive
  - Installing netresearch/jsonmapper (v5.0.1): Extracting archive
  - Installing webmozart/assert (2.3.0): Extracting archive
  - Installing phpstan/phpdoc-parser (2.3.2): Extracting archive
  - Installing phpdocumentor/reflection-common (2.2.0): Extracting archive
  - Installing doctrine/deprecations (1.1.6): Extracting archive
  - Installing phpdocumentor/type-resolver (2.0.0): Extracting archive
  - Installing phpdocumentor/reflection-docblock (6.0.3): Extracting archive
  - Installing danog/advanced-json-rpc (v3.2.3): Extracting archive
  - Installing psr/log (3.0.2): Extracting archive
  - Installing composer/xdebug-handler (3.0.5): Extracting archive
  - Installing phan/phan (6.0.2): Extracting archive
  - Installing mediawiki/phan-taint-check-plugin (9.1.0): Extracting archive
  - Installing mediawiki/mediawiki-phan-config (0.20.0): Extracting archive
  - Installing mediawiki/minus-x (2.0.1): Extracting archive
  - Installing php-parallel-lint/php-console-color (v1.0.1): Extracting archive
  - Installing php-parallel-lint/php-console-highlighter (v1.0.0): Extracting archive
  - Installing php-parallel-lint/php-parallel-lint (v1.4.0): Extracting archive
  0/35 [>---------------------------]   0%
 32/35 [=========================>--]  91%
 35/35 [============================] 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/plugin-transform-modules-systemjs": {
      "name": "@babel/plugin-transform-modules-systemjs",
      "severity": "high",
      "isDirect": false,
      "via": [
        {
          "source": 1117908,
          "name": "@babel/plugin-transform-modules-systemjs",
          "dependency": "@babel/plugin-transform-modules-systemjs",
          "title": "@babel/plugin-transform-modules-systemjs generates arbitrary code when compiling malicious input",
          "url": "https://github.com/advisories/GHSA-fv7c-fp4j-7gwp",
          "severity": "high",
          "cwe": [
            "CWE-94",
            "CWE-843"
          ],
          "cvss": {
            "score": 8.2,
            "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:H"
          },
          "range": ">=7.12.0 <=7.29.3"
        }
      ],
      "effects": [],
      "range": "7.12.0 - 7.29.0",
      "nodes": [
        "node_modules/@babel/plugin-transform-modules-systemjs"
      ],
      "fixAvailable": true
    },
    "@tootallnate/once": {
      "name": "@tootallnate/once",
      "severity": "low",
      "isDirect": false,
      "via": [
        {
          "source": 1113977,
          "name": "@tootallnate/once",
          "dependency": "@tootallnate/once",
          "title": "@tootallnate/once vulnerable to Incorrect Control Flow Scoping",
          "url": "https://github.com/advisories/GHSA-vpq2-c234-7xj6",
          "severity": "low",
          "cwe": [
            "CWE-705"
          ],
          "cvss": {
            "score": 3.3,
            "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:L"
          },
          "range": "<3.0.1"
        }
      ],
      "effects": [
        "http-proxy-agent"
      ],
      "range": "<3.0.1",
      "nodes": [
        "node_modules/@tootallnate/once"
      ],
      "fixAvailable": {
        "name": "jest-environment-jsdom",
        "version": "30.4.1",
        "isSemVerMajor": true
      }
    },
    "fast-uri": {
      "name": "fast-uri",
      "severity": "high",
      "isDirect": false,
      "via": [
        {
          "source": 1117870,
          "name": "fast-uri",
          "dependency": "fast-uri",
          "title": "fast-uri vulnerable to path traversal via percent-encoded dot segments",
          "url": "https://github.com/advisories/GHSA-q3j6-qgpj-74h6",
          "severity": "high",
          "cwe": [
            "CWE-22"
          ],
          "cvss": {
            "score": 7.5,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N"
          },
          "range": "<=3.1.0"
        },
        {
          "source": 1117884,
          "name": "fast-uri",
          "dependency": "fast-uri",
          "title": "fast-uri vulnerable to host confusion via percent-encoded authority delimiters",
          "url": "https://github.com/advisories/GHSA-v39h-62p7-jpjc",
          "severity": "high",
          "cwe": [
            "CWE-436"
          ],
          "cvss": {
            "score": 7.5,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N"
          },
          "range": "<=3.1.1"
        }
      ],
      "effects": [],
      "range": "<=3.1.1",
      "nodes": [
        "node_modules/fast-uri"
      ],
      "fixAvailable": true
    },
    "http-proxy-agent": {
      "name": "http-proxy-agent",
      "severity": "low",
      "isDirect": false,
      "via": [
        "@tootallnate/once"
      ],
      "effects": [
        "jsdom"
      ],
      "range": "4.0.1 - 5.0.0",
      "nodes": [
        "node_modules/http-proxy-agent"
      ],
      "fixAvailable": {
        "name": "jest-environment-jsdom",
        "version": "30.4.1",
        "isSemVerMajor": true
      }
    },
    "jest-environment-jsdom": {
      "name": "jest-environment-jsdom",
      "severity": "low",
      "isDirect": true,
      "via": [
        "jsdom"
      ],
      "effects": [],
      "range": "27.0.1 - 30.0.0-rc.1",
      "nodes": [
        "node_modules/jest-environment-jsdom"
      ],
      "fixAvailable": {
        "name": "jest-environment-jsdom",
        "version": "30.4.1",
        "isSemVerMajor": true
      }
    },
    "jsdom": {
      "name": "jsdom",
      "severity": "low",
      "isDirect": false,
      "via": [
        "http-proxy-agent"
      ],
      "effects": [
        "jest-environment-jsdom"
      ],
      "range": "16.6.0 - 22.1.0",
      "nodes": [
        "node_modules/jsdom"
      ],
      "fixAvailable": {
        "name": "jest-environment-jsdom",
        "version": "30.4.1",
        "isSemVerMajor": true
      }
    }
  },
  "metadata": {
    "vulnerabilities": {
      "info": 0,
      "low": 4,
      "moderate": 0,
      "high": 2,
      "critical": 0,
      "total": 6
    },
    "dependencies": {
      "prod": 1,
      "dev": 1045,
      "optional": 3,
      "peer": 1,
      "peerOptional": 0,
      "total": 1045
    }
  }
}

--- end ---
Attempting to npm audit fix
$ /usr/bin/npm audit fix --dry-run --only=dev --json
--- stderr ---
npm WARN invalid config only="dev" set in command line options
npm WARN invalid config Must be one of: null, prod, production
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: '@wikimedia/codex@2.4.0',
npm WARN EBADENGINE   required: { node: '>=20.19.1', npm: '>=10.8.2' },
npm WARN EBADENGINE   current: { node: 'v20.19.2', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: '@wikimedia/codex-icons@2.4.0',
npm WARN EBADENGINE   required: { node: '>=20.19.1', npm: '>=10.8.2' },
npm WARN EBADENGINE   current: { node: 'v20.19.2', npm: '9.2.0' }
npm WARN EBADENGINE }
--- stdout ---
{
  "added": 1045,
  "removed": 0,
  "changed": 0,
  "audited": 1046,
  "funding": 144,
  "audit": {
    "auditReportVersion": 2,
    "vulnerabilities": {
      "@babel/plugin-transform-modules-systemjs": {
        "name": "@babel/plugin-transform-modules-systemjs",
        "severity": "high",
        "isDirect": false,
        "via": [
          {
            "source": 1117908,
            "name": "@babel/plugin-transform-modules-systemjs",
            "dependency": "@babel/plugin-transform-modules-systemjs",
            "title": "@babel/plugin-transform-modules-systemjs generates arbitrary code when compiling malicious input",
            "url": "https://github.com/advisories/GHSA-fv7c-fp4j-7gwp",
            "severity": "high",
            "cwe": [
              "CWE-94",
              "CWE-843"
            ],
            "cvss": {
              "score": 8.2,
              "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:H"
            },
            "range": ">=7.12.0 <=7.29.3"
          }
        ],
        "effects": [],
        "range": "7.12.0 - 7.29.0",
        "nodes": [
          ""
        ],
        "fixAvailable": true
      },
      "@tootallnate/once": {
        "name": "@tootallnate/once",
        "severity": "low",
        "isDirect": false,
        "via": [
          {
            "source": 1113977,
            "name": "@tootallnate/once",
            "dependency": "@tootallnate/once",
            "title": "@tootallnate/once vulnerable to Incorrect Control Flow Scoping",
            "url": "https://github.com/advisories/GHSA-vpq2-c234-7xj6",
            "severity": "low",
            "cwe": [
              "CWE-705"
            ],
            "cvss": {
              "score": 3.3,
              "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:L"
            },
            "range": "<3.0.1"
          }
        ],
        "effects": [
          "http-proxy-agent"
        ],
        "range": "<3.0.1",
        "nodes": [
          "node_modules/@tootallnate/once"
        ],
        "fixAvailable": {
          "name": "jest-environment-jsdom",
          "version": "30.4.1",
          "isSemVerMajor": true
        }
      },
      "fast-uri": {
        "name": "fast-uri",
        "severity": "high",
        "isDirect": false,
        "via": [
          {
            "source": 1117870,
            "name": "fast-uri",
            "dependency": "fast-uri",
            "title": "fast-uri vulnerable to path traversal via percent-encoded dot segments",
            "url": "https://github.com/advisories/GHSA-q3j6-qgpj-74h6",
            "severity": "high",
            "cwe": [
              "CWE-22"
            ],
            "cvss": {
              "score": 7.5,
              "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N"
            },
            "range": "<=3.1.0"
          },
          {
            "source": 1117884,
            "name": "fast-uri",
            "dependency": "fast-uri",
            "title": "fast-uri vulnerable to host confusion via percent-encoded authority delimiters",
            "url": "https://github.com/advisories/GHSA-v39h-62p7-jpjc",
            "severity": "high",
            "cwe": [
              "CWE-436"
            ],
            "cvss": {
              "score": 7.5,
              "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N"
            },
            "range": "<=3.1.1"
          }
        ],
        "effects": [],
        "range": "<=3.1.1",
        "nodes": [
          ""
        ],
        "fixAvailable": true
      },
      "http-proxy-agent": {
        "name": "http-proxy-agent",
        "severity": "low",
        "isDirect": false,
        "via": [
          "@tootallnate/once"
        ],
        "effects": [
          "jsdom"
        ],
        "range": "4.0.1 - 5.0.0",
        "nodes": [
          "node_modules/http-proxy-agent"
        ],
        "fixAvailable": {
          "name": "jest-environment-jsdom",
          "version": "30.4.1",
          "isSemVerMajor": true
        }
      },
      "jest-environment-jsdom": {
        "name": "jest-environment-jsdom",
        "severity": "low",
        "isDirect": true,
        "via": [
          "jsdom"
        ],
        "effects": [],
        "range": "27.0.1 - 30.0.0-rc.1",
        "nodes": [
          "node_modules/jest-environment-jsdom"
        ],
        "fixAvailable": {
          "name": "jest-environment-jsdom",
          "version": "30.4.1",
          "isSemVerMajor": true
        }
      },
      "jsdom": {
        "name": "jsdom",
        "severity": "low",
        "isDirect": false,
        "via": [
          "http-proxy-agent"
        ],
        "effects": [
          "jest-environment-jsdom"
        ],
        "range": "16.6.0 - 22.1.0",
        "nodes": [
          "node_modules/jsdom"
        ],
        "fixAvailable": {
          "name": "jest-environment-jsdom",
          "version": "30.4.1",
          "isSemVerMajor": true
        }
      }
    },
    "metadata": {
      "vulnerabilities": {
        "info": 0,
        "low": 4,
        "moderate": 0,
        "high": 2,
        "critical": 0,
        "total": 6
      },
      "dependencies": {
        "prod": 1,
        "dev": 1045,
        "optional": 3,
        "peer": 1,
        "peerOptional": 0,
        "total": 1045
      }
    }
  }
}

--- end ---
{"added": 1045, "removed": 0, "changed": 0, "audited": 1046, "funding": 144, "audit": {"auditReportVersion": 2, "vulnerabilities": {"@babel/plugin-transform-modules-systemjs": {"name": "@babel/plugin-transform-modules-systemjs", "severity": "high", "isDirect": false, "via": [{"source": 1117908, "name": "@babel/plugin-transform-modules-systemjs", "dependency": "@babel/plugin-transform-modules-systemjs", "title": "@babel/plugin-transform-modules-systemjs generates arbitrary code when compiling malicious input", "url": "https://github.com/advisories/GHSA-fv7c-fp4j-7gwp", "severity": "high", "cwe": ["CWE-94", "CWE-843"], "cvss": {"score": 8.2, "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:H"}, "range": ">=7.12.0 <=7.29.3"}], "effects": [], "range": "7.12.0 - 7.29.0", "nodes": [""], "fixAvailable": true}, "@tootallnate/once": {"name": "@tootallnate/once", "severity": "low", "isDirect": false, "via": [{"source": 1113977, "name": "@tootallnate/once", "dependency": "@tootallnate/once", "title": "@tootallnate/once vulnerable to Incorrect Control Flow Scoping", "url": "https://github.com/advisories/GHSA-vpq2-c234-7xj6", "severity": "low", "cwe": ["CWE-705"], "cvss": {"score": 3.3, "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:L"}, "range": "<3.0.1"}], "effects": ["http-proxy-agent"], "range": "<3.0.1", "nodes": ["node_modules/@tootallnate/once"], "fixAvailable": {"name": "jest-environment-jsdom", "version": "30.4.1", "isSemVerMajor": true}}, "fast-uri": {"name": "fast-uri", "severity": "high", "isDirect": false, "via": [{"source": 1117870, "name": "fast-uri", "dependency": "fast-uri", "title": "fast-uri vulnerable to path traversal via percent-encoded dot segments", "url": "https://github.com/advisories/GHSA-q3j6-qgpj-74h6", "severity": "high", "cwe": ["CWE-22"], "cvss": {"score": 7.5, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N"}, "range": "<=3.1.0"}, {"source": 1117884, "name": "fast-uri", "dependency": "fast-uri", "title": "fast-uri vulnerable to host confusion via percent-encoded authority delimiters", "url": "https://github.com/advisories/GHSA-v39h-62p7-jpjc", "severity": "high", "cwe": ["CWE-436"], "cvss": {"score": 7.5, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N"}, "range": "<=3.1.1"}], "effects": [], "range": "<=3.1.1", "nodes": [""], "fixAvailable": true}, "http-proxy-agent": {"name": "http-proxy-agent", "severity": "low", "isDirect": false, "via": ["@tootallnate/once"], "effects": ["jsdom"], "range": "4.0.1 - 5.0.0", "nodes": ["node_modules/http-proxy-agent"], "fixAvailable": {"name": "jest-environment-jsdom", "version": "30.4.1", "isSemVerMajor": true}}, "jest-environment-jsdom": {"name": "jest-environment-jsdom", "severity": "low", "isDirect": true, "via": ["jsdom"], "effects": [], "range": "27.0.1 - 30.0.0-rc.1", "nodes": ["node_modules/jest-environment-jsdom"], "fixAvailable": {"name": "jest-environment-jsdom", "version": "30.4.1", "isSemVerMajor": true}}, "jsdom": {"name": "jsdom", "severity": "low", "isDirect": false, "via": ["http-proxy-agent"], "effects": ["jest-environment-jsdom"], "range": "16.6.0 - 22.1.0", "nodes": ["node_modules/jsdom"], "fixAvailable": {"name": "jest-environment-jsdom", "version": "30.4.1", "isSemVerMajor": true}}}, "metadata": {"vulnerabilities": {"info": 0, "low": 4, "moderate": 0, "high": 2, "critical": 0, "total": 6}, "dependencies": {"prod": 1, "dev": 1045, "optional": 3, "peer": 1, "peerOptional": 0, "total": 1045}}}}
$ /usr/bin/npm audit fix --only=dev
--- stderr ---
npm WARN invalid config only="dev" set in command line options
npm WARN invalid config Must be one of: null, prod, production
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: '@wikimedia/codex@2.4.0',
npm WARN EBADENGINE   required: { node: '>=20.19.1', npm: '>=10.8.2' },
npm WARN EBADENGINE   current: { node: 'v20.19.2', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: '@wikimedia/codex-icons@2.4.0',
npm WARN EBADENGINE   required: { node: '>=20.19.1', npm: '>=10.8.2' },
npm WARN EBADENGINE   current: { node: 'v20.19.2', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN deprecated osenv@0.1.5: This package is no longer supported.
npm WARN deprecated inflight@1.0.6: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.
npm WARN deprecated @humanwhocodes/config-array@0.13.0: Use @eslint/config-array instead
npm WARN deprecated rimraf@3.0.2: Rimraf versions prior to v4 are no longer supported
npm WARN deprecated abab@2.0.6: Use your platform's native atob() and btoa() methods instead
npm WARN deprecated @humanwhocodes/object-schema@2.0.3: Use @eslint/object-schema instead
npm WARN deprecated glob@7.1.7: Glob versions prior to v9 are no longer supported
npm WARN deprecated domexception@4.0.0: Use your platform's native DOMException instead
npm WARN deprecated eslint@8.57.1: This version is no longer supported. Please see https://eslint.org/version-support for other options.
--- stdout ---

added 1044 packages, and audited 1045 packages in 10s

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

# npm audit report

@tootallnate/once  <3.0.1
@tootallnate/once vulnerable to Incorrect Control Flow Scoping - https://github.com/advisories/GHSA-vpq2-c234-7xj6
fix available via `npm audit fix --force`
Will install jest-environment-jsdom@30.4.1, which is a breaking change
node_modules/@tootallnate/once
  http-proxy-agent  4.0.1 - 5.0.0
  Depends on vulnerable versions of @tootallnate/once
  node_modules/http-proxy-agent
    jsdom  16.6.0 - 22.1.0
    Depends on vulnerable versions of http-proxy-agent
    node_modules/jsdom
      jest-environment-jsdom  27.0.1 - 30.0.0-rc.1
      Depends on vulnerable versions of jsdom
      node_modules/jest-environment-jsdom

4 low severity vulnerabilities

To address all issues (including breaking changes), run:
  npm audit fix --force

--- end ---
Verifying that tests still pass
$ /usr/bin/npm ci
--- stderr ---
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: '@wikimedia/codex@2.4.0',
npm WARN EBADENGINE   required: { node: '>=20.19.1', npm: '>=10.8.2' },
npm WARN EBADENGINE   current: { node: 'v20.19.2', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: '@wikimedia/codex-icons@2.4.0',
npm WARN EBADENGINE   required: { node: '>=20.19.1', npm: '>=10.8.2' },
npm WARN EBADENGINE   current: { node: 'v20.19.2', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN deprecated osenv@0.1.5: This package is no longer supported.
npm WARN deprecated inflight@1.0.6: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.
npm WARN deprecated @humanwhocodes/config-array@0.13.0: Use @eslint/config-array instead
npm WARN deprecated rimraf@3.0.2: Rimraf versions prior to v4 are no longer supported
npm WARN deprecated abab@2.0.6: Use your platform's native atob() and btoa() methods instead
npm WARN deprecated @humanwhocodes/object-schema@2.0.3: Use @eslint/object-schema instead
npm WARN deprecated glob@7.1.7: Glob versions prior to v9 are no longer supported
npm WARN deprecated domexception@4.0.0: Use your platform's native DOMException instead
npm WARN deprecated eslint@8.57.1: This version is no longer supported. Please see https://eslint.org/version-support for other options.
--- stdout ---

added 1044 packages, and audited 1045 packages in 13s

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

4 low severity vulnerabilities

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/deletionProposeOptions.test.js
  ● Console

    console.warn
      [Vue warn]: Component is missing template or render function:  {
        name: 'DeletionProposeOptions',
        components: {
          CdxTextInput: {
            name: 'CdxTextInput',
            components: [Object],
            inheritAttrs: false,
            props: [Object],
            emits: [Array],
            setup: [Function: setup],
            methods: [Object],
            render: [Function: ws]
          },
          CdxChipInput: {
            name: 'CdxChipInput',
            components: [Object],
            inheritAttrs: false,
            props: [Object],
            emits: [Array],
            setup: [Function: setup],
            render: [Function: ja]
          },
          CdxToggleSwitch: {
            name: 'CdxToggleSwitch',
            components: [Object],
            inheritAttrs: false,
            props: [Object],
            emits: [Array],
            setup: [Function: setup],
            render: [Function: ud]
          },
          CdxMessage: {
            name: 'CdxMessage',
            components: [Object],
            props: [Object],
            emits: [Array],
            setup: [Function: setup],
            render: [Function: Hs]
          },
          CdxField: {
            name: 'CdxField',
            components: [Object],
            props: [Object],
            setup: [Function: setup],
            render: [Function: Xs]
          },
          CdxButton: {
            name: 'CdxButton',
            props: [Object],
            emits: [Array],
            setup: [Function: setup],
            render: [Function: cl]
          }
        },
        setup: [Function: setup],
        data: [Function: data],
        methods: { saveConfiguration: [Function: saveConfiguration] }
      } 
        at <DeletionProposeOptions ref="VTU_COMPONENT" > 
        at <VTUROOT>

      52 | describe( 'DeletionProposeOptions Component Tests', () => {
      53 |
    > 54 |     const wrapper = mount( DeletionProposeOptions );
         |                     ^
      55 |
      56 |     it( 'Should exist DeletionProposeOptions', () => {
      57 |         expect( wrapper.exists() ).toBe( true );

      at warn$1 (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:53:13)
      at finishComponentSetup (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7973:7)
      at handleSetupResult (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7912:3)
      at setupStatefulComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7881:7)
      at setupComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7809:36)
      at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5159:7)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
      at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5269:11)
      at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
      at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
      at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
      at render (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5922:7)
      at mount (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3922:13)
      at Object.app.mount (node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.js:1703:19)
      at mount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8415:18)
      at tests/jest/deletionProposeOptions.test.js:54:21
      at Object.<anonymous> (tests/jest/deletionProposeOptions.test.js:52:1)

PASS tests/jest/createSpeedyDeletionOptions.test.js
  ● Console

    console.warn
      [Vue warn]: Component is missing template or render function:  {
        name: 'CreateSpeedyDeletionOptions',
        components: {
          CdxChipInput: {
            name: 'CdxChipInput',
            components: [Object],
            inheritAttrs: false,
            props: [Object],
            emits: [Array],
            setup: [Function: setup],
            render: [Function: ja]
          },
          CdxTextInput: {
            name: 'CdxTextInput',
            components: [Object],
            inheritAttrs: false,
            props: [Object],
            emits: [Array],
            setup: [Function: setup],
            methods: [Object],
            render: [Function: ws]
          },
          CdxMessage: {
            name: 'CdxMessage',
            components: [Object],
            props: [Object],
            emits: [Array],
            setup: [Function: setup],
            render: [Function: Hs]
          },
          CdxField: {
            name: 'CdxField',
            components: [Object],
            props: [Object],
            setup: [Function: setup],
            render: [Function: Xs]
          },
          CdxRadio: {
            name: 'CdxRadio',
            components: [Object],
            props: [Object],
            emits: [Array],
            setup: [Function: setup],
            render: [Function: Li]
          },
          CdxButton: {
            name: 'CdxButton',
            props: [Object],
            emits: [Array],
            setup: [Function: setup],
            render: [Function: cl]
          },
          CdxToggleSwitch: {
            name: 'CdxToggleSwitch',
            components: [Object],
            inheritAttrs: false,
            props: [Object],
            emits: [Array],
            setup: [Function: setup],
            render: [Function: ud]
          },
          CdxTable: {
            name: 'CdxTable',
            components: [Object],
            props: [Object],
            emits: [Array],
            setup: [Function: setup],
            render: [Function: xr]
          },
          CdxIcon: {
            name: 'CdxIcon',
            props: [Object],
            setup: [Function: setup],
            render: [Function: al]
          }
        },
        setup: [Function: setup],
        data: [Function: data],
        methods: {
          isNamespaceDisabled: [Function: isNamespaceDisabled],
          addNewNameSpace: [Function: addNewNameSpace],
          deleteNameSpace: [Function: deleteNameSpace],
          addNewReason: [Function: addNewReason],
          deleteReason: [Function: deleteReason],
          saveConfiguration: [Function: saveConfiguration]
        }
      } 
        at <CreateSpeedyDeletionOptions ref="VTU_COMPONENT" > 
        at <VTUROOT>

      61 | describe( 'CreateSpeedyDeletionOptions Component Tests', () => {
      62 |
    > 63 |     const wrapper = mount( CreateSpeedyDeletionOptions );
         |                     ^
      64 |
      65 |     it( 'Should exist CreateSpeedyDeletionOptions', () => {
      66 |         expect( wrapper.exists() ).toBe( true );

      at warn$1 (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:53:13)
      at finishComponentSetup (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7973:7)
      at handleSetupResult (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7912:3)
      at setupStatefulComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7881:7)
      at setupComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7809:36)
      at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5159:7)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
      at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5269:11)
      at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
      at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
      at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
      at render (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5922:7)
      at mount (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3922:13)
      at Object.app.mount (node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.js:1703:19)
      at mount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8415:18)
      at tests/jest/createSpeedyDeletionOptions.test.js:63:21
      at Object.<anonymous> (tests/jest/createSpeedyDeletionOptions.test.js:61:1)

PASS tests/jest/articleTagging.test.js
  ● Console

    console.warn
      [Vue warn]: Component is missing template or render function:  {
        name: 'ArticleTagging',
        components: {
          CdxDialog: {
            name: 'CdxDialog',
            components: [Object],
            inheritAttrs: false,
            props: [Object],
            emits: [Array],
            setup: [Function: setup],
            render: [Function: Os]
          },
          CdxCheckbox: {
            name: 'CdxCheckbox',
            components: [Object],
            props: [Object],
            emits: [Array],
            setup: [Function: setup],
            render: [Function: Ql]
          },
          CdxField: {
            name: 'CdxField',
            components: [Object],
            props: [Object],
            setup: [Function: setup],
            render: [Function: Xs]
          },
          CdxTextInput: {
            name: 'CdxTextInput',
            components: [Object],
            inheritAttrs: false,
            props: [Object],
            emits: [Array],
            setup: [Function: setup],
            methods: [Object],
            render: [Function: ws]
          },
          CdxMessage: {
            name: 'CdxMessage',
            components: [Object],
            props: [Object],
            emits: [Array],
            setup: [Function: setup],
            render: [Function: Hs]
          }
        },
        setup: [Function: setup]
      } 
        at <ArticleTagging ref="VTU_COMPONENT" > 
        at <VTUROOT>

      39 | describe( 'ArticleTagging', () => {
      40 |     it( 'initializes with default values', () => {
    > 41 |         const wrapper = mount( ArticleTagging );
         |                         ^
      42 |         expect( wrapper.vm.openTagDialog ).toBe( true );
      43 |         expect( wrapper.vm.primaryAction.label ).toBe( 'translated message' );
      44 |     } );

      at warn$1 (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:53:13)
      at finishComponentSetup (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7973:7)
      at handleSetupResult (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7912:3)
      at setupStatefulComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7881:7)
      at setupComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7809:36)
      at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5159:7)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
      at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5269:11)
      at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
      at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
      at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
      at render (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5922:7)
      at mount (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3922:13)
      at Object.app.mount (node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.js:1703:19)
      at mount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8415:18)
      at Object.<anonymous> (tests/jest/articleTagging.test.js:41:25)

    console.warn
      [Vue warn]: Component is missing template or render function:  {
        name: 'ArticleTagging',
        components: {
          CdxDialog: {
            name: 'CdxDialog',
            components: [Object],
            inheritAttrs: false,
            props: [Object],
            emits: [Array],
            setup: [Function: setup],
            render: [Function: Os]
          },
          CdxCheckbox: {
            name: 'CdxCheckbox',
            components: [Object],
            props: [Object],
            emits: [Array],
            setup: [Function: setup],
            render: [Function: Ql]
          },
          CdxField: {
            name: 'CdxField',
            components: [Object],
            props: [Object],
            setup: [Function: setup],
            render: [Function: Xs]
          },
          CdxTextInput: {
            name: 'CdxTextInput',
            components: [Object],
            inheritAttrs: false,
            props: [Object],
            emits: [Array],
            setup: [Function: setup],
            methods: [Object],
            render: [Function: ws]
          },
          CdxMessage: {
            name: 'CdxMessage',
            components: [Object],
            props: [Object],
            emits: [Array],
            setup: [Function: setup],
            render: [Function: Hs]
          }
        },
        setup: [Function: setup]
      } 
        at <ArticleTagging ref="VTU_COMPONENT" > 
        at <VTUROOT>

      88 |
      89 |     it( 'notifies when tagArticle is called with no selected tags', async () => {
    > 90 |         const wrapper = mount( ArticleTagging );
         |                         ^
      91 |
      92 |         await wrapper.vm.tagArticle();
      93 |

      at warn$1 (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:53:13)
      at finishComponentSetup (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7973:7)
      at handleSetupResult (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7912:3)
      at setupStatefulComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7881:7)
      at setupComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7809:36)
      at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5159:7)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
      at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5269:11)
      at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
      at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
      at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
      at render (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5922:7)
      at mount (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3922:13)
      at Object.app.mount (node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.js:1703:19)
      at mount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8415:18)
      at Object.<anonymous> (tests/jest/articleTagging.test.js:90:25)

    console.warn
      [Vue warn]: Component is missing template or render function:  {
        name: 'ArticleTagging',
        components: {
          CdxDialog: {
            name: 'CdxDialog',
            components: [Object],
            inheritAttrs: false,
            props: [Object],
            emits: [Array],
            setup: [Function: setup],
            render: [Function: Os]
          },
          CdxCheckbox: {
            name: 'CdxCheckbox',
            components: [Object],
            props: [Object],
            emits: [Array],
            setup: [Function: setup],
            render: [Function: Ql]
          },
          CdxField: {
            name: 'CdxField',
            components: [Object],
            props: [Object],
            setup: [Function: setup],
            render: [Function: Xs]
          },
          CdxTextInput: {
            name: 'CdxTextInput',
            components: [Object],
            inheritAttrs: false,
            props: [Object],
            emits: [Array],
            setup: [Function: setup],
            methods: [Object],
            render: [Function: ws]
          },
          CdxMessage: {
            name: 'CdxMessage',
            components: [Object],
            props: [Object],
            emits: [Array],
            setup: [Function: setup],
            render: [Function: Hs]
          }
        },
        setup: [Function: setup]
      } 
        at <ArticleTagging ref="VTU_COMPONENT" > 
        at <VTUROOT>

      105 |         } ) );
      106 |
    > 107 |         const wrapper = mount( ArticleTagging );
          |                         ^
      108 |
      109 |         wrapper.vm.selectedTags = [
      110 |             {

      at warn$1 (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:53:13)
      at finishComponentSetup (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7973:7)
      at handleSetupResult (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7912:3)
      at setupStatefulComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7881:7)
      at setupComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7809:36)
      at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5159:7)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
      at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5269:11)
      at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
      at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
      at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
      at render (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5922:7)
      at mount (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3922:13)
      at Object.app.mount (node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.js:1703:19)
      at mount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8415:18)
      at Object.<anonymous> (tests/jest/articleTagging.test.js:107:25)

PASS tests/jest/articleTaggingOptions.test.js
  ● Console

    console.warn
      [Vue warn]: Component is missing template or render function:  {
        name: 'ArticleTaggingOptions',
        components: {
          CdxTextInput: {
            name: 'CdxTextInput',
            components: [Object],
            inheritAttrs: false,
            props: [Object],
            emits: [Array],
            setup: [Function: setup],
            methods: [Object],
            render: [Function: ws]
          },
          CdxChipInput: {
            name: 'CdxChipInput',
            components: [Object],
            inheritAttrs: false,
            props: [Object],
            emits: [Array],
            setup: [Function: setup],
            render: [Function: ja]
          },
          CdxToggleSwitch: {
            name: 'CdxToggleSwitch',
            components: [Object],
            inheritAttrs: false,
            props: [Object],
            emits: [Array],
            setup: [Function: setup],
            render: [Function: ud]
          },
          CdxField: {
            name: 'CdxField',
            components: [Object],
            props: [Object],
            setup: [Function: setup],
            render: [Function: Xs]
          },
          CdxButton: {
            name: 'CdxButton',
            props: [Object],
            emits: [Array],
            setup: [Function: setup],
            render: [Function: cl]
          }
        },
        setup: [Function: setup],
        data: [Function: data],
        methods: {
          addNewTagLabel: [Function: addNewTagLabel],
          deleteLabel: [Function: deleteLabel],
          addNewTag: [Function: addNewTag],
          deleteTag: [Function: deleteTag],
          addNewSubitem: [Function: addNewSubitem],
          deleteSubitem: [Function: deleteSubitem],
          generateTemplateOutput: [Function: generateTemplateOutput],
          saveConfiguration: [Function: saveConfiguration]
        }
      } 
        at <ArticleTaggingOptions ref="VTU_COMPONENT" > 
        at <VTUROOT>

      50 | describe( 'ArticleTaggingOptions Component Tests', () => {
      51 |
    > 52 |     const wrapper = mount( ArticleTaggingOptions );
         |                     ^
      53 |
      54 |     it( 'Should exist ArticleTaggingOptions', () => {
      55 |         expect( wrapper.exists() ).toBe( true );

      at warn$1 (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:53:13)
      at finishComponentSetup (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7973:7)
      at handleSetupResult (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7912:3)
      at setupStatefulComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7881:7)
      at setupComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7809:36)
      at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5159:7)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
      at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5269:11)
      at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
      at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
      at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
      at render (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5922:7)
      at mount (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3922:13)
      at Object.app.mount (node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.js:1703:19)
      at mount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8415:18)
      at tests/jest/articleTaggingOptions.test.js:52:21
      at Object.<anonymous> (tests/jest/articleTaggingOptions.test.js:50:1)

PASS tests/jest/deletionPropose.test.js
  ● Console

    console.warn
      [Vue warn]: Component is missing template or render function:  {
        name: 'ProposeDeletion',
        components: {
          CdxRadio: {
            name: 'CdxRadio',
            components: [Object],
            props: [Object],
            emits: [Array],
            setup: [Function: setup],
            render: [Function: Li]
          },
          CdxDialog: {
            name: 'CdxDialog',
            components: [Object],
            inheritAttrs: false,
            props: [Object],
            emits: [Array],
            setup: [Function: setup],
            render: [Function: Os]
          },
          CdxCheckbox: {
            name: 'CdxCheckbox',
            components: [Object],
            props: [Object],
            emits: [Array],
            setup: [Function: setup],
            render: [Function: Ql]
          },
          CdxField: {
            name: 'CdxField',
            components: [Object],
            props: [Object],
            setup: [Function: setup],
            render: [Function: Xs]
          },
          CdxTextArea: {
            name: 'CdxTextArea',
            components: [Object],
            inheritAttrs: false,
            props: [Object],
            emits: [Array],
            setup: [Function: setup],
            methods: [Object],
            render: [Function: Hr]
          }
        },
        setup: [Function: setup]
      } 
        at <ProposeDeletion ref="VTU_COMPONENT" > 
        at <VTUROOT>

      58 |
      59 | describe( 'ProposeDeletion', () => {
    > 60 |     const wrapper = mount( deletionPropose );
         |                     ^
      61 |     it( 'initializes with default values', () => {
      62 |         expect( wrapper.vm.openPrdDialog ).toBe( true );
      63 |     } );

      at warn$1 (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:53:13)
      at finishComponentSetup (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7973:7)
      at handleSetupResult (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7912:3)
      at setupStatefulComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7881:7)
      at setupComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7809:36)
      at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5159:7)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
      at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5269:11)
      at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
      at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
      at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
      at render (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5922:7)
      at mount (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3922:13)
      at Object.app.mount (node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.js:1703:19)
      at mount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8415:18)
      at tests/jest/deletionPropose.test.js:60:21
      at Object.<anonymous> (tests/jest/deletionPropose.test.js:59:1)

PASS tests/jest/requestPageProtectionOptions.test.js
  ● Console

    console.warn
      [Vue warn]: Component is missing template or render function:  {
        name: 'RequestPageProtectionOptions',
        components: {
          CdxTextInput: {
            name: 'CdxTextInput',
            components: [Object],
            inheritAttrs: false,
            props: [Object],
            emits: [Array],
            setup: [Function: setup],
            methods: [Object],
            render: [Function: ws]
          },
          CdxChipInput: {
            name: 'CdxChipInput',
            components: [Object],
            inheritAttrs: false,
            props: [Object],
            emits: [Array],
            setup: [Function: setup],
            render: [Function: ja]
          },
          CdxMessage: {
            name: 'CdxMessage',
            components: [Object],
            props: [Object],
            emits: [Array],
            setup: [Function: setup],
            render: [Function: Hs]
          },
          CdxToggleSwitch: {
            name: 'CdxToggleSwitch',
            components: [Object],
            inheritAttrs: false,
            props: [Object],
            emits: [Array],
            setup: [Function: setup],
            render: [Function: ud]
          },
          CdxField: {
            name: 'CdxField',
            components: [Object],
            props: [Object],
            setup: [Function: setup],
            render: [Function: Xs]
          },
          CdxButton: {
            name: 'CdxButton',
            props: [Object],
            emits: [Array],
            setup: [Function: setup],
            render: [Function: cl]
          },
          CdxRadio: {
            name: 'CdxRadio',
            components: [Object],
            props: [Object],
            emits: [Array],
            setup: [Function: setup],
            render: [Function: Li]
          },
          CdxTextArea: {
            name: 'CdxTextArea',
            components: [Object],
            inheritAttrs: false,
            props: [Object],
            emits: [Array],
            setup: [Function: setup],
            methods: [Object],
            render: [Function: Hr]
          },
          CdxTable: {
            name: 'CdxTable',
            components: [Object],
            props: [Object],
            emits: [Array],
            setup: [Function: setup],
            render: [Function: xr]
          },
          CdxIcon: {
            name: 'CdxIcon',
            props: [Object],
            setup: [Function: setup],
            render: [Function: al]
          }
        },
        setup: [Function: setup],
        data: [Function: data],
        methods: {
          addNewProtectionDuration: [Function: addNewProtectionDuration],
          addNewProtectionType: [Function: addNewProtectionType],
          deleteProtectionDuration: [Function: deleteProtectionDuration],
          deleteProtectionType: [Function: deleteProtectionType],
          saveConfiguration: [Function: saveConfiguration]
        }
      } 
        at <RequestPageProtectionOptions ref="VTU_COMPONENT" > 
        at <VTUROOT>

      53 | describe( 'RequestPageProtectionOptions Component Tests', () => {
      54 |
    > 55 |     const wrapper = mount( RequestPageProtectionOptions );
         |                     ^
      56 |
      57 |     it( 'Should exist RequestPageProtectionOptions', () => {
      58 |         expect( wrapper.exists() ).toBe( true );

      at warn$1 (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:53:13)
      at finishComponentSetup (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7973:7)
      at handleSetupResult (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7912:3)
      at setupStatefulComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7881:7)
      at setupComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7809:36)
      at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5159:7)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
      at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5269:11)
      at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
      at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
      at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
      at render (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5922:7)
      at mount (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3922:13)
      at Object.app.mount (node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.js:1703:19)
      at mount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8415:18)
      at tests/jest/requestPageProtectionOptions.test.js:55:21
      at Object.<anonymous> (tests/jest/requestPageProtectionOptions.test.js:53:1)

PASS tests/jest/requestPageMoveOptions.test.js
  ● Console

    console.warn
      [Vue warn]: Component is missing template or render function:  {
        name: 'RequestPageMove',
        components: {
          CdxTextInput: {
            name: 'CdxTextInput',
            components: [Object],
            inheritAttrs: false,
            props: [Object],
            emits: [Array],
            setup: [Function: setup],
            methods: [Object],
            render: [Function: ws]
          },
          CdxChipInput: {
            name: 'CdxChipInput',
            components: [Object],
            inheritAttrs: false,
            props: [Object],
            emits: [Array],
            setup: [Function: setup],
            render: [Function: ja]
          },
          CdxMessage: {
            name: 'CdxMessage',
            components: [Object],
            props: [Object],
            emits: [Array],
            setup: [Function: setup],
            render: [Function: Hs]
          },
          CdxToggleSwitch: {
            name: 'CdxToggleSwitch',
            components: [Object],
            inheritAttrs: false,
            props: [Object],
            emits: [Array],
            setup: [Function: setup],
            render: [Function: ud]
          },
          CdxField: {
            name: 'CdxField',
            components: [Object],
            props: [Object],
            setup: [Function: setup],
            render: [Function: Xs]
          },
          CdxButton: {
            name: 'CdxButton',
            props: [Object],
            emits: [Array],
            setup: [Function: setup],
            render: [Function: cl]
          },
          CdxRadio: {
            name: 'CdxRadio',
            components: [Object],
            props: [Object],
            emits: [Array],
            setup: [Function: setup],
            render: [Function: Li]
          },
          CdxTextArea: {
            name: 'CdxTextArea',
            components: [Object],
            inheritAttrs: false,
            props: [Object],
            emits: [Array],
            setup: [Function: setup],
            methods: [Object],
            render: [Function: Hr]
          }
        },
        setup: [Function: setup],
        data: [Function: data],
        methods: { saveConfiguration: [Function: saveConfiguration] }
      } 
        at <RequestPageMove ref="VTU_COMPONENT" > 
        at <VTUROOT>

      51 | describe( 'RequestPageMoveOptions Component Tests', () => {
      52 |
    > 53 |     const wrapper = mount( RequestPageMoveOptions );
         |                     ^
      54 |
      55 |     it( 'Should exist RequestPageMoveOptions', () => {
      56 |         expect( wrapper.exists() ).toBe( true );

      at warn$1 (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:53:13)
      at finishComponentSetup (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7973:7)
      at handleSetupResult (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7912:3)
      at setupStatefulComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7881:7)
      at setupComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7809:36)
      at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5159:7)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
      at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5269:11)
      at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
      at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
      at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
      at render (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5922:7)
      at mount (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3922:13)
      at Object.app.mount (node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.js:1703:19)
      at mount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8415:18)
      at tests/jest/requestPageMoveOptions.test.js:53:21
      at Object.<anonymous> (tests/jest/requestPageMoveOptions.test.js:51:1)

PASS tests/jest/requestPageProtection.test.js
  ● Console

    console.warn
      [Vue warn]: Component is missing template or render function:  {
        name: 'RequestPageProtection',
        components: {
          CdxDialog: {
            name: 'CdxDialog',
            components: [Object],
            inheritAttrs: false,
            props: [Object],
            emits: [Array],
            setup: [Function: setup],
            render: [Function: Os]
          },
          CdxField: {
            name: 'CdxField',
            components: [Object],
            props: [Object],
            setup: [Function: setup],
            render: [Function: Xs]
          },
          CdxTextArea: {
            name: 'CdxTextArea',
            components: [Object],
            inheritAttrs: false,
            props: [Object],
            emits: [Array],
            setup: [Function: setup],
            methods: [Object],
            render: [Function: Hr]
          },
          CdxSelect: {
            name: 'CdxSelect',
            components: [Object],
            inheritAttrs: false,
            props: [Object],
            emits: [Array],
            setup: [Function: setup],
            render: [Function: Wi]
          }
        },
        setup: [Function: setup],
        data: [Function: data]
      } 
        at <RequestPageProtection ref="VTU_COMPONENT" > 
        at <VTUROOT>

      43 | describe( 'RequestPageProtection', () => {
      44 |     it( 'initializes with default values', () => {
    > 45 |         const wrapper = mount( RequestPageProtection );
         |                         ^
      46 |         expect( wrapper.vm.openRppDialog ).toBe( true );
      47 |         expect( wrapper.vm.primaryAction.label ).toBe( 'translated message' );
      48 |     } );

      at warn$1 (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:53:13)
      at finishComponentSetup (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7973:7)
      at handleSetupResult (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7912:3)
      at setupStatefulComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7881:7)
      at setupComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7809:36)
      at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5159:7)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
      at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5269:11)
      at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
      at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
      at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
      at render (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5922:7)
      at mount (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3922:13)
      at Object.app.mount (node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.js:1703:19)
      at mount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8415:18)
      at Object.<anonymous> (tests/jest/requestPageProtection.test.js:45:25)

    console.warn
      [Vue warn]: Component is missing template or render function:  {
        name: 'RequestPageProtection',
        components: {
          CdxDialog: {
            name: 'CdxDialog',
            components: [Object],
            inheritAttrs: false,
            props: [Object],
            emits: [Array],
            setup: [Function: setup],
            render: [Function: Os]
          },
          CdxField: {
            name: 'CdxField',
            components: [Object],
            props: [Object],
            setup: [Function: setup],
            render: [Function: Xs]
          },
          CdxTextArea: {
            name: 'CdxTextArea',
            components: [Object],
            inheritAttrs: false,
            props: [Object],
            emits: [Array],
            setup: [Function: setup],
            methods: [Object],
            render: [Function: Hr]
          },
          CdxSelect: {
            name: 'CdxSelect',
            components: [Object],
            inheritAttrs: false,
            props: [Object],
            emits: [Array],
            setup: [Function: setup],
            render: [Function: Wi]
          }
        },
        setup: [Function: setup],
        data: [Function: data]
      } 
        at <RequestPageProtection ref="VTU_COMPONENT" > 
        at <VTUROOT>

      55 |         } ) );
      56 |
    > 57 |         const wrapper = mount( RequestPageProtection );
         |                         ^
      58 |         wrapper.vm.durationSelection = 'temp';
      59 |         wrapper.vm.typeSelection = 'full';
      60 |         wrapper.vm.rationaleInput = 'Rationale for the protection';

      at warn$1 (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:53:13)
      at finishComponentSetup (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7973:7)
      at handleSetupResult (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7912:3)
      at setupStatefulComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7881:7)
      at setupComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7809:36)
      at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5159:7)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
      at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5269:11)
      at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
      at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
      at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
      at render (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5922:7)
      at mount (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3922:13)
      at Object.app.mount (node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.js:1703:19)
      at mount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8415:18)
      at Object.<anonymous> (tests/jest/requestPageProtection.test.js:57:25)

PASS tests/jest/requestPageMove.test.js
  ● Console

    console.warn
      [Vue warn]: Component is missing template or render function:  {
        name: 'RequestPageMove',
        components: {
          CdxDialog: {
            name: 'CdxDialog',
            components: [Object],
            inheritAttrs: false,
            props: [Object],
            emits: [Array],
            setup: [Function: setup],
            render: [Function: Os]
          },
          CdxField: {
            name: 'CdxField',
            components: [Object],
            props: [Object],
            setup: [Function: setup],
            render: [Function: Xs]
          },
          CdxTextInput: {
            name: 'CdxTextInput',
            components: [Object],
            inheritAttrs: false,
            props: [Object],
            emits: [Array],
            setup: [Function: setup],
            methods: [Object],
            render: [Function: ws]
          },
          CdxTextArea: {
            name: 'CdxTextArea',
            components: [Object],
            inheritAttrs: false,
            props: [Object],
            emits: [Array],
            setup: [Function: setup],
            methods: [Object],
            render: [Function: Hr]
          }
        },
        setup: [Function: setup]
      } 
        at <RequestPageMove ref="VTU_COMPONENT" > 
        at <VTUROOT>

      39 | describe( 'RequestPageMove', () => {
      40 |     it( 'initializes with default values', () => {
    > 41 |         const wrapper = mount( RequestPageMove );
         |                         ^
      42 |         expect( wrapper.vm.openRpmDialog ).toBe( true );
      43 |         expect( wrapper.vm.primaryAction.label ).toBe( 'translated message' );
      44 |     } );

      at warn$1 (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:53:13)
      at finishComponentSetup (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7973:7)
      at handleSetupResult (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7912:3)
      at setupStatefulComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7881:7)
      at setupComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7809:36)
      at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5159:7)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
      at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5269:11)
      at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
      at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
      at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
      at render (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5922:7)
      at mount (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3922:13)
      at Object.app.mount (node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.js:1703:19)
      at mount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8415:18)
      at Object.<anonymous> (tests/jest/requestPageMove.test.js:41:25)

    console.warn
      [Vue warn]: Component is missing template or render function:  {
        name: 'RequestPageMove',
        components: {
          CdxDialog: {
            name: 'CdxDialog',
            components: [Object],
            inheritAttrs: false,
            props: [Object],
            emits: [Array],
            setup: [Function: setup],
            render: [Function: Os]
          },
          CdxField: {
            name: 'CdxField',
            components: [Object],
            props: [Object],
            setup: [Function: setup],
            render: [Function: Xs]
          },
          CdxTextInput: {
            name: 'CdxTextInput',
            components: [Object],
            inheritAttrs: false,
            props: [Object],
            emits: [Array],
            setup: [Function: setup],
            methods: [Object],
            render: [Function: ws]
          },
          CdxTextArea: {
            name: 'CdxTextArea',
            components: [Object],
            inheritAttrs: false,
            props: [Object],
            emits: [Array],
            setup: [Function: setup],
            methods: [Object],
            render: [Function: Hr]
          }
        },
        setup: [Function: setup]
      } 
        at <RequestPageMove ref="VTU_COMPONENT" > 
        at <VTUROOT>

      51 |         } ) );
      52 |
    > 53 |         const wrapper = mount( RequestPageMove );
         |                         ^
      54 |         wrapper.vm.newPageName = 'New Mock Page Name';
      55 |         wrapper.vm.rationaleInput = 'Rationale for the move';
      56 |

      at warn$1 (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:53:13)
      at finishComponentSetup (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7973:7)
      at handleSetupResult (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7912:3)
      at setupStatefulComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7881:7)
      at setupComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7809:36)
      at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5159:7)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
      at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5269:11)
      at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
      at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
      at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
      at render (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5922:7)
      at mount (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3922:13)
      at Object.app.mount (node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.js:1703:19)
      at mount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8415:18)
      at Object.<anonymous> (tests/jest/requestPageMove.test.js:53:25)

PASS tests/jest/adiutorSettings.test.js
  ● Console

    console.warn
      [Vue warn]: Component is missing template or render function:  {
        name: 'AdiutorSettings',
        components: {
          CdxTabs: {
            name: 'CdxTabs',
            components: [Object],
            props: [Object],
            emits: [Array],
            setup: [Function: setup],
            methods: [Object],
            render: [Function: Pr]
          },
          CdxTab: {
            name: 'CdxTab',
            props: [Object],
            setup: [Function: setup],
            render: [Function: Xi]
          },
          createSpeedyDeletionOptions: {
            name: 'CreateSpeedyDeletionOptions',
            components: [Object],
            setup: [Function: setup],
            data: [Function: data],
            methods: [Object]
          },
          requestPageProtectionOptions: {
            name: 'RequestPageProtectionOptions',
            components: [Object],
            setup: [Function: setup],
            data: [Function: data],
            methods: [Object]
          },
          requestPageMoveOptions: {
            name: 'RequestPageMove',
            components: [Object],
            setup: [Function: setup],
            data: [Function: data],
            methods: [Object]
          },
          deletionProposeOptions: {
            name: 'DeletionProposeOptions',
            components: [Object],
            setup: [Function: setup],
            data: [Function: data],
            methods: [Object]
          },
          articleTaggingOptions: {
            name: 'ArticleTaggingOptions',
            components: [Object],
            setup: [Function: setup],
            data: [Function: data],
            methods: [Object]
          },
          reportRevisionOptions: {
            name: 'ReportRevisionOptions',
            components: [Object],
            setup: [Function: setup],
            data: [Function: data],
            methods: [Object]
          }
        },
        props: { framed: { type: [Function: Boolean], default: false } },
        data: [Function: data]
      } 
        at <AdiutorSettings framed=true ref="VTU_COMPONENT" > 
        at <VTUROOT>

      101 |     beforeEach( () => {
      102 |
    > 103 |         wrapper = mount( AdiutorSettings, {
          |                   ^
      104 |             global: {
      105 |                 stubs: {
      106 |                     createSpeedyDeletionOptions: true,

      at warn$1 (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:53:13)
      at finishComponentSetup (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7973:7)
      at setupStatefulComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7884:5)
      at setupComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7809:36)
      at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5159:7)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
      at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5269:11)
      at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
      at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
      at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
      at render (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5922:7)
      at mount (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3922:13)
      at Object.app.mount (node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.js:1703:19)
      at mount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8415:18)
      at Object.<anonymous> (tests/jest/adiutorSettings.test.js:103:19)

    console.warn
      [Vue warn]: Component is missing template or render function:  {
        name: 'AdiutorSettings',
        components: {
          CdxTabs: {
            name: 'CdxTabs',
            components: [Object],
            props: [Object],
            emits: [Array],
            setup: [Function: setup],
            methods: [Object],
            render: [Function: Pr]
          },
          CdxTab: {
            name: 'CdxTab',
            props: [Object],
            setup: [Function: setup],
            render: [Function: Xi]
          },
          createSpeedyDeletionOptions: {
            name: 'CreateSpeedyDeletionOptions',
            components: [Object],
            setup: [Function: setup],
            data: [Function: data],
            methods: [Object]
          },
          requestPageProtectionOptions: {
            name: 'RequestPageProtectionOptions',
            components: [Object],
            setup: [Function: setup],
            data: [Function: data],
            methods: [Object]
          },
          requestPageMoveOptions: {
            name: 'RequestPageMove',
            components: [Object],
            setup: [Function: setup],
            data: [Function: data],
            methods: [Object]
          },
          deletionProposeOptions: {
            name: 'DeletionProposeOptions',
            components: [Object],
            setup: [Function: setup],
            data: [Function: data],
            methods: [Object]
          },
          articleTaggingOptions: {
            name: 'ArticleTaggingOptions',
            components: [Object],
            setup: [Function: setup],
            data: [Function: data],
            methods: [Object]
          },
          reportRevisionOptions: {
            name: 'ReportRevisionOptions',
            components: [Object],
            setup: [Function: setup],
            data: [Function: data],
            methods: [Object]
          }
        },
        props: { framed: { type: [Function: Boolean], default: false } },
        data: [Function: data]
      } 
        at <AdiutorSettings framed=true ref="VTU_COMPONENT" > 
        at <VTUROOT>

      101 |     beforeEach( () => {
      102 |
    > 103 |         wrapper = mount( AdiutorSettings, {
          |                   ^
      104 |             global: {
      105 |                 stubs: {
      106 |                     createSpeedyDeletionOptions: true,

      at warn$1 (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:53:13)
      at finishComponentSetup (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7973:7)
      at setupStatefulComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7884:5)
      at setupComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7809:36)
      at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5159:7)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
      at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5269:11)
      at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
      at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
      at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
      at render (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5922:7)
      at mount (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3922:13)
      at Object.app.mount (node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.js:1703:19)
      at mount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8415:18)
      at Object.<anonymous> (tests/jest/adiutorSettings.test.js:103:19)

    console.warn
      [Vue warn]: Component is missing template or render function:  {
        name: 'AdiutorSettings',
        components: {
          CdxTabs: {
            name: 'CdxTabs',
            components: [Object],
            props: [Object],
            emits: [Array],
            setup: [Function: setup],
            methods: [Object],
            render: [Function: Pr]
          },
          CdxTab: {
            name: 'CdxTab',
            props: [Object],
            setup: [Function: setup],
            render: [Function: Xi]
          },
          createSpeedyDeletionOptions: {
            name: 'CreateSpeedyDeletionOptions',
            components: [Object],
            setup: [Function: setup],
            data: [Function: data],
            methods: [Object]
          },
          requestPageProtectionOptions: {
            name: 'RequestPageProtectionOptions',
            components: [Object],
            setup: [Function: setup],
            data: [Function: data],
            methods: [Object]
          },
          requestPageMoveOptions: {
            name: 'RequestPageMove',
            components: [Object],
            setup: [Function: setup],
            data: [Function: data],
            methods: [Object]
          },
          deletionProposeOptions: {
            name: 'DeletionProposeOptions',
            components: [Object],
            setup: [Function: setup],
            data: [Function: data],
            methods: [Object]
          },
          articleTaggingOptions: {
            name: 'ArticleTaggingOptions',
            components: [Object],
            setup: [Function: setup],
            data: [Function: data],
            methods: [Object]
          },
          reportRevisionOptions: {
            name: 'ReportRevisionOptions',
            components: [Object],
            setup: [Function: setup],
            data: [Function: data],
            methods: [Object]
          }
        },
        props: { framed: { type: [Function: Boolean], default: false } },
        data: [Function: data]
      } 
        at <AdiutorSettings framed=true ref="VTU_COMPONENT" > 
        at <VTUROOT>

      101 |     beforeEach( () => {
      102 |
    > 103 |         wrapper = mount( AdiutorSettings, {
          |                   ^
      104 |             global: {
      105 |                 stubs: {
      106 |                     createSpeedyDeletionOptions: true,

      at warn$1 (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:53:13)
      at finishComponentSetup (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7973:7)
      at setupStatefulComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7884:5)
      at setupComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7809:36)
      at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5159:7)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
      at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5269:11)
      at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
      at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
      at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
      at render (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5922:7)
      at mount (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3922:13)
      at Object.app.mount (node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.js:1703:19)
      at mount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8415:18)
      at Object.<anonymous> (tests/jest/adiutorSettings.test.js:103:19)

    console.warn
      [Vue warn]: Component is missing template or render function:  {
        name: 'AdiutorSettings',
        components: {
          CdxTabs: {
            name: 'CdxTabs',
            components: [Object],
            props: [Object],
            emits: [Array],
            setup: [Function: setup],
            methods: [Object],
            render: [Function: Pr]
          },
          CdxTab: {
            name: 'CdxTab',
            props: [Object],
            setup: [Function: setup],
            render: [Function: Xi]
          },
          createSpeedyDeletionOptions: {
            name: 'CreateSpeedyDeletionOptions',
            components: [Object],
            setup: [Function: setup],
            data: [Function: data],
            methods: [Object]
          },
          requestPageProtectionOptions: {
            name: 'RequestPageProtectionOptions',
            components: [Object],
            setup: [Function: setup],
            data: [Function: data],
            methods: [Object]
          },
          requestPageMoveOptions: {
            name: 'RequestPageMove',
            components: [Object],
            setup: [Function: setup],
            data: [Function: data],
            methods: [Object]
          },
          deletionProposeOptions: {
            name: 'DeletionProposeOptions',
            components: [Object],
            setup: [Function: setup],
            data: [Function: data],
            methods: [Object]
          },
          articleTaggingOptions: {
            name: 'ArticleTaggingOptions',
            components: [Object],
            setup: [Function: setup],
            data: [Function: data],
            methods: [Object]
          },
          reportRevisionOptions: {
            name: 'ReportRevisionOptions',
            components: [Object],
            setup: [Function: setup],
            data: [Function: data],
            methods: [Object]
          }
        },
        props: { framed: { type: [Function: Boolean], default: false } },
        data: [Function: data]
      } 
        at <AdiutorSettings framed=true ref="VTU_COMPONENT" > 
        at <VTUROOT>

      101 |     beforeEach( () => {
      102 |
    > 103 |         wrapper = mount( AdiutorSettings, {
          |                   ^
      104 |             global: {
      105 |                 stubs: {
      106 |                     createSpeedyDeletionOptions: true,

      at warn$1 (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:53:13)
      at finishComponentSetup (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7973:7)
      at setupStatefulComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7884:5)
      at setupComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7809:36)
      at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5159:7)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
      at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5269:11)
      at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
      at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
      at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
      at render (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5922:7)
      at mount (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3922:13)
      at Object.app.mount (node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.js:1703:19)
      at mount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8415:18)
      at Object.<anonymous> (tests/jest/adiutorSettings.test.js:103:19)

    console.warn
      [Vue warn]: Component is missing template or render function:  {
        name: 'AdiutorSettings',
        components: {
          CdxTabs: {
            name: 'CdxTabs',
            components: [Object],
            props: [Object],
            emits: [Array],
            setup: [Function: setup],
            methods: [Object],
            render: [Function: Pr]
          },
          CdxTab: {
            name: 'CdxTab',
            props: [Object],
            setup: [Function: setup],
            render: [Function: Xi]
          },
          createSpeedyDeletionOptions: {
            name: 'CreateSpeedyDeletionOptions',
            components: [Object],
            setup: [Function: setup],
            data: [Function: data],
            methods: [Object]
          },
          requestPageProtectionOptions: {
            name: 'RequestPageProtectionOptions',
            components: [Object],
            setup: [Function: setup],
            data: [Function: data],
            methods: [Object]
          },
          requestPageMoveOptions: {
            name: 'RequestPageMove',
            components: [Object],
            setup: [Function: setup],
            data: [Function: data],
            methods: [Object]
          },
          deletionProposeOptions: {
            name: 'DeletionProposeOptions',
            components: [Object],
            setup: [Function: setup],
            data: [Function: data],
            methods: [Object]
          },
          articleTaggingOptions: {
            name: 'ArticleTaggingOptions',
            components: [Object],
            setup: [Function: setup],
            data: [Function: data],
            methods: [Object]
          },
          reportRevisionOptions: {
            name: 'ReportRevisionOptions',
            components: [Object],
            setup: [Function: setup],
            data: [Function: data],
            methods: [Object]
          }
        },
        props: { framed: { type: [Function: Boolean], default: false } },
        data: [Function: data]
      } 
        at <AdiutorSettings framed=true ref="VTU_COMPONENT" > 
        at <VTUROOT>

      101 |     beforeEach( () => {
      102 |
    > 103 |         wrapper = mount( AdiutorSettings, {
          |                   ^
      104 |             global: {
      105 |                 stubs: {
      106 |                     createSpeedyDeletionOptions: true,

      at warn$1 (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:53:13)
      at finishComponentSetup (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7973:7)
      at setupStatefulComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7884:5)
      at setupComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7809:36)
      at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5159:7)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
      at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5269:11)
      at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
      at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
      at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
      at render (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5922:7)
      at mount (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3922:13)
      at Object.app.mount (node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.js:1703:19)
      at mount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8415:18)
      at Object.<anonymous> (tests/jest/adiutorSettings.test.js:103:19)

PASS tests/jest/createSpeedyDeletion.test.js
  ● Console

    console.warn
      [Vue warn]: Component is missing template or render function:  {
        name: 'CreateSpeedyDeletion',
        components: {
          CdxDialog: {
            name: 'CdxDialog',
            components: [Object],
            inheritAttrs: false,
            props: [Object],
            emits: [Array],
            setup: [Function: setup],
            render: [Function: Os]
          },
          CdxCheckbox: {
            name: 'CdxCheckbox',
            components: [Object],
            props: [Object],
            emits: [Array],
            setup: [Function: setup],
            render: [Function: Ql]
          },
          CdxField: {
            name: 'CdxField',
            components: [Object],
            props: [Object],
            setup: [Function: setup],
            render: [Function: Xs]
          },
          CdxTextInput: {
            name: 'CdxTextInput',
            components: [Object],
            inheritAttrs: false,
            props: [Object],
            emits: [Array],
            setup: [Function: setup],
            methods: [Object],
            render: [Function: ws]
          },
          CdxMessage: {
            name: 'CdxMessage',
            components: [Object],
            props: [Object],
            emits: [Array],
            setup: [Function: setup],
            render: [Function: Hs]
          }
        },
        setup: [Function: setup]
      } 
        at <CreateSpeedyDeletion ref="VTU_COMPONENT" > 
        at <VTUROOT>

      36 |
      37 | describe( 'CreateSpeedyDeletion', () => {
    > 38 |     const wrapper = mount( createSpeedyDeletion );
         |                     ^
      39 |     it( 'initializes with default values', () => {
      40 |         expect( wrapper.vm.openCsdDialog ).toBe( true );
      41 |     } );

      at warn$1 (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:53:13)
      at finishComponentSetup (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7973:7)
      at handleSetupResult (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7912:3)
      at setupStatefulComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7881:7)
      at setupComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7809:36)
      at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5159:7)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
      at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5269:11)
      at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:229:19)
      at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5397:5)
      at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5172:7)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5125:9)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4654:11)
      at render (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5922:7)
      at mount (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3922:13)
      at Object.app.mount (node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.js:1703:19)
      at mount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8415:18)
      at tests/jest/createSpeedyDeletion.test.js:38:21
      at Object.<anonymous> (tests/jest/createSpeedyDeletion.test.js:37:1)


Test Suites: 11 passed, 11 total
Tests:       30 passed, 30 total
Snapshots:   0 total
Time:        7.357 s
Ran all test suites.
--- stdout ---

> test
> grunt test && npm run test:jest

Running "eslint:all" (eslint) task

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

Running "banana:Adiutor" (banana) task
>> 1 message directory checked.

Done.

> test:jest
> jest

-----------------------------------|---------|----------|---------|---------|--------------------------------------------
File                               | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s                          
-----------------------------------|---------|----------|---------|---------|--------------------------------------------
All files                          |   34.77 |    16.96 |   23.48 |   38.41 |                                            
 components                        |   34.81 |    17.14 |   22.94 |   38.74 |                                            
  adiutorSettings.vue              |      65 |        0 |   16.66 |      65 | 78-95                                      
  articleTagging.vue               |   49.46 |    27.22 |    35.1 |      50 | 71-82,93-101,147,193,337-341,423-533       
  articleTaggingOptions.vue        |   35.56 |    18.34 |    21.6 |   35.76 | 68-127,164-174,246-549                     
  createSpeedyDeletion.vue         |   47.02 |    23.33 |   31.42 |   47.05 | 6-7,115-116,123-126,163,236-387            
  createSpeedyDeletionOptions.vue  |    32.9 |    18.18 |   18.12 |   30.16 | 162-210,254-264,304-721                    
  deletionPropose.vue              |   24.33 |     8.02 |   15.47 |   55.17 | 3,89,164,212,273,300-378                   
  deletionProposeOptions.vue       |   38.11 |    18.34 |   25.47 |   43.56 | 117-127,155-366                            
  reportRevisionOptions.vue        |    3.22 |        0 |       0 |    8.14 | 2-4,59-192,223-536                         
  requestPageMove.vue              |   42.12 |       20 |   39.72 |   71.42 | 177-224                                    
  requestPageMoveOptions.vue       |    37.5 |    18.18 |   24.77 |    41.5 | 131-141,169-401                            
  requestPageProtection.vue        |   42.36 |    19.78 |   38.96 |   68.42 | 56-57,189-248                              
  requestPageProtectionOptions.vue |   34.14 |    17.54 |   19.14 |   32.51 | 146-173,216-226,266-662                    
 middlewares                       |   14.49 |        0 |   11.11 |   15.62 |                                            
  speedyDeletionMiddleware.js      |   14.49 |        0 |   11.11 |   15.62 | 16-18,38-77,89-107,125-132,145-160,183-199 
 utilities                         |   55.93 |    16.66 |   73.33 |   56.89 |                                            
  adiutorUtility.js                |   55.93 |    16.66 |   73.33 |   56.89 | 35,54,64-73,96-97,118,139,185-209,215      
-----------------------------------|---------|----------|---------|---------|--------------------------------------------

--- end ---
{"1117908": {"source": 1117908, "name": "@babel/plugin-transform-modules-systemjs", "dependency": "@babel/plugin-transform-modules-systemjs", "title": "@babel/plugin-transform-modules-systemjs generates arbitrary code when compiling malicious input", "url": "https://github.com/advisories/GHSA-fv7c-fp4j-7gwp", "severity": "high", "cwe": ["CWE-94", "CWE-843"], "cvss": {"score": 8.2, "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:H"}, "range": ">=7.12.0 <=7.29.3"}}
Upgrading n:@babel/plugin-transform-modules-systemjs from 7.25.9 -> 7.29.4
{"1117870": {"source": 1117870, "name": "fast-uri", "dependency": "fast-uri", "title": "fast-uri vulnerable to path traversal via percent-encoded dot segments", "url": "https://github.com/advisories/GHSA-q3j6-qgpj-74h6", "severity": "high", "cwe": ["CWE-22"], "cvss": {"score": 7.5, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N"}, "range": "<=3.1.0"}, "1117884": {"source": 1117884, "name": "fast-uri", "dependency": "fast-uri", "title": "fast-uri vulnerable to host confusion via percent-encoded authority delimiters", "url": "https://github.com/advisories/GHSA-v39h-62p7-jpjc", "severity": "high", "cwe": ["CWE-436"], "cvss": {"score": 7.5, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N"}, "range": "<=3.1.1"}}
Upgrading n:fast-uri from 3.0.6 -> 3.1.2
$ package-lock-lint /src/repo/package-lock.json
--- stdout ---
Checking /src/repo/package-lock.json

--- end ---
build: Updating npm dependencies

* @babel/plugin-transform-modules-systemjs: 7.25.9 → 7.29.4
  * https://github.com/advisories/GHSA-fv7c-fp4j-7gwp
* fast-uri: 3.0.6 → 3.1.2
  * https://github.com/advisories/GHSA-q3j6-qgpj-74h6
  * https://github.com/advisories/GHSA-v39h-62p7-jpjc

$ git add .
--- stdout ---

--- end ---
$ git commit -F /tmp/tmpa0hr0nhn
--- stdout ---
[master f31b571] build: Updating npm dependencies
 1 file changed, 83 insertions(+), 87 deletions(-)

--- end ---
$ git format-patch HEAD~1 --stdout
--- stdout ---
From f31b571a311ce0e6a539c3ff6d57ca8e289dae2e Mon Sep 17 00:00:00 2001
From: libraryupgrader <tools.libraryupgrader@tools.wmflabs.org>
Date: Mon, 18 May 2026 00:32:13 +0000
Subject: [PATCH] build: Updating npm dependencies
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

* @babel/plugin-transform-modules-systemjs: 7.25.9 → 7.29.4
  * https://github.com/advisories/GHSA-fv7c-fp4j-7gwp
* fast-uri: 3.0.6 → 3.1.2
  * https://github.com/advisories/GHSA-q3j6-qgpj-74h6
  * https://github.com/advisories/GHSA-v39h-62p7-jpjc

Change-Id: Ie227854f626afb3dfca5a527e8cab58bc282cd58
---
 package-lock.json | 170 ++++++++++++++++++++++------------------------
 1 file changed, 83 insertions(+), 87 deletions(-)

diff --git a/package-lock.json b/package-lock.json
index 3caeca2..370f4f8 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -39,14 +39,14 @@
 			}
 		},
 		"node_modules/@babel/code-frame": {
-			"version": "7.26.2",
-			"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.26.2.tgz",
-			"integrity": "sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==",
+			"version": "7.29.0",
+			"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.0.tgz",
+			"integrity": "sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==",
 			"dev": true,
 			"dependencies": {
-				"@babel/helper-validator-identifier": "^7.25.9",
+				"@babel/helper-validator-identifier": "^7.28.5",
 				"js-tokens": "^4.0.0",
-				"picocolors": "^1.0.0"
+				"picocolors": "^1.1.1"
 			},
 			"engines": {
 				"node": ">=6.9.0"
@@ -110,15 +110,15 @@
 			}
 		},
 		"node_modules/@babel/generator": {
-			"version": "7.26.5",
-			"resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.26.5.tgz",
-			"integrity": "sha512-2caSP6fN9I7HOe6nqhtft7V4g7/V/gfDsC3Ag4W7kEzzvRGKqiv0pu0HogPiZ3KaVSoNDhUws6IJjDjpfmYIXw==",
+			"version": "7.29.1",
+			"resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.29.1.tgz",
+			"integrity": "sha512-qsaF+9Qcm2Qv8SRIMMscAvG4O3lJ0F1GuMo5HR/Bp02LopNgnZBC/EkbevHFeGs4ls/oPz9v+Bsmzbkbe+0dUw==",
 			"dev": true,
 			"dependencies": {
-				"@babel/parser": "^7.26.5",
-				"@babel/types": "^7.26.5",
-				"@jridgewell/gen-mapping": "^0.3.5",
-				"@jridgewell/trace-mapping": "^0.3.25",
+				"@babel/parser": "^7.29.0",
+				"@babel/types": "^7.29.0",
+				"@jridgewell/gen-mapping": "^0.3.12",
+				"@jridgewell/trace-mapping": "^0.3.28",
 				"jsesc": "^3.0.2"
 			},
 			"engines": {
@@ -207,6 +207,15 @@
 				"@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0"
 			}
 		},
+		"node_modules/@babel/helper-globals": {
+			"version": "7.28.0",
+			"resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz",
+			"integrity": "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==",
+			"dev": true,
+			"engines": {
+				"node": ">=6.9.0"
+			}
+		},
 		"node_modules/@babel/helper-member-expression-to-functions": {
 			"version": "7.25.9",
 			"resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.25.9.tgz",
@@ -221,27 +230,27 @@
 			}
 		},
 		"node_modules/@babel/helper-module-imports": {
-			"version": "7.25.9",
-			"resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.25.9.tgz",
-			"integrity": "sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==",
+			"version": "7.28.6",
+			"resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.28.6.tgz",
+			"integrity": "sha512-l5XkZK7r7wa9LucGw9LwZyyCUscb4x37JWTPz7swwFE/0FMQAGpiWUZn8u9DzkSBWEcK25jmvubfpw2dnAMdbw==",
 			"dev": true,
 			"dependencies": {
-				"@babel/traverse": "^7.25.9",
-				"@babel/types": "^7.25.9"
+				"@babel/traverse": "^7.28.6",
+				"@babel/types": "^7.28.6"
 			},
 			"engines": {
 				"node": ">=6.9.0"
 			}
 		},
 		"node_modules/@babel/helper-module-transforms": {
-			"version": "7.26.0",
-			"resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.26.0.tgz",
-			"integrity": "sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==",
+			"version": "7.28.6",
+			"resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.6.tgz",
+			"integrity": "sha512-67oXFAYr2cDLDVGLXTEABjdBJZ6drElUSI7WKp70NrpyISso3plG9SAGEF6y7zbha/wOzUByWWTJvEDVNIUGcA==",
 			"dev": true,
 			"dependencies": {
-				"@babel/helper-module-imports": "^7.25.9",
-				"@babel/helper-validator-identifier": "^7.25.9",
-				"@babel/traverse": "^7.25.9"
+				"@babel/helper-module-imports": "^7.28.6",
+				"@babel/helper-validator-identifier": "^7.28.5",
+				"@babel/traverse": "^7.28.6"
 			},
 			"engines": {
 				"node": ">=6.9.0"
@@ -263,9 +272,9 @@
 			}
 		},
 		"node_modules/@babel/helper-plugin-utils": {
-			"version": "7.26.5",
-			"resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.26.5.tgz",
-			"integrity": "sha512-RS+jZcRdZdRFzMyr+wcsaqOmld1/EqTghfaBGQQd/WnRdzdlvSZ//kF7U8VQTxf1ynZ4cjUcYgjVGx13ewNPMg==",
+			"version": "7.28.6",
+			"resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.28.6.tgz",
+			"integrity": "sha512-S9gzZ/bz83GRysI7gAD4wPT/AI3uCnY+9xn+Mx/KPs2JwHJIz1W8PZkg2cqyt3RNOBM8ejcXhV6y8Og7ly/Dug==",
 			"dev": true,
 			"engines": {
 				"node": ">=6.9.0"
@@ -319,18 +328,18 @@
 			}
 		},
 		"node_modules/@babel/helper-string-parser": {
-			"version": "7.25.9",
-			"resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz",
-			"integrity": "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==",
+			"version": "7.27.1",
+			"resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz",
+			"integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==",
 			"dev": true,
 			"engines": {
 				"node": ">=6.9.0"
 			}
 		},
 		"node_modules/@babel/helper-validator-identifier": {
-			"version": "7.25.9",
-			"resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz",
-			"integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==",
+			"version": "7.28.5",
+			"resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz",
+			"integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==",
 			"dev": true,
 			"engines": {
 				"node": ">=6.9.0"
@@ -373,12 +382,12 @@
 			}
 		},
 		"node_modules/@babel/parser": {
-			"version": "7.26.10",
-			"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.26.10.tgz",
-			"integrity": "sha512-6aQR2zGE/QFi8JpDLjUZEPYOs7+mhKXm86VaKFiLP35JQwQb6bwUE+XbvkH0EptsYhbNBSUGaUBLKqxH1xSgsA==",
+			"version": "7.29.3",
+			"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.3.tgz",
+			"integrity": "sha512-b3ctpQwp+PROvU/cttc4OYl4MzfJUWy6FZg+PMXfzmt/+39iHVF0sDfqay8TQM3JA2EUOyKcFZt75jWriQijsA==",
 			"dev": true,
 			"dependencies": {
-				"@babel/types": "^7.26.10"
+				"@babel/types": "^7.29.0"
 			},
 			"bin": {
 				"parser": "bin/babel-parser.js"
@@ -1123,15 +1132,15 @@
 			}
 		},
 		"node_modules/@babel/plugin-transform-modules-systemjs": {
-			"version": "7.25.9",
-			"resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.25.9.tgz",
-			"integrity": "sha512-hyss7iIlH/zLHaehT+xwiymtPOpsiwIIRlCAOwBB04ta5Tt+lNItADdlXw3jAWZ96VJ2jlhl/c+PNIQPKNfvcA==",
+			"version": "7.29.4",
+			"resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.29.4.tgz",
+			"integrity": "sha512-N7QmZ0xRZfjHOfZeQLJjwgX2zS9pdGHSVl/cjSGlo4dXMqvurfxXDMKY4RqEKzPozV78VMcd0lxyG13mlbKc4w==",
 			"dev": true,
 			"dependencies": {
-				"@babel/helper-module-transforms": "^7.25.9",
-				"@babel/helper-plugin-utils": "^7.25.9",
-				"@babel/helper-validator-identifier": "^7.25.9",
-				"@babel/traverse": "^7.25.9"
+				"@babel/helper-module-transforms": "^7.28.6",
+				"@babel/helper-plugin-utils": "^7.28.6",
+				"@babel/helper-validator-identifier": "^7.28.5",
+				"@babel/traverse": "^7.29.0"
 			},
 			"engines": {
 				"node": ">=6.9.0"
@@ -1640,45 +1649,45 @@
 			}
 		},
 		"node_modules/@babel/template": {
-			"version": "7.26.9",
-			"resolved": "https://registry.npmjs.org/@babel/template/-/template-7.26.9.tgz",
-			"integrity": "sha512-qyRplbeIpNZhmzOysF/wFMuP9sctmh2cFzRAZOn1YapxBsE1i9bJIY586R/WBLfLcmcBlM8ROBiQURnnNy+zfA==",
+			"version": "7.28.6",
+			"resolved": "https://registry.npmjs.org/@babel/template/-/template-7.28.6.tgz",
+			"integrity": "sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ==",
 			"dev": true,
 			"dependencies": {
-				"@babel/code-frame": "^7.26.2",
-				"@babel/parser": "^7.26.9",
-				"@babel/types": "^7.26.9"
+				"@babel/code-frame": "^7.28.6",
+				"@babel/parser": "^7.28.6",
+				"@babel/types": "^7.28.6"
 			},
 			"engines": {
 				"node": ">=6.9.0"
 			}
 		},
 		"node_modules/@babel/traverse": {
-			"version": "7.26.7",
-			"resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.26.7.tgz",
-			"integrity": "sha512-1x1sgeyRLC3r5fQOM0/xtQKsYjyxmFjaOrLJNtZ81inNjyJHGIolTULPiSc/2qe1/qfpFLisLQYFnnZl7QoedA==",
+			"version": "7.29.0",
+			"resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.0.tgz",
+			"integrity": "sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==",
 			"dev": true,
 			"dependencies": {
-				"@babel/code-frame": "^7.26.2",
-				"@babel/generator": "^7.26.5",
-				"@babel/parser": "^7.26.7",
-				"@babel/template": "^7.25.9",
-				"@babel/types": "^7.26.7",
-				"debug": "^4.3.1",
-				"globals": "^11.1.0"
+				"@babel/code-frame": "^7.29.0",
+				"@babel/generator": "^7.29.0",
+				"@babel/helper-globals": "^7.28.0",
+				"@babel/parser": "^7.29.0",
+				"@babel/template": "^7.28.6",
+				"@babel/types": "^7.29.0",
+				"debug": "^4.3.1"
 			},
 			"engines": {
 				"node": ">=6.9.0"
 			}
 		},
 		"node_modules/@babel/types": {
-			"version": "7.26.10",
-			"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.10.tgz",
-			"integrity": "sha512-emqcG3vHrpxUKTrxcblR36dcrcoRDvKmnL/dCL6ZsHaShW80qxCAcNhzQZrpeM765VzEos+xOi4s+r4IXzTwdQ==",
+			"version": "7.29.0",
+			"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.0.tgz",
+			"integrity": "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==",
 			"dev": true,
 			"dependencies": {
-				"@babel/helper-string-parser": "^7.25.9",
-				"@babel/helper-validator-identifier": "^7.25.9"
+				"@babel/helper-string-parser": "^7.27.1",
+				"@babel/helper-validator-identifier": "^7.28.5"
 			},
 			"engines": {
 				"node": ">=6.9.0"
@@ -2808,17 +2817,13 @@
 			}
 		},
 		"node_modules/@jridgewell/gen-mapping": {
-			"version": "0.3.8",
-			"resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz",
-			"integrity": "sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==",
+			"version": "0.3.13",
+			"resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz",
+			"integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==",
 			"dev": true,
 			"dependencies": {
-				"@jridgewell/set-array": "^1.2.1",
-				"@jridgewell/sourcemap-codec": "^1.4.10",
+				"@jridgewell/sourcemap-codec": "^1.5.0",
 				"@jridgewell/trace-mapping": "^0.3.24"
-			},
-			"engines": {
-				"node": ">=6.0.0"
 			}
 		},
 		"node_modules/@jridgewell/resolve-uri": {
@@ -2830,15 +2835,6 @@
 				"node": ">=6.0.0"
 			}
 		},
-		"node_modules/@jridgewell/set-array": {
-			"version": "1.2.1",
-			"resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz",
-			"integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==",
-			"dev": true,
-			"engines": {
-				"node": ">=6.0.0"
-			}
-		},
 		"node_modules/@jridgewell/sourcemap-codec": {
 			"version": "1.5.0",
 			"resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz",
@@ -2846,9 +2842,9 @@
 			"dev": true
 		},
 		"node_modules/@jridgewell/trace-mapping": {
-			"version": "0.3.25",
-			"resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz",
-			"integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==",
+			"version": "0.3.31",
+			"resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz",
+			"integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==",
 			"dev": true,
 			"dependencies": {
 				"@jridgewell/resolve-uri": "^3.1.0",
@@ -6504,9 +6500,9 @@
 			"dev": true
 		},
 		"node_modules/fast-uri": {
-			"version": "3.0.6",
-			"resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.6.tgz",
-			"integrity": "sha512-Atfo14OibSv5wAp4VWNsFYE1AchQRTv9cBGWET4pZWHzYshFSS9NQI6I57rdKn9croWVMbYFbLhJ+yJvmZIIHw==",
+			"version": "3.1.2",
+			"resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.2.tgz",
+			"integrity": "sha512-rVjf7ArG3LTk+FS6Yw81V1DLuZl1bRbNrev6Tmd/9RaroeeRRJhAt7jg/6YFxbvAQXUCavSoZhPPj6oOx+5KjQ==",
 			"dev": true,
 			"funding": [
 				{
-- 
2.47.3


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