mediawiki/extensions/QuickSurveys (REL1_43)

sourcepatches
From 0882f24d7055bb0208e878fb40c15608f88b61e1 Mon Sep 17 00:00:00 2001
From: libraryupgrader <tools.libraryupgrader@tools.wmflabs.org>
Date: Thu, 21 May 2026 18:36:55 +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.24.6 → 7.29.4
  * https://github.com/advisories/GHSA-fv7c-fp4j-7gwp
* fast-uri: 3.1.0 → 3.1.2
  * https://github.com/advisories/GHSA-q3j6-qgpj-74h6
  * https://github.com/advisories/GHSA-v39h-62p7-jpjc
* ws: 7.5.10, 8.17.1 → 7.5.10, 8.20.1
  * https://github.com/advisories/GHSA-58qx-3vcg-4xpx

Change-Id: Ie8f3bd7e443415facf6b51432154b29e40fba845
---
 package-lock.json | 215 ++++++++++++++++++++--------------------------
 1 file changed, 92 insertions(+), 123 deletions(-)

diff --git a/package-lock.json b/package-lock.json
index 36db354..a0b9ada 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -33,14 +33,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"
@@ -86,15 +86,16 @@
 			}
 		},
 		"node_modules/@babel/generator": {
-			"version": "7.24.6",
-			"resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.24.6.tgz",
-			"integrity": "sha512-S7m4eNa6YAPJRHmKsLHIDJhNAGNKoWNiWefz1MBbpnt8g9lvMDl1hir4P9bo/57bQEmuwEhnRU/AMWsD0G/Fbg==",
+			"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/types": "^7.24.6",
-				"@jridgewell/gen-mapping": "^0.3.5",
-				"@jridgewell/trace-mapping": "^0.3.25",
-				"jsesc": "^2.5.1"
+				"@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": {
 				"node": ">=6.9.0"
@@ -219,14 +220,11 @@
 				"node": ">=6.9.0"
 			}
 		},
-		"node_modules/@babel/helper-hoist-variables": {
-			"version": "7.24.6",
-			"resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.24.6.tgz",
-			"integrity": "sha512-SF/EMrC3OD7dSta1bLJIlrsVxwtd0UpjRJqLno6125epQMJ/kyFmpTT4pbvPbdQHzCHg+biQ7Syo8lnDtbR+uA==",
+		"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,
-			"dependencies": {
-				"@babel/types": "^7.24.6"
-			},
 			"engines": {
 				"node": ">=6.9.0"
 			}
@@ -244,28 +242,27 @@
 			}
 		},
 		"node_modules/@babel/helper-module-imports": {
-			"version": "7.24.6",
-			"resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.6.tgz",
-			"integrity": "sha512-a26dmxFJBF62rRO9mmpgrfTLsAuyHk4e1hKTUkD/fcMfynt8gvEKwQPQDVxWhca8dHoDck+55DFt42zV0QMw5g==",
+			"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/types": "^7.24.6"
+				"@babel/traverse": "^7.28.6",
+				"@babel/types": "^7.28.6"
 			},
 			"engines": {
 				"node": ">=6.9.0"
 			}
 		},
 		"node_modules/@babel/helper-module-transforms": {
-			"version": "7.24.6",
-			"resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.24.6.tgz",
-			"integrity": "sha512-Y/YMPm83mV2HJTbX1Qh2sjgjqcacvOlhbzdCCsSlblOKjSYmQqEbO6rUniWQyRo9ncyfjT8hnUjlG06RXDEmcA==",
+			"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-environment-visitor": "^7.24.6",
-				"@babel/helper-module-imports": "^7.24.6",
-				"@babel/helper-simple-access": "^7.24.6",
-				"@babel/helper-split-export-declaration": "^7.24.6",
-				"@babel/helper-validator-identifier": "^7.24.6"
+				"@babel/helper-module-imports": "^7.28.6",
+				"@babel/helper-validator-identifier": "^7.28.5",
+				"@babel/traverse": "^7.28.6"
 			},
 			"engines": {
 				"node": ">=6.9.0"
@@ -287,9 +284,9 @@
 			}
 		},
 		"node_modules/@babel/helper-plugin-utils": {
-			"version": "7.24.6",
-			"resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.6.tgz",
-			"integrity": "sha512-MZG/JcWfxybKwsA9N9PmtF2lOSFSEMVCpIRrbxccZFLJPrJciJdG/UhSh5W96GEteJI2ARqm5UAHxISwRDLSNg==",
+			"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"
@@ -366,18 +363,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"
@@ -420,12 +417,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"
@@ -1205,15 +1202,15 @@
 			}
 		},
 		"node_modules/@babel/plugin-transform-modules-systemjs": {
-			"version": "7.24.6",
-			"resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.24.6.tgz",
-			"integrity": "sha512-xg1Z0J5JVYxtpX954XqaaAT6NpAY6LtZXvYFCJmGFJWwtlz2EmJoR8LycFRGNE8dBKizGWkGQZGegtkV8y8s+w==",
+			"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-hoist-variables": "^7.24.6",
-				"@babel/helper-module-transforms": "^7.24.6",
-				"@babel/helper-plugin-utils": "^7.24.6",
-				"@babel/helper-validator-identifier": "^7.24.6"
+				"@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"
@@ -1599,48 +1596,45 @@
 			"dev": true
 		},
 		"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.24.6",
-			"resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.6.tgz",
-			"integrity": "sha512-OsNjaJwT9Zn8ozxcfoBc+RaHdj3gFmCmYoQLUII1o6ZrUwku0BMg80FoOTPx+Gi6XhcQxAYE4xyjPTo4SxEQqw==",
+			"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.24.6",
-				"@babel/generator": "^7.24.6",
-				"@babel/helper-environment-visitor": "^7.24.6",
-				"@babel/helper-function-name": "^7.24.6",
-				"@babel/helper-hoist-variables": "^7.24.6",
-				"@babel/helper-split-export-declaration": "^7.24.6",
-				"@babel/parser": "^7.24.6",
-				"@babel/types": "^7.24.6",
-				"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"
@@ -2636,17 +2630,13 @@
 			}
 		},
 		"node_modules/@jridgewell/gen-mapping": {
-			"version": "0.3.5",
-			"resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz",
-			"integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==",
+			"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": {
@@ -2658,25 +2648,16 @@
 				"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.4.15",
-			"resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz",
-			"integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==",
+			"version": "1.5.5",
+			"resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz",
+			"integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==",
 			"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",
@@ -2797,9 +2778,9 @@
 			}
 		},
 		"node_modules/@tootallnate/once": {
-			"version": "2.0.0",
-			"resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz",
-			"integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==",
+			"version": "2.0.1",
+			"resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.1.tgz",
+			"integrity": "sha512-HqmEUIGRJ5fSXchkVgR5F7qn48bDBzv0kWj/Kfu5e6uci4UlEeng4331LnBkWffb++Ei3FOVLxo8JJWMFBDMeQ==",
 			"dev": true,
 			"engines": {
 				"node": ">= 10"
@@ -5609,18 +5590,6 @@
 				"js-yaml": "bin/js-yaml.js"
 			}
 		},
-		"node_modules/eslint-plugin-unicorn/node_modules/jsesc": {
-			"version": "3.0.2",
-			"resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.0.2.tgz",
-			"integrity": "sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==",
-			"dev": true,
-			"bin": {
-				"jsesc": "bin/jsesc"
-			},
-			"engines": {
-				"node": ">=6"
-			}
-		},
 		"node_modules/eslint-plugin-unicorn/node_modules/semver": {
 			"version": "7.6.2",
 			"resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz",
@@ -6153,9 +6122,9 @@
 			"dev": true
 		},
 		"node_modules/fast-uri": {
-			"version": "3.1.0",
-			"resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.0.tgz",
-			"integrity": "sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==",
+			"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": [
 				{
@@ -9277,15 +9246,15 @@
 			}
 		},
 		"node_modules/jsesc": {
-			"version": "2.5.2",
-			"resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
-			"integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==",
+			"version": "3.1.0",
+			"resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz",
+			"integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==",
 			"dev": true,
 			"bin": {
 				"jsesc": "bin/jsesc"
 			},
 			"engines": {
-				"node": ">=4"
+				"node": ">=6"
 			}
 		},
 		"node_modules/json-buffer": {
@@ -12030,9 +11999,9 @@
 			}
 		},
 		"node_modules/ws": {
-			"version": "8.17.1",
-			"resolved": "https://registry.npmjs.org/ws/-/ws-8.17.1.tgz",
-			"integrity": "sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==",
+			"version": "8.20.1",
+			"resolved": "https://registry.npmjs.org/ws/-/ws-8.20.1.tgz",
+			"integrity": "sha512-It4dO0K5v//JtTXuPkfEOaI3uUN87iYPnqo/ZzqCoG3g8uhA66QUMs/SrM0YK7/NAu+r4LMh/9dq2A7k+rHs+w==",
 			"dev": true,
 			"engines": {
 				"node": ">=10.0.0"
-- 
2.47.3

$ date
--- stdout ---
Thu May 21 18:35:48 UTC 2026

--- end ---
$ git clone file:///srv/git/mediawiki-extensions-QuickSurveys.git /src/repo --depth=1 -b REL1_43
--- 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/REL1_43
--- stdout ---
0a0abddb3e077d17805875348f04fb0a7ca72f47 refs/heads/REL1_43

--- 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
    },
    "@jest/core": {
      "name": "@jest/core",
      "severity": "low",
      "isDirect": false,
      "via": [
        "jest-config",
        "jest-runner"
      ],
      "effects": [],
      "range": "27.0.1 - 27.5.1",
      "nodes": [
        "node_modules/@jest/core"
      ],
      "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",
        "node_modules/jest-environment-jsdom/node_modules/@tootallnate/once"
      ],
      "fixAvailable": {
        "name": "@wikimedia/mw-node-qunit",
        "version": "6.2.1",
        "isSemVerMajor": true
      }
    },
    "@wikimedia/mw-node-qunit": {
      "name": "@wikimedia/mw-node-qunit",
      "severity": "low",
      "isDirect": true,
      "via": [
        "jsdom"
      ],
      "effects": [],
      "range": ">=6.3.0",
      "nodes": [
        "node_modules/@wikimedia/mw-node-qunit"
      ],
      "fixAvailable": {
        "name": "@wikimedia/mw-node-qunit",
        "version": "6.2.1",
        "isSemVerMajor": true
      }
    },
    "babel-core": {
      "name": "babel-core",
      "severity": "critical",
      "isDirect": true,
      "via": [
        "babel-helpers",
        "babel-register",
        "babel-template",
        "babel-traverse",
        "json5"
      ],
      "effects": [
        "babel-register"
      ],
      "range": "5.8.20 - 7.0.0-beta.3",
      "nodes": [
        "node_modules/babel-core"
      ],
      "fixAvailable": {
        "name": "babel-core",
        "version": "4.7.16",
        "isSemVerMajor": true
      }
    },
    "babel-helpers": {
      "name": "babel-helpers",
      "severity": "critical",
      "isDirect": false,
      "via": [
        "babel-template"
      ],
      "effects": [],
      "range": "*",
      "nodes": [
        "node_modules/babel-helpers"
      ],
      "fixAvailable": true
    },
    "babel-register": {
      "name": "babel-register",
      "severity": "high",
      "isDirect": false,
      "via": [
        "babel-core"
      ],
      "effects": [
        "babel-core"
      ],
      "range": "*",
      "nodes": [
        "node_modules/babel-register"
      ],
      "fixAvailable": {
        "name": "babel-core",
        "version": "4.7.16",
        "isSemVerMajor": true
      }
    },
    "babel-template": {
      "name": "babel-template",
      "severity": "critical",
      "isDirect": false,
      "via": [
        "babel-traverse"
      ],
      "effects": [
        "babel-helpers"
      ],
      "range": "*",
      "nodes": [
        "node_modules/babel-template"
      ],
      "fixAvailable": true
    },
    "babel-traverse": {
      "name": "babel-traverse",
      "severity": "critical",
      "isDirect": false,
      "via": [
        {
          "source": 1117412,
          "name": "babel-traverse",
          "dependency": "babel-traverse",
          "title": "Babel vulnerable to arbitrary code execution when compiling specifically crafted malicious code",
          "url": "https://github.com/advisories/GHSA-67hx-6x53-jw92",
          "severity": "critical",
          "cwe": [
            "CWE-184",
            "CWE-697"
          ],
          "cvss": {
            "score": 9.3,
            "vectorString": "CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H"
          },
          "range": "<7.23.2"
        }
      ],
      "effects": [
        "babel-core",
        "babel-template"
      ],
      "range": "*",
      "nodes": [
        "node_modules/babel-traverse"
      ],
      "fixAvailable": {
        "name": "babel-core",
        "version": "4.7.16",
        "isSemVerMajor": true
      }
    },
    "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",
        "node_modules/jest-environment-jsdom/node_modules/http-proxy-agent"
      ],
      "fixAvailable": {
        "name": "@wikimedia/mw-node-qunit",
        "version": "6.2.1",
        "isSemVerMajor": true
      }
    },
    "jest": {
      "name": "jest",
      "severity": "low",
      "isDirect": true,
      "via": [
        "@jest/core",
        "jest-cli"
      ],
      "effects": [],
      "range": "27.0.1 - 27.5.1",
      "nodes": [
        "node_modules/jest"
      ],
      "fixAvailable": {
        "name": "jest",
        "version": "30.4.2",
        "isSemVerMajor": true
      }
    },
    "jest-cli": {
      "name": "jest-cli",
      "severity": "low",
      "isDirect": false,
      "via": [
        "@jest/core",
        "jest-config"
      ],
      "effects": [
        "jest"
      ],
      "range": "27.0.1 - 27.5.1",
      "nodes": [
        "node_modules/jest-cli"
      ],
      "fixAvailable": {
        "name": "jest",
        "version": "30.4.2",
        "isSemVerMajor": true
      }
    },
    "jest-config": {
      "name": "jest-config",
      "severity": "low",
      "isDirect": false,
      "via": [
        "jest-environment-jsdom",
        "jest-runner"
      ],
      "effects": [
        "@jest/core",
        "jest-cli"
      ],
      "range": "27.0.1 - 27.5.1",
      "nodes": [
        "node_modules/jest-config"
      ],
      "fixAvailable": {
        "name": "jest",
        "version": "30.4.2",
        "isSemVerMajor": true
      }
    },
    "jest-environment-jsdom": {
      "name": "jest-environment-jsdom",
      "severity": "low",
      "isDirect": false,
      "via": [
        "jsdom"
      ],
      "effects": [
        "jest-config",
        "jest-runner"
      ],
      "range": "27.0.1 - 30.0.0-rc.1",
      "nodes": [
        "node_modules/jest-environment-jsdom"
      ],
      "fixAvailable": {
        "name": "jest",
        "version": "30.4.2",
        "isSemVerMajor": true
      }
    },
    "jest-runner": {
      "name": "jest-runner",
      "severity": "low",
      "isDirect": false,
      "via": [
        "jest-environment-jsdom"
      ],
      "effects": [
        "@jest/core",
        "jest-config"
      ],
      "range": "27.0.4 - 27.5.1",
      "nodes": [
        "node_modules/jest-runner"
      ],
      "fixAvailable": {
        "name": "jest",
        "version": "30.4.2",
        "isSemVerMajor": true
      }
    },
    "jsdom": {
      "name": "jsdom",
      "severity": "low",
      "isDirect": false,
      "via": [
        "http-proxy-agent"
      ],
      "effects": [
        "@wikimedia/mw-node-qunit",
        "jest-environment-jsdom"
      ],
      "range": "16.6.0 - 22.1.0",
      "nodes": [
        "node_modules/jest-environment-jsdom/node_modules/jsdom",
        "node_modules/jsdom"
      ],
      "fixAvailable": {
        "name": "@wikimedia/mw-node-qunit",
        "version": "6.2.1",
        "isSemVerMajor": true
      }
    },
    "json5": {
      "name": "json5",
      "severity": "high",
      "isDirect": false,
      "via": [
        {
          "source": 1096543,
          "name": "json5",
          "dependency": "json5",
          "title": "Prototype Pollution in JSON5 via Parse Method",
          "url": "https://github.com/advisories/GHSA-9c47-m6qq-7p4h",
          "severity": "high",
          "cwe": [
            "CWE-1321"
          ],
          "cvss": {
            "score": 7.1,
            "vectorString": "CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:L/A:H"
          },
          "range": "<1.0.2"
        }
      ],
      "effects": [
        "babel-core"
      ],
      "range": "<1.0.2",
      "nodes": [
        "node_modules/babel-core/node_modules/json5"
      ],
      "fixAvailable": {
        "name": "babel-core",
        "version": "4.7.16",
        "isSemVerMajor": true
      }
    },
    "ws": {
      "name": "ws",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        {
          "source": 1119108,
          "name": "ws",
          "dependency": "ws",
          "title": "ws: Uninitialized memory disclosure",
          "url": "https://github.com/advisories/GHSA-58qx-3vcg-4xpx",
          "severity": "moderate",
          "cwe": [
            "CWE-908"
          ],
          "cvss": {
            "score": 4.4,
            "vectorString": "CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:U/C:H/I:N/A:N"
          },
          "range": ">=8.0.0 <8.20.1"
        }
      ],
      "effects": [],
      "range": "8.0.0 - 8.20.0",
      "nodes": [
        "node_modules/ws"
      ],
      "fixAvailable": true
    }
  },
  "metadata": {
    "vulnerabilities": {
      "info": 0,
      "low": 10,
      "moderate": 1,
      "high": 4,
      "critical": 4,
      "total": 19
    },
    "dependencies": {
      "prod": 1,
      "dev": 989,
      "optional": 2,
      "peer": 1,
      "peerOptional": 0,
      "total": 989
    }
  }
}

--- end ---
$ /usr/bin/composer install
--- stderr ---
No composer.lock file present. Updating dependencies to latest instead of installing from lock file. See https://getcomposer.org/install for more information.
Loading composer repositories with package information
Updating dependencies
Lock file operations: 38 installs, 0 updates, 0 removals
  - Locking composer/pcre (3.3.2)
  - Locking composer/semver (3.4.3)
  - Locking composer/spdx-licenses (1.5.10)
  - Locking composer/xdebug-handler (3.0.5)
  - Locking dealerdirect/phpcodesniffer-composer-installer (v1.2.1)
  - Locking doctrine/deprecations (1.1.6)
  - Locking felixfbecker/advanced-json-rpc (v3.2.1)
  - Locking mediawiki/mediawiki-codesniffer (v45.0.0)
  - Locking mediawiki/mediawiki-phan-config (0.14.0)
  - Locking mediawiki/minus-x (1.1.3)
  - Locking mediawiki/phan-taint-check-plugin (6.0.0)
  - Locking microsoft/tolerant-php-parser (v0.1.2)
  - Locking netresearch/jsonmapper (v4.5.0)
  - Locking phan/phan (5.4.3)
  - Locking php-parallel-lint/php-console-color (v1.0.1)
  - Locking php-parallel-lint/php-console-highlighter (v1.0.0)
  - Locking php-parallel-lint/php-parallel-lint (v1.4.0)
  - Locking phpcsstandards/phpcsextra (1.2.1)
  - Locking phpcsstandards/phpcsutils (1.0.12)
  - Locking phpdocumentor/reflection-common (2.2.0)
  - Locking phpdocumentor/reflection-docblock (5.6.7)
  - Locking phpdocumentor/type-resolver (1.12.0)
  - Locking phpstan/phpdoc-parser (2.3.2)
  - Locking psr/container (2.0.2)
  - Locking psr/log (3.0.2)
  - Locking sabre/event (5.1.8)
  - Locking squizlabs/php_codesniffer (3.10.3)
  - Locking symfony/console (v7.4.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/polyfill-php80 (v1.37.0)
  - Locking symfony/service-contracts (v3.7.0)
  - Locking symfony/string (v8.0.11)
  - Locking tysonandre/var_representation_polyfill (0.1.3)
  - Locking webmozart/assert (2.4.0)
Writing lock file
Installing dependencies from lock file (including require-dev)
Package operations: 38 installs, 0 updates, 0 removals
    0 [>---------------------------]    0 [->--------------------------]
  - Installing squizlabs/php_codesniffer (3.10.3): Extracting archive
  - Installing dealerdirect/phpcodesniffer-composer-installer (v1.2.1): Extracting archive
  - Installing composer/pcre (3.3.2): Extracting archive
  - Installing symfony/polyfill-php80 (v1.37.0): Extracting archive
  - Installing phpcsstandards/phpcsutils (1.0.12): Extracting archive
  - Installing phpcsstandards/phpcsextra (1.2.1): Extracting archive
  - Installing symfony/polyfill-mbstring (v1.37.0): Extracting archive
  - Installing composer/spdx-licenses (1.5.10): Extracting archive
  - Installing composer/semver (3.4.3): Extracting archive
  - Installing mediawiki/mediawiki-codesniffer (v45.0.0): Extracting archive
  - Installing tysonandre/var_representation_polyfill (0.1.3): 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 (v7.4.11): Extracting archive
  - Installing sabre/event (5.1.8): Extracting archive
  - Installing netresearch/jsonmapper (v4.5.0): Extracting archive
  - Installing microsoft/tolerant-php-parser (v0.1.2): Extracting archive
  - Installing webmozart/assert (2.4.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 (1.12.0): Extracting archive
  - Installing phpdocumentor/reflection-docblock (5.6.7): Extracting archive
  - Installing felixfbecker/advanced-json-rpc (v3.2.1): Extracting archive
  - Installing psr/log (3.0.2): Extracting archive
  - Installing composer/xdebug-handler (3.0.5): Extracting archive
  - Installing phan/phan (5.4.3): Extracting archive
  - Installing mediawiki/phan-taint-check-plugin (6.0.0): Extracting archive
  - Installing mediawiki/mediawiki-phan-config (0.14.0): Extracting archive
  - Installing mediawiki/minus-x (1.1.3): Extracting archive
  - Installing php-parallel-lint/php-console-color (v1.0.1): Extracting archive
  - Installing php-parallel-lint/php-console-highlighter (v1.0.0): Extracting archive
  - Installing php-parallel-lint/php-parallel-lint (v1.4.0): Extracting archive
  0/36 [>---------------------------]   0%
 27/36 [=====================>------]  75%
 36/36 [============================] 100%
Generating autoload files
17 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
--- stdout ---
PHP CodeSniffer Config installed_paths set to ../../mediawiki/mediawiki-codesniffer,../../phpcsstandards/phpcsextra,../../phpcsstandards/phpcsutils

--- end ---
$ /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
    },
    "@jest/core": {
      "name": "@jest/core",
      "severity": "low",
      "isDirect": false,
      "via": [
        "jest-config",
        "jest-runner"
      ],
      "effects": [
        "jest",
        "jest-cli"
      ],
      "range": "27.0.1 - 27.5.1",
      "nodes": [
        "node_modules/@jest/core"
      ],
      "fixAvailable": {
        "name": "jest",
        "version": "30.4.2",
        "isSemVerMajor": 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",
        "node_modules/jest-environment-jsdom/node_modules/@tootallnate/once"
      ],
      "fixAvailable": {
        "name": "@wikimedia/mw-node-qunit",
        "version": "6.2.1",
        "isSemVerMajor": true
      }
    },
    "@wikimedia/mw-node-qunit": {
      "name": "@wikimedia/mw-node-qunit",
      "severity": "low",
      "isDirect": true,
      "via": [
        "jsdom"
      ],
      "effects": [],
      "range": ">=6.3.0",
      "nodes": [
        "node_modules/@wikimedia/mw-node-qunit"
      ],
      "fixAvailable": {
        "name": "@wikimedia/mw-node-qunit",
        "version": "6.2.1",
        "isSemVerMajor": true
      }
    },
    "babel-core": {
      "name": "babel-core",
      "severity": "critical",
      "isDirect": true,
      "via": [
        "babel-helpers",
        "babel-register",
        "babel-template",
        "babel-traverse",
        "json5"
      ],
      "effects": [
        "babel-register"
      ],
      "range": "5.8.20 - 7.0.0-beta.3",
      "nodes": [
        "node_modules/babel-core"
      ],
      "fixAvailable": {
        "name": "babel-core",
        "version": "4.7.16",
        "isSemVerMajor": true
      }
    },
    "babel-helpers": {
      "name": "babel-helpers",
      "severity": "critical",
      "isDirect": false,
      "via": [
        "babel-template"
      ],
      "effects": [],
      "range": "*",
      "nodes": [
        "node_modules/babel-helpers"
      ],
      "fixAvailable": true
    },
    "babel-register": {
      "name": "babel-register",
      "severity": "high",
      "isDirect": false,
      "via": [
        "babel-core"
      ],
      "effects": [
        "babel-core"
      ],
      "range": "*",
      "nodes": [
        "node_modules/babel-register"
      ],
      "fixAvailable": {
        "name": "babel-core",
        "version": "4.7.16",
        "isSemVerMajor": true
      }
    },
    "babel-template": {
      "name": "babel-template",
      "severity": "critical",
      "isDirect": false,
      "via": [
        "babel-traverse"
      ],
      "effects": [
        "babel-helpers"
      ],
      "range": "*",
      "nodes": [
        "node_modules/babel-template"
      ],
      "fixAvailable": true
    },
    "babel-traverse": {
      "name": "babel-traverse",
      "severity": "critical",
      "isDirect": false,
      "via": [
        {
          "source": 1117412,
          "name": "babel-traverse",
          "dependency": "babel-traverse",
          "title": "Babel vulnerable to arbitrary code execution when compiling specifically crafted malicious code",
          "url": "https://github.com/advisories/GHSA-67hx-6x53-jw92",
          "severity": "critical",
          "cwe": [
            "CWE-184",
            "CWE-697"
          ],
          "cvss": {
            "score": 9.3,
            "vectorString": "CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H"
          },
          "range": "<7.23.2"
        }
      ],
      "effects": [
        "babel-core",
        "babel-template"
      ],
      "range": "*",
      "nodes": [
        "node_modules/babel-traverse"
      ],
      "fixAvailable": {
        "name": "babel-core",
        "version": "4.7.16",
        "isSemVerMajor": true
      }
    },
    "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",
        "node_modules/jest-environment-jsdom/node_modules/http-proxy-agent"
      ],
      "fixAvailable": {
        "name": "@wikimedia/mw-node-qunit",
        "version": "6.2.1",
        "isSemVerMajor": true
      }
    },
    "jest": {
      "name": "jest",
      "severity": "low",
      "isDirect": true,
      "via": [
        "@jest/core",
        "jest-cli"
      ],
      "effects": [],
      "range": "27.0.1 - 27.5.1",
      "nodes": [
        "node_modules/jest"
      ],
      "fixAvailable": {
        "name": "jest",
        "version": "30.4.2",
        "isSemVerMajor": true
      }
    },
    "jest-cli": {
      "name": "jest-cli",
      "severity": "low",
      "isDirect": false,
      "via": [
        "@jest/core",
        "jest-config"
      ],
      "effects": [
        "jest"
      ],
      "range": "27.0.1 - 27.5.1",
      "nodes": [
        "node_modules/jest-cli"
      ],
      "fixAvailable": {
        "name": "jest",
        "version": "30.4.2",
        "isSemVerMajor": true
      }
    },
    "jest-config": {
      "name": "jest-config",
      "severity": "low",
      "isDirect": false,
      "via": [
        "jest-environment-jsdom",
        "jest-runner"
      ],
      "effects": [
        "@jest/core",
        "jest-cli"
      ],
      "range": "27.0.1 - 27.5.1",
      "nodes": [
        "node_modules/jest-config"
      ],
      "fixAvailable": {
        "name": "jest",
        "version": "30.4.2",
        "isSemVerMajor": true
      }
    },
    "jest-environment-jsdom": {
      "name": "jest-environment-jsdom",
      "severity": "low",
      "isDirect": false,
      "via": [
        "jsdom"
      ],
      "effects": [
        "jest-config",
        "jest-runner"
      ],
      "range": "27.0.1 - 30.0.0-rc.1",
      "nodes": [
        "node_modules/jest-environment-jsdom"
      ],
      "fixAvailable": {
        "name": "jest",
        "version": "30.4.2",
        "isSemVerMajor": true
      }
    },
    "jest-runner": {
      "name": "jest-runner",
      "severity": "low",
      "isDirect": false,
      "via": [
        "jest-environment-jsdom"
      ],
      "effects": [
        "@jest/core",
        "jest-config"
      ],
      "range": "27.0.4 - 27.5.1",
      "nodes": [
        "node_modules/jest-runner"
      ],
      "fixAvailable": {
        "name": "jest",
        "version": "30.4.2",
        "isSemVerMajor": true
      }
    },
    "jsdom": {
      "name": "jsdom",
      "severity": "low",
      "isDirect": false,
      "via": [
        "http-proxy-agent"
      ],
      "effects": [
        "@wikimedia/mw-node-qunit",
        "jest-environment-jsdom"
      ],
      "range": "16.6.0 - 22.1.0",
      "nodes": [
        "node_modules/jest-environment-jsdom/node_modules/jsdom",
        "node_modules/jsdom"
      ],
      "fixAvailable": {
        "name": "@wikimedia/mw-node-qunit",
        "version": "6.2.1",
        "isSemVerMajor": true
      }
    },
    "json5": {
      "name": "json5",
      "severity": "high",
      "isDirect": false,
      "via": [
        {
          "source": 1096543,
          "name": "json5",
          "dependency": "json5",
          "title": "Prototype Pollution in JSON5 via Parse Method",
          "url": "https://github.com/advisories/GHSA-9c47-m6qq-7p4h",
          "severity": "high",
          "cwe": [
            "CWE-1321"
          ],
          "cvss": {
            "score": 7.1,
            "vectorString": "CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:L/A:H"
          },
          "range": "<1.0.2"
        }
      ],
      "effects": [
        "babel-core"
      ],
      "range": "<1.0.2",
      "nodes": [
        "node_modules/babel-core/node_modules/json5"
      ],
      "fixAvailable": {
        "name": "babel-core",
        "version": "4.7.16",
        "isSemVerMajor": true
      }
    },
    "ws": {
      "name": "ws",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        {
          "source": 1119108,
          "name": "ws",
          "dependency": "ws",
          "title": "ws: Uninitialized memory disclosure",
          "url": "https://github.com/advisories/GHSA-58qx-3vcg-4xpx",
          "severity": "moderate",
          "cwe": [
            "CWE-908"
          ],
          "cvss": {
            "score": 4.4,
            "vectorString": "CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:U/C:H/I:N/A:N"
          },
          "range": ">=8.0.0 <8.20.1"
        }
      ],
      "effects": [],
      "range": "8.0.0 - 8.20.0",
      "nodes": [
        "node_modules/ws"
      ],
      "fixAvailable": true
    }
  },
  "metadata": {
    "vulnerabilities": {
      "info": 0,
      "low": 10,
      "moderate": 1,
      "high": 4,
      "critical": 4,
      "total": 19
    },
    "dependencies": {
      "prod": 1,
      "dev": 989,
      "optional": 2,
      "peer": 1,
      "peerOptional": 0,
      "total": 989
    }
  }
}

--- end ---
Attempting to npm audit fix
$ /usr/bin/npm audit fix --dry-run --only=dev --json
--- stderr ---
npm WARN invalid config only="dev" set in command line options
npm WARN invalid config Must be one of: null, prod, production
--- stdout ---
{
  "added": 987,
  "removed": 0,
  "changed": 0,
  "audited": 988,
  "funding": 113,
  "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
      },
      "@jest/core": {
        "name": "@jest/core",
        "severity": "low",
        "isDirect": false,
        "via": [
          "jest-config",
          "jest-runner"
        ],
        "effects": [
          "jest",
          "jest-cli"
        ],
        "range": "27.0.1 - 27.5.1",
        "nodes": [
          "node_modules/@jest/core"
        ],
        "fixAvailable": {
          "name": "jest",
          "version": "30.4.2",
          "isSemVerMajor": 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/jest-environment-jsdom/node_modules/@tootallnate/once"
        ],
        "fixAvailable": {
          "name": "@wikimedia/mw-node-qunit",
          "version": "6.2.1",
          "isSemVerMajor": true
        }
      },
      "@wikimedia/mw-node-qunit": {
        "name": "@wikimedia/mw-node-qunit",
        "severity": "low",
        "isDirect": true,
        "via": [
          "jsdom"
        ],
        "effects": [],
        "range": ">=6.3.0",
        "nodes": [
          "node_modules/@wikimedia/mw-node-qunit"
        ],
        "fixAvailable": {
          "name": "@wikimedia/mw-node-qunit",
          "version": "6.2.1",
          "isSemVerMajor": true
        }
      },
      "babel-core": {
        "name": "babel-core",
        "severity": "critical",
        "isDirect": true,
        "via": [
          "babel-helpers",
          "babel-register",
          "babel-template",
          "babel-traverse",
          "json5"
        ],
        "effects": [
          "babel-register"
        ],
        "range": "5.8.20 - 7.0.0-beta.3",
        "nodes": [
          "node_modules/babel-core"
        ],
        "fixAvailable": {
          "name": "babel-core",
          "version": "4.7.16",
          "isSemVerMajor": true
        }
      },
      "babel-helpers": {
        "name": "babel-helpers",
        "severity": "critical",
        "isDirect": false,
        "via": [
          "babel-template"
        ],
        "effects": [],
        "range": "*",
        "nodes": [
          "node_modules/babel-helpers"
        ],
        "fixAvailable": true
      },
      "babel-register": {
        "name": "babel-register",
        "severity": "high",
        "isDirect": false,
        "via": [
          "babel-core"
        ],
        "effects": [
          "babel-core"
        ],
        "range": "*",
        "nodes": [
          "node_modules/babel-register"
        ],
        "fixAvailable": {
          "name": "babel-core",
          "version": "4.7.16",
          "isSemVerMajor": true
        }
      },
      "babel-template": {
        "name": "babel-template",
        "severity": "critical",
        "isDirect": false,
        "via": [
          "babel-traverse"
        ],
        "effects": [
          "babel-helpers"
        ],
        "range": "*",
        "nodes": [
          "node_modules/babel-template"
        ],
        "fixAvailable": true
      },
      "babel-traverse": {
        "name": "babel-traverse",
        "severity": "critical",
        "isDirect": false,
        "via": [
          {
            "source": 1117412,
            "name": "babel-traverse",
            "dependency": "babel-traverse",
            "title": "Babel vulnerable to arbitrary code execution when compiling specifically crafted malicious code",
            "url": "https://github.com/advisories/GHSA-67hx-6x53-jw92",
            "severity": "critical",
            "cwe": [
              "CWE-184",
              "CWE-697"
            ],
            "cvss": {
              "score": 9.3,
              "vectorString": "CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H"
            },
            "range": "<7.23.2"
          }
        ],
        "effects": [
          "babel-core",
          "babel-template"
        ],
        "range": "*",
        "nodes": [
          "node_modules/babel-traverse"
        ],
        "fixAvailable": {
          "name": "babel-core",
          "version": "4.7.16",
          "isSemVerMajor": true
        }
      },
      "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",
          "node_modules/jest-environment-jsdom/node_modules/http-proxy-agent"
        ],
        "fixAvailable": {
          "name": "@wikimedia/mw-node-qunit",
          "version": "6.2.1",
          "isSemVerMajor": true
        }
      },
      "jest": {
        "name": "jest",
        "severity": "low",
        "isDirect": true,
        "via": [
          "@jest/core",
          "jest-cli"
        ],
        "effects": [],
        "range": "27.0.1 - 27.5.1",
        "nodes": [
          "node_modules/jest"
        ],
        "fixAvailable": {
          "name": "jest",
          "version": "30.4.2",
          "isSemVerMajor": true
        }
      },
      "jest-cli": {
        "name": "jest-cli",
        "severity": "low",
        "isDirect": false,
        "via": [
          "@jest/core",
          "jest-config"
        ],
        "effects": [
          "jest"
        ],
        "range": "27.0.1 - 27.5.1",
        "nodes": [
          "node_modules/jest-cli"
        ],
        "fixAvailable": {
          "name": "jest",
          "version": "30.4.2",
          "isSemVerMajor": true
        }
      },
      "jest-config": {
        "name": "jest-config",
        "severity": "low",
        "isDirect": false,
        "via": [
          "jest-environment-jsdom",
          "jest-runner"
        ],
        "effects": [
          "@jest/core",
          "jest-cli"
        ],
        "range": "27.0.1 - 27.5.1",
        "nodes": [
          "node_modules/jest-config"
        ],
        "fixAvailable": {
          "name": "jest",
          "version": "30.4.2",
          "isSemVerMajor": true
        }
      },
      "jest-environment-jsdom": {
        "name": "jest-environment-jsdom",
        "severity": "low",
        "isDirect": false,
        "via": [
          "jsdom"
        ],
        "effects": [
          "jest-config",
          "jest-runner"
        ],
        "range": "27.0.1 - 30.0.0-rc.1",
        "nodes": [
          "node_modules/jest-environment-jsdom"
        ],
        "fixAvailable": {
          "name": "jest",
          "version": "30.4.2",
          "isSemVerMajor": true
        }
      },
      "jest-runner": {
        "name": "jest-runner",
        "severity": "low",
        "isDirect": false,
        "via": [
          "jest-environment-jsdom"
        ],
        "effects": [
          "@jest/core",
          "jest-config"
        ],
        "range": "27.0.4 - 27.5.1",
        "nodes": [
          "node_modules/jest-runner"
        ],
        "fixAvailable": {
          "name": "jest",
          "version": "30.4.2",
          "isSemVerMajor": true
        }
      },
      "jsdom": {
        "name": "jsdom",
        "severity": "low",
        "isDirect": false,
        "via": [
          "http-proxy-agent"
        ],
        "effects": [
          "@wikimedia/mw-node-qunit",
          "jest-environment-jsdom"
        ],
        "range": "16.6.0 - 22.1.0",
        "nodes": [
          "node_modules/jest-environment-jsdom/node_modules/jsdom",
          "node_modules/jsdom"
        ],
        "fixAvailable": {
          "name": "@wikimedia/mw-node-qunit",
          "version": "6.2.1",
          "isSemVerMajor": true
        }
      },
      "json5": {
        "name": "json5",
        "severity": "high",
        "isDirect": false,
        "via": [
          {
            "source": 1096543,
            "name": "json5",
            "dependency": "json5",
            "title": "Prototype Pollution in JSON5 via Parse Method",
            "url": "https://github.com/advisories/GHSA-9c47-m6qq-7p4h",
            "severity": "high",
            "cwe": [
              "CWE-1321"
            ],
            "cvss": {
              "score": 7.1,
              "vectorString": "CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:L/A:H"
            },
            "range": "<1.0.2"
          }
        ],
        "effects": [
          "babel-core"
        ],
        "range": "<1.0.2",
        "nodes": [
          "node_modules/babel-core/node_modules/json5"
        ],
        "fixAvailable": {
          "name": "babel-core",
          "version": "4.7.16",
          "isSemVerMajor": true
        }
      },
      "ws": {
        "name": "ws",
        "severity": "moderate",
        "isDirect": false,
        "via": [
          {
            "source": 1119108,
            "name": "ws",
            "dependency": "ws",
            "title": "ws: Uninitialized memory disclosure",
            "url": "https://github.com/advisories/GHSA-58qx-3vcg-4xpx",
            "severity": "moderate",
            "cwe": [
              "CWE-908"
            ],
            "cvss": {
              "score": 4.4,
              "vectorString": "CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:U/C:H/I:N/A:N"
            },
            "range": ">=8.0.0 <8.20.1"
          }
        ],
        "effects": [],
        "range": "8.0.0 - 8.20.0",
        "nodes": [
          ""
        ],
        "fixAvailable": true
      }
    },
    "metadata": {
      "vulnerabilities": {
        "info": 0,
        "low": 10,
        "moderate": 1,
        "high": 4,
        "critical": 4,
        "total": 19
      },
      "dependencies": {
        "prod": 1,
        "dev": 987,
        "optional": 2,
        "peer": 1,
        "peerOptional": 0,
        "total": 987
      }
    }
  }
}

--- end ---
{"added": 987, "removed": 0, "changed": 0, "audited": 988, "funding": 113, "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}, "@jest/core": {"name": "@jest/core", "severity": "low", "isDirect": false, "via": ["jest-config", "jest-runner"], "effects": ["jest", "jest-cli"], "range": "27.0.1 - 27.5.1", "nodes": ["node_modules/@jest/core"], "fixAvailable": {"name": "jest", "version": "30.4.2", "isSemVerMajor": 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/jest-environment-jsdom/node_modules/@tootallnate/once"], "fixAvailable": {"name": "@wikimedia/mw-node-qunit", "version": "6.2.1", "isSemVerMajor": true}}, "@wikimedia/mw-node-qunit": {"name": "@wikimedia/mw-node-qunit", "severity": "low", "isDirect": true, "via": ["jsdom"], "effects": [], "range": ">=6.3.0", "nodes": ["node_modules/@wikimedia/mw-node-qunit"], "fixAvailable": {"name": "@wikimedia/mw-node-qunit", "version": "6.2.1", "isSemVerMajor": true}}, "babel-core": {"name": "babel-core", "severity": "critical", "isDirect": true, "via": ["babel-helpers", "babel-register", "babel-template", "babel-traverse", "json5"], "effects": ["babel-register"], "range": "5.8.20 - 7.0.0-beta.3", "nodes": ["node_modules/babel-core"], "fixAvailable": {"name": "babel-core", "version": "4.7.16", "isSemVerMajor": true}}, "babel-helpers": {"name": "babel-helpers", "severity": "critical", "isDirect": false, "via": ["babel-template"], "effects": [], "range": "*", "nodes": ["node_modules/babel-helpers"], "fixAvailable": true}, "babel-register": {"name": "babel-register", "severity": "high", "isDirect": false, "via": ["babel-core"], "effects": ["babel-core"], "range": "*", "nodes": ["node_modules/babel-register"], "fixAvailable": {"name": "babel-core", "version": "4.7.16", "isSemVerMajor": true}}, "babel-template": {"name": "babel-template", "severity": "critical", "isDirect": false, "via": ["babel-traverse"], "effects": ["babel-helpers"], "range": "*", "nodes": ["node_modules/babel-template"], "fixAvailable": true}, "babel-traverse": {"name": "babel-traverse", "severity": "critical", "isDirect": false, "via": [{"source": 1117412, "name": "babel-traverse", "dependency": "babel-traverse", "title": "Babel vulnerable to arbitrary code execution when compiling specifically crafted malicious code", "url": "https://github.com/advisories/GHSA-67hx-6x53-jw92", "severity": "critical", "cwe": ["CWE-184", "CWE-697"], "cvss": {"score": 9.3, "vectorString": "CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H"}, "range": "<7.23.2"}], "effects": ["babel-core", "babel-template"], "range": "*", "nodes": ["node_modules/babel-traverse"], "fixAvailable": {"name": "babel-core", "version": "4.7.16", "isSemVerMajor": true}}, "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", "node_modules/jest-environment-jsdom/node_modules/http-proxy-agent"], "fixAvailable": {"name": "@wikimedia/mw-node-qunit", "version": "6.2.1", "isSemVerMajor": true}}, "jest": {"name": "jest", "severity": "low", "isDirect": true, "via": ["@jest/core", "jest-cli"], "effects": [], "range": "27.0.1 - 27.5.1", "nodes": ["node_modules/jest"], "fixAvailable": {"name": "jest", "version": "30.4.2", "isSemVerMajor": true}}, "jest-cli": {"name": "jest-cli", "severity": "low", "isDirect": false, "via": ["@jest/core", "jest-config"], "effects": ["jest"], "range": "27.0.1 - 27.5.1", "nodes": ["node_modules/jest-cli"], "fixAvailable": {"name": "jest", "version": "30.4.2", "isSemVerMajor": true}}, "jest-config": {"name": "jest-config", "severity": "low", "isDirect": false, "via": ["jest-environment-jsdom", "jest-runner"], "effects": ["@jest/core", "jest-cli"], "range": "27.0.1 - 27.5.1", "nodes": ["node_modules/jest-config"], "fixAvailable": {"name": "jest", "version": "30.4.2", "isSemVerMajor": true}}, "jest-environment-jsdom": {"name": "jest-environment-jsdom", "severity": "low", "isDirect": false, "via": ["jsdom"], "effects": ["jest-config", "jest-runner"], "range": "27.0.1 - 30.0.0-rc.1", "nodes": ["node_modules/jest-environment-jsdom"], "fixAvailable": {"name": "jest", "version": "30.4.2", "isSemVerMajor": true}}, "jest-runner": {"name": "jest-runner", "severity": "low", "isDirect": false, "via": ["jest-environment-jsdom"], "effects": ["@jest/core", "jest-config"], "range": "27.0.4 - 27.5.1", "nodes": ["node_modules/jest-runner"], "fixAvailable": {"name": "jest", "version": "30.4.2", "isSemVerMajor": true}}, "jsdom": {"name": "jsdom", "severity": "low", "isDirect": false, "via": ["http-proxy-agent"], "effects": ["@wikimedia/mw-node-qunit", "jest-environment-jsdom"], "range": "16.6.0 - 22.1.0", "nodes": ["node_modules/jest-environment-jsdom/node_modules/jsdom", "node_modules/jsdom"], "fixAvailable": {"name": "@wikimedia/mw-node-qunit", "version": "6.2.1", "isSemVerMajor": true}}, "json5": {"name": "json5", "severity": "high", "isDirect": false, "via": [{"source": 1096543, "name": "json5", "dependency": "json5", "title": "Prototype Pollution in JSON5 via Parse Method", "url": "https://github.com/advisories/GHSA-9c47-m6qq-7p4h", "severity": "high", "cwe": ["CWE-1321"], "cvss": {"score": 7.1, "vectorString": "CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:L/A:H"}, "range": "<1.0.2"}], "effects": ["babel-core"], "range": "<1.0.2", "nodes": ["node_modules/babel-core/node_modules/json5"], "fixAvailable": {"name": "babel-core", "version": "4.7.16", "isSemVerMajor": true}}, "ws": {"name": "ws", "severity": "moderate", "isDirect": false, "via": [{"source": 1119108, "name": "ws", "dependency": "ws", "title": "ws: Uninitialized memory disclosure", "url": "https://github.com/advisories/GHSA-58qx-3vcg-4xpx", "severity": "moderate", "cwe": ["CWE-908"], "cvss": {"score": 4.4, "vectorString": "CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:U/C:H/I:N/A:N"}, "range": ">=8.0.0 <8.20.1"}], "effects": [], "range": "8.0.0 - 8.20.0", "nodes": [""], "fixAvailable": true}}, "metadata": {"vulnerabilities": {"info": 0, "low": 10, "moderate": 1, "high": 4, "critical": 4, "total": 19}, "dependencies": {"prod": 1, "dev": 987, "optional": 2, "peer": 1, "peerOptional": 0, "total": 987}}}}
$ /usr/bin/npm audit fix --only=dev
--- stderr ---
npm WARN invalid config only="dev" set in command line options
npm WARN invalid config Must be one of: null, prod, production
npm WARN deprecated inflight@1.0.6: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.
npm WARN deprecated source-map-url@0.4.1: See https://github.com/lydell/source-map-url#deprecated
npm WARN deprecated @babel/plugin-proposal-unicode-property-regex@7.18.6: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-unicode-property-regex instead.
npm WARN deprecated @babel/plugin-proposal-private-methods@7.18.6: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-private-methods instead.
npm WARN deprecated @babel/plugin-proposal-optional-catch-binding@7.18.6: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-optional-catch-binding instead.
npm WARN deprecated @babel/plugin-proposal-numeric-separator@7.18.6: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-numeric-separator instead.
npm WARN deprecated @babel/plugin-proposal-nullish-coalescing-operator@7.18.6: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-nullish-coalescing-operator instead.
npm WARN deprecated @babel/plugin-proposal-dynamic-import@7.18.6: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-dynamic-import instead.
npm WARN deprecated @babel/plugin-proposal-class-properties@7.18.6: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-class-properties instead.
npm WARN deprecated @babel/plugin-proposal-json-strings@7.18.6: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-json-strings instead.
npm WARN deprecated @babel/plugin-proposal-export-namespace-from@7.18.9: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-export-namespace-from instead.
npm WARN deprecated @babel/plugin-proposal-class-static-block@7.21.0: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-class-static-block instead.
npm WARN deprecated @babel/plugin-proposal-logical-assignment-operators@7.20.7: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-logical-assignment-operators instead.
npm WARN deprecated urix@0.1.0: Please see https://github.com/lydell/urix#deprecated
npm WARN deprecated rimraf@3.0.2: Rimraf versions prior to v4 are no longer supported
npm WARN deprecated abab@2.0.6: Use your platform's native atob() and btoa() methods instead
npm WARN deprecated @babel/plugin-proposal-private-property-in-object@7.21.11: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-private-property-in-object instead.
npm WARN deprecated @babel/plugin-proposal-optional-chaining@7.21.0: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-optional-chaining instead.
npm WARN deprecated @babel/plugin-proposal-async-generator-functions@7.20.7: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-async-generator-functions instead.
npm WARN deprecated resolve-url@0.2.1: https://github.com/lydell/resolve-url#deprecated
npm WARN deprecated glob@7.2.0: Glob versions prior to v9 are no longer supported
npm WARN deprecated source-map-resolve@0.5.3: See https://github.com/lydell/source-map-resolve#deprecated
npm WARN deprecated @babel/plugin-proposal-object-rest-spread@7.20.7: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-object-rest-spread instead.
npm WARN deprecated domexception@2.0.1: Use your platform's native DOMException instead
npm WARN deprecated w3c-hr-time@1.0.2: Use your platform's native performance.now() and performance.timeOrigin.
npm WARN deprecated domexception@4.0.0: Use your platform's native DOMException instead
npm WARN deprecated sinon@12.0.1: 16.1.1
npm WARN deprecated core-js@2.6.12: core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js.
--- stdout ---

added 986 packages, and audited 987 packages in 12s

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

# npm audit report

@tootallnate/once  <2.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@30.4.2, which is a breaking change
node_modules/jest-environment-jsdom/node_modules/@tootallnate/once
  http-proxy-agent  4.0.1
  Depends on vulnerable versions of @tootallnate/once
  node_modules/jest-environment-jsdom/node_modules/http-proxy-agent
    jsdom  16.6.0 - 17.0.0
    Depends on vulnerable versions of http-proxy-agent
    node_modules/jest-environment-jsdom/node_modules/jsdom
      jest-environment-jsdom  27.0.1 - 27.5.1
      Depends on vulnerable versions of jsdom
      node_modules/jest-environment-jsdom
        jest-config  27.0.1 - 27.5.1
        Depends on vulnerable versions of jest-environment-jsdom
        Depends on vulnerable versions of jest-runner
        node_modules/jest-config
          @jest/core  27.0.1 - 27.5.1
          Depends on vulnerable versions of jest-config
          Depends on vulnerable versions of jest-runner
          node_modules/@jest/core
          jest-cli  27.0.1 - 27.5.1
          Depends on vulnerable versions of @jest/core
          Depends on vulnerable versions of jest-config
          node_modules/jest-cli
            jest  27.0.1 - 27.5.1
            Depends on vulnerable versions of @jest/core
            Depends on vulnerable versions of jest-cli
            node_modules/jest
        jest-runner  27.0.4 - 27.5.1
        Depends on vulnerable versions of jest-environment-jsdom
        node_modules/jest-runner

babel-traverse  *
Severity: critical
Babel vulnerable to arbitrary code execution when compiling specifically crafted malicious code - https://github.com/advisories/GHSA-67hx-6x53-jw92
fix available via `npm audit fix --force`
Will install babel-core@4.7.16, which is a breaking change
node_modules/babel-traverse
  babel-core  5.8.20 - 7.0.0-beta.3
  Depends on vulnerable versions of babel-helpers
  Depends on vulnerable versions of babel-register
  Depends on vulnerable versions of babel-template
  Depends on vulnerable versions of babel-traverse
  Depends on vulnerable versions of json5
  node_modules/babel-core
    babel-register  *
    Depends on vulnerable versions of babel-core
    node_modules/babel-register
  babel-template  *
  Depends on vulnerable versions of babel-traverse
  node_modules/babel-template
    babel-helpers  *
    Depends on vulnerable versions of babel-template
    node_modules/babel-helpers

json5  <1.0.2
Severity: high
Prototype Pollution in JSON5 via Parse Method - https://github.com/advisories/GHSA-9c47-m6qq-7p4h
fix available via `npm audit fix --force`
Will install babel-core@4.7.16, which is a breaking change
node_modules/babel-core/node_modules/json5

15 vulnerabilities (9 low, 2 high, 4 critical)

To address issues that do not require attention, run:
  npm audit fix

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

--- end ---
Verifying that tests still pass
$ /usr/bin/npm ci
--- stderr ---
npm WARN deprecated inflight@1.0.6: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.
npm WARN deprecated source-map-url@0.4.1: See https://github.com/lydell/source-map-url#deprecated
npm WARN deprecated @babel/plugin-proposal-unicode-property-regex@7.18.6: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-unicode-property-regex instead.
npm WARN deprecated @babel/plugin-proposal-private-methods@7.18.6: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-private-methods instead.
npm WARN deprecated @babel/plugin-proposal-optional-catch-binding@7.18.6: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-optional-catch-binding instead.
npm WARN deprecated @babel/plugin-proposal-nullish-coalescing-operator@7.18.6: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-nullish-coalescing-operator instead.
npm WARN deprecated @babel/plugin-proposal-numeric-separator@7.18.6: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-numeric-separator instead.
npm WARN deprecated @babel/plugin-proposal-json-strings@7.18.6: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-json-strings instead.
npm WARN deprecated @babel/plugin-proposal-export-namespace-from@7.18.9: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-export-namespace-from instead.
npm WARN deprecated @babel/plugin-proposal-dynamic-import@7.18.6: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-dynamic-import instead.
npm WARN deprecated @babel/plugin-proposal-class-properties@7.18.6: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-class-properties instead.
npm WARN deprecated @babel/plugin-proposal-logical-assignment-operators@7.20.7: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-logical-assignment-operators instead.
npm WARN deprecated @babel/plugin-proposal-class-static-block@7.21.0: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-class-static-block instead.
npm WARN deprecated urix@0.1.0: Please see https://github.com/lydell/urix#deprecated
npm WARN deprecated rimraf@3.0.2: Rimraf versions prior to v4 are no longer supported
npm WARN deprecated abab@2.0.6: Use your platform's native atob() and btoa() methods instead
npm WARN deprecated @babel/plugin-proposal-private-property-in-object@7.21.11: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-private-property-in-object instead.
npm WARN deprecated @babel/plugin-proposal-optional-chaining@7.21.0: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-optional-chaining instead.
npm WARN deprecated @babel/plugin-proposal-async-generator-functions@7.20.7: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-async-generator-functions instead.
npm WARN deprecated resolve-url@0.2.1: https://github.com/lydell/resolve-url#deprecated
npm WARN deprecated glob@7.2.0: Glob versions prior to v9 are no longer supported
npm WARN deprecated source-map-resolve@0.5.3: See https://github.com/lydell/source-map-resolve#deprecated
npm WARN deprecated @babel/plugin-proposal-object-rest-spread@7.20.7: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-object-rest-spread instead.
npm WARN deprecated domexception@2.0.1: Use your platform's native DOMException instead
npm WARN deprecated w3c-hr-time@1.0.2: Use your platform's native performance.now() and performance.timeOrigin.
npm WARN deprecated domexception@4.0.0: Use your platform's native DOMException instead
npm WARN deprecated sinon@12.0.1: 16.1.1
npm WARN deprecated core-js@2.6.12: core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js.
--- stdout ---

added 986 packages, and audited 987 packages in 13s

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

16 vulnerabilities (10 low, 2 high, 4 critical)

To address issues that do not require attention, run:
  npm audit fix

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

Run `npm audit` for details.

--- end ---
$ /usr/bin/npm test
--- stderr ---
PASS tests/jest/utils.test.js
PASS tests/jest/render.test.js
  ● Console

    console.warn
      [Vue warn]: Invalid prop: type check failed for prop "thankYouMessage". Expected String with value "undefined", got Undefined  
        at <QuickSurvey onLogEvent=fn<mockConstructor> onDismiss=fn onDestroy=fn<onDestroy>  ... > 
        at <App>

      74 | 	panel.removeAttribute( 'title' );
      75 | 	panel.innerHTML = '';
    > 76 | 	vm.mount( panel );
         | 	   ^
      77 | 	return deferred;
      78 | }
      79 |

      at warn$1 (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:49:13)
      at validateProp (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4354:7)
      at validateProps (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4326:5)
      at initProps (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4031:5)
      at setupComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7531:3)
      at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5861:7)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5827:9)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5306:11)
      at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5971:11)
      at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:181:19)
      at instance.update (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6095:16)
      at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6105:5)
      at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5873:7)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5827:9)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5306:11)
      at render (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6616:7)
      at mount (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3930:13)
      at Object.mount (node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.js:1477:19)
      at Object.render (resources/ext.quicksurveys.lib/vue/render.js:76:5)
      at Object.<anonymous> (tests/jest/render.test.js:19:69)

    console.warn
      [Vue warn]: CdxButton: Icon-only buttons require one of the following attributes: aria-label or aria-hidden. See documentation at https://doc.wikimedia.org/codex/latest/components/demos/button.html#icon-only-button 
        at <CdxButton weight="quiet" onClick=fn<bound dismissAndDestroy> > 
        at <QuickSurvey onLogEvent=fn<mockConstructor> onDismiss=fn onDestroy=fn<onDestroy>  ... > 
        at <App>

      74 | 	panel.removeAttribute( 'title' );
      75 | 	panel.innerHTML = '';
    > 76 | 	vm.mount( panel );
         | 	   ^
      77 | 	return deferred;
      78 | }
      79 |

      at Object.warn$1 [as warn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:49:13)
      at qe (node_modules/@wikimedia/codex/dist/codex.cjs:1:6779)
      at Kt (node_modules/@wikimedia/codex/dist/codex.cjs:1:7002)
      at setup (node_modules/@wikimedia/codex/dist/codex.cjs:1:7566)
      at callWithErrorHandling (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:195:19)
      at setupStatefulComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7572:25)
      at setupComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7533:36)
      at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5861:7)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5827:9)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5306:11)
      at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5554:7)
      at mountElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5461:7)
      at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5426:7)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5294:11)
      at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5554:7)
      at mountElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5461:7)
      at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5426:7)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5294:11)
      at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5554:7)
      at mountElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5461:7)
      at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5426:7)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5294:11)
      at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5554:7)
      at mountElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5461:7)
      at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5426:7)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5294:11)
      at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5971:11)
      at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:181:19)
      at instance.update (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6095:16)
      at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6105:5)
      at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5873:7)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5827:9)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5306:11)
      at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5971:11)
      at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:181:19)
      at instance.update (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6095:16)
      at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6105:5)
      at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5873:7)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5827:9)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5306:11)
      at render (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6616:7)
      at mount (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3930:13)
      at Object.mount (node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.js:1477:19)
      at Object.render (resources/ext.quicksurveys.lib/vue/render.js:76:5)
      at Object.<anonymous> (tests/jest/render.test.js:19:69)

    console.warn
      [Vue warn]: Invalid prop: type check failed for prop "thankYouMessage". Expected String with value "undefined", got Undefined  
        at <QuickSurvey onLogEvent=fn<mockConstructor> onDismiss=fn onDestroy=fn<onDestroy>  ... > 
        at <App>

      74 | 	panel.removeAttribute( 'title' );
      75 | 	panel.innerHTML = '';
    > 76 | 	vm.mount( panel );
         | 	   ^
      77 | 	return deferred;
      78 | }
      79 |

      at warn$1 (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:49:13)
      at validateProp (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4354:7)
      at validateProps (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4326:5)
      at initProps (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4031:5)
      at setupComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7531:3)
      at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5861:7)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5827:9)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5306:11)
      at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5971:11)
      at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:181:19)
      at instance.update (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6095:16)
      at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6105:5)
      at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5873:7)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5827:9)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5306:11)
      at render (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6616:7)
      at mount (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3930:13)
      at Object.mount (node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.js:1477:19)
      at Object.render (resources/ext.quicksurveys.lib/vue/render.js:76:5)
      at Object.<anonymous> (tests/jest/render.test.js:45:44)

    console.warn
      [Vue warn]: CdxButton: Icon-only buttons require one of the following attributes: aria-label or aria-hidden. See documentation at https://doc.wikimedia.org/codex/latest/components/demos/button.html#icon-only-button 
        at <CdxButton weight="quiet" onClick=fn<bound dismissAndDestroy> > 
        at <QuickSurvey onLogEvent=fn<mockConstructor> onDismiss=fn onDestroy=fn<onDestroy>  ... > 
        at <App>

      74 | 	panel.removeAttribute( 'title' );
      75 | 	panel.innerHTML = '';
    > 76 | 	vm.mount( panel );
         | 	   ^
      77 | 	return deferred;
      78 | }
      79 |

      at Object.warn$1 [as warn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:49:13)
      at qe (node_modules/@wikimedia/codex/dist/codex.cjs:1:6779)
      at Kt (node_modules/@wikimedia/codex/dist/codex.cjs:1:7002)
      at setup (node_modules/@wikimedia/codex/dist/codex.cjs:1:7566)
      at callWithErrorHandling (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:195:19)
      at setupStatefulComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7572:25)
      at setupComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7533:36)
      at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5861:7)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5827:9)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5306:11)
      at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5554:7)
      at mountElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5461:7)
      at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5426:7)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5294:11)
      at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5554:7)
      at mountElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5461:7)
      at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5426:7)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5294:11)
      at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5554:7)
      at mountElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5461:7)
      at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5426:7)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5294:11)
      at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5554:7)
      at mountElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5461:7)
      at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5426:7)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5294:11)
      at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5971:11)
      at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:181:19)
      at instance.update (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6095:16)
      at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6105:5)
      at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5873:7)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5827:9)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5306:11)
      at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5971:11)
      at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:181:19)
      at instance.update (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6095:16)
      at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6105:5)
      at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5873:7)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5827:9)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5306:11)
      at render (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6616:7)
      at mount (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3930:13)
      at Object.mount (node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.js:1477:19)
      at Object.render (resources/ext.quicksurveys.lib/vue/render.js:76:5)
      at Object.<anonymous> (tests/jest/render.test.js:45:44)

    console.warn
      [Vue warn]: Invalid prop: type check failed for prop "thankYouMessage". Expected String with value "undefined", got Undefined  
        at <QuickSurvey onLogEvent=fn<mockConstructor> onDismiss=fn onDestroy=fn<onDestroy>  ... > 
        at <App>

      74 | 	panel.removeAttribute( 'title' );
      75 | 	panel.innerHTML = '';
    > 76 | 	vm.mount( panel );
         | 	   ^
      77 | 	return deferred;
      78 | }
      79 |

      at warn$1 (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:49:13)
      at validateProp (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4354:7)
      at validateProps (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4326:5)
      at initProps (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4031:5)
      at setupComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7531:3)
      at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5861:7)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5827:9)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5306:11)
      at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5971:11)
      at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:181:19)
      at instance.update (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6095:16)
      at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6105:5)
      at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5873:7)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5827:9)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5306:11)
      at render (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6616:7)
      at mount (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3930:13)
      at Object.mount (node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.js:1477:19)
      at Object.render (resources/ext.quicksurveys.lib/vue/render.js:76:5)
      at Object.<anonymous> (tests/jest/render.test.js:69:47)

    console.warn
      [Vue warn]: CdxButton: Icon-only buttons require one of the following attributes: aria-label or aria-hidden. See documentation at https://doc.wikimedia.org/codex/latest/components/demos/button.html#icon-only-button 
        at <CdxButton weight="quiet" onClick=fn<bound dismissAndDestroy> > 
        at <QuickSurvey onLogEvent=fn<mockConstructor> onDismiss=fn onDestroy=fn<onDestroy>  ... > 
        at <App>

      74 | 	panel.removeAttribute( 'title' );
      75 | 	panel.innerHTML = '';
    > 76 | 	vm.mount( panel );
         | 	   ^
      77 | 	return deferred;
      78 | }
      79 |

      at Object.warn$1 [as warn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:49:13)
      at qe (node_modules/@wikimedia/codex/dist/codex.cjs:1:6779)
      at Kt (node_modules/@wikimedia/codex/dist/codex.cjs:1:7002)
      at setup (node_modules/@wikimedia/codex/dist/codex.cjs:1:7566)
      at callWithErrorHandling (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:195:19)
      at setupStatefulComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7572:25)
      at setupComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7533:36)
      at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5861:7)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5827:9)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5306:11)
      at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5554:7)
      at mountElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5461:7)
      at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5426:7)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5294:11)
      at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5554:7)
      at mountElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5461:7)
      at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5426:7)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5294:11)
      at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5554:7)
      at mountElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5461:7)
      at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5426:7)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5294:11)
      at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5554:7)
      at mountElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5461:7)
      at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5426:7)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5294:11)
      at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5971:11)
      at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:181:19)
      at instance.update (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6095:16)
      at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6105:5)
      at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5873:7)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5827:9)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5306:11)
      at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5971:11)
      at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:181:19)
      at instance.update (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6095:16)
      at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6105:5)
      at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5873:7)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5827:9)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5306:11)
      at render (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6616:7)
      at mount (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3930:13)
      at Object.mount (node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.js:1477:19)
      at Object.render (resources/ext.quicksurveys.lib/vue/render.js:76:5)
      at Object.<anonymous> (tests/jest/render.test.js:69:47)

    console.warn
      [Vue warn]: Invalid prop: type check failed for prop "thankYouMessage". Expected String with value "undefined", got Undefined  
        at <QuickSurvey onLogEvent=fn<mockConstructor> onDismiss=fn onDestroy=fn<onDestroy>  ... > 
        at <App>

      74 | 	panel.removeAttribute( 'title' );
      75 | 	panel.innerHTML = '';
    > 76 | 	vm.mount( panel );
         | 	   ^
      77 | 	return deferred;
      78 | }
      79 |

      at warn$1 (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:49:13)
      at validateProp (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4354:7)
      at validateProps (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4326:5)
      at initProps (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4031:5)
      at setupComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7531:3)
      at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5861:7)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5827:9)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5306:11)
      at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5971:11)
      at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:181:19)
      at instance.update (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6095:16)
      at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6105:5)
      at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5873:7)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5827:9)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5306:11)
      at render (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6616:7)
      at mount (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3930:13)
      at Object.mount (node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.js:1477:19)
      at Object.render (resources/ext.quicksurveys.lib/vue/render.js:76:5)
      at Object.<anonymous> (tests/jest/render.test.js:92:52)

    console.warn
      [Vue warn]: CdxButton: Icon-only buttons require one of the following attributes: aria-label or aria-hidden. See documentation at https://doc.wikimedia.org/codex/latest/components/demos/button.html#icon-only-button 
        at <CdxButton weight="quiet" onClick=fn<bound dismissAndDestroy> > 
        at <QuickSurvey onLogEvent=fn<mockConstructor> onDismiss=fn onDestroy=fn<onDestroy>  ... > 
        at <App>

      74 | 	panel.removeAttribute( 'title' );
      75 | 	panel.innerHTML = '';
    > 76 | 	vm.mount( panel );
         | 	   ^
      77 | 	return deferred;
      78 | }
      79 |

      at Object.warn$1 [as warn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:49:13)
      at qe (node_modules/@wikimedia/codex/dist/codex.cjs:1:6779)
      at Kt (node_modules/@wikimedia/codex/dist/codex.cjs:1:7002)
      at setup (node_modules/@wikimedia/codex/dist/codex.cjs:1:7566)
      at callWithErrorHandling (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:195:19)
      at setupStatefulComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7572:25)
      at setupComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7533:36)
      at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5861:7)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5827:9)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5306:11)
      at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5554:7)
      at mountElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5461:7)
      at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5426:7)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5294:11)
      at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5554:7)
      at mountElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5461:7)
      at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5426:7)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5294:11)
      at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5554:7)
      at mountElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5461:7)
      at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5426:7)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5294:11)
      at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5554:7)
      at mountElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5461:7)
      at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5426:7)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5294:11)
      at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5971:11)
      at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:181:19)
      at instance.update (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6095:16)
      at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6105:5)
      at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5873:7)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5827:9)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5306:11)
      at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5971:11)
      at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:181:19)
      at instance.update (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6095:16)
      at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6105:5)
      at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5873:7)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5827:9)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5306:11)
      at render (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6616:7)
      at mount (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3930:13)
      at Object.mount (node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.js:1477:19)
      at Object.render (resources/ext.quicksurveys.lib/vue/render.js:76:5)
      at Object.<anonymous> (tests/jest/render.test.js:92:52)

    console.warn
      [Vue warn]: Invalid prop: type check failed for prop "thankYouMessage". Expected String with value "undefined", got Undefined  
        at <QuickSurvey onLogEvent=fn<mockConstructor> onDismiss=fn onDestroy=fn<onDestroy>  ... > 
        at <App>

      74 | 	panel.removeAttribute( 'title' );
      75 | 	panel.innerHTML = '';
    > 76 | 	vm.mount( panel );
         | 	   ^
      77 | 	return deferred;
      78 | }
      79 |

      at warn$1 (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:49:13)
      at validateProp (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4354:7)
      at validateProps (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4326:5)
      at initProps (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4031:5)
      at setupComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7531:3)
      at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5861:7)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5827:9)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5306:11)
      at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5971:11)
      at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:181:19)
      at instance.update (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6095:16)
      at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6105:5)
      at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5873:7)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5827:9)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5306:11)
      at render (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6616:7)
      at mount (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3930:13)
      at Object.mount (node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.js:1477:19)
      at Object.render (resources/ext.quicksurveys.lib/vue/render.js:76:5)
      at Object.<anonymous> (tests/jest/render.test.js:117:14)

    console.warn
      [Vue warn]: CdxButton: Icon-only buttons require one of the following attributes: aria-label or aria-hidden. See documentation at https://doc.wikimedia.org/codex/latest/components/demos/button.html#icon-only-button 
        at <CdxButton weight="quiet" onClick=fn<bound dismissAndDestroy> > 
        at <QuickSurvey onLogEvent=fn<mockConstructor> onDismiss=fn onDestroy=fn<onDestroy>  ... > 
        at <App>

      74 | 	panel.removeAttribute( 'title' );
      75 | 	panel.innerHTML = '';
    > 76 | 	vm.mount( panel );
         | 	   ^
      77 | 	return deferred;
      78 | }
      79 |

      at Object.warn$1 [as warn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:49:13)
      at qe (node_modules/@wikimedia/codex/dist/codex.cjs:1:6779)
      at Kt (node_modules/@wikimedia/codex/dist/codex.cjs:1:7002)
      at setup (node_modules/@wikimedia/codex/dist/codex.cjs:1:7566)
      at callWithErrorHandling (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:195:19)
      at setupStatefulComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7572:25)
      at setupComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7533:36)
      at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5861:7)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5827:9)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5306:11)
      at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5554:7)
      at mountElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5461:7)
      at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5426:7)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5294:11)
      at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5554:7)
      at mountElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5461:7)
      at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5426:7)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5294:11)
      at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5554:7)
      at mountElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5461:7)
      at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5426:7)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5294:11)
      at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5554:7)
      at mountElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5461:7)
      at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5426:7)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5294:11)
      at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5971:11)
      at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:181:19)
      at instance.update (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6095:16)
      at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6105:5)
      at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5873:7)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5827:9)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5306:11)
      at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5971:11)
      at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:181:19)
      at instance.update (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6095:16)
      at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6105:5)
      at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5873:7)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5827:9)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5306:11)
      at render (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6616:7)
      at mount (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3930:13)
      at Object.mount (node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.js:1477:19)
      at Object.render (resources/ext.quicksurveys.lib/vue/render.js:76:5)
      at Object.<anonymous> (tests/jest/render.test.js:117:14)

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

    console.warn
      [Vue warn]: CdxButton: Icon-only buttons require one of the following attributes: aria-label or aria-hidden. See documentation at https://doc.wikimedia.org/codex/latest/components/demos/button.html#icon-only-button 
        at <CdxButton weight="quiet" onClick=fn<bound dismissAndDestroy> > 
        at <QuickSurvey name="survey" thankYouMessage="thanks!" surveySessionToken="ss"  ... > 
        at <VTUROOT>

      25 |
      26 | 	it( 'renders with required parameters', () => {
    > 27 | 		const survey = VueTestUtils.mount( QuickSurvey, {
         | 		                            ^
      28 | 			propsData: {
      29 | 				name: 'survey',
      30 | 				thankYouMessage: 'thanks!',

      at Object.warn$1 [as warn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:49:13)
      at qe (node_modules/@wikimedia/codex/dist/codex.cjs:1:6779)
      at Kt (node_modules/@wikimedia/codex/dist/codex.cjs:1:7002)
      at setup (node_modules/@wikimedia/codex/dist/codex.cjs:1:7566)
      at callWithErrorHandling (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:195:19)
      at setupStatefulComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7572:25)
      at setupComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7533:36)
      at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5861:7)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5827:9)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5306:11)
      at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5554:7)
      at mountElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5461:7)
      at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5426:7)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5294:11)
      at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5554:7)
      at mountElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5461:7)
      at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5426:7)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5294:11)
      at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5554:7)
      at mountElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5461:7)
      at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5426:7)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5294:11)
      at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5554:7)
      at mountElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5461:7)
      at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5426:7)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5294:11)
      at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5971:11)
      at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:181:19)
      at instance.update (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6095:16)
      at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6105:5)
      at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5873:7)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5827:9)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5306:11)
      at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5971:11)
      at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:181:19)
      at instance.update (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6095:16)
      at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6105:5)
      at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5873:7)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5827:9)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5306:11)
      at render (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6616:7)
      at mount (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3930:13)
      at Object.app.mount (node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.js:1477:19)
      at Object.mount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:7919:18)
      at Object.<anonymous> (tests/jest/QuickSurvey.test.js:27:31)

    console.warn
      [Vue warn]: CdxButton: Icon-only buttons require one of the following attributes: aria-label or aria-hidden. See documentation at https://doc.wikimedia.org/codex/latest/components/demos/button.html#icon-only-button 
        at <CdxButton weight="quiet" onClick=fn<bound dismissAndDestroy> > 
        at <QuickSurvey name="survey" thankYouMessage="thanks!" surveySessionToken="ss"  ... > 
        at <VTUROOT>

      52 |
      53 | 	it( 'clicking the close button dismisses and removes survey', async () => {
    > 54 | 		const survey = VueTestUtils.mount( QuickSurvey, {
         | 		                            ^
      55 | 			propsData: {
      56 | 				name: 'survey',
      57 | 				thankYouMessage: 'thanks!',

      at Object.warn$1 [as warn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:49:13)
      at qe (node_modules/@wikimedia/codex/dist/codex.cjs:1:6779)
      at Kt (node_modules/@wikimedia/codex/dist/codex.cjs:1:7002)
      at setup (node_modules/@wikimedia/codex/dist/codex.cjs:1:7566)
      at callWithErrorHandling (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:195:19)
      at setupStatefulComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7572:25)
      at setupComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7533:36)
      at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5861:7)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5827:9)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5306:11)
      at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5554:7)
      at mountElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5461:7)
      at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5426:7)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5294:11)
      at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5554:7)
      at mountElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5461:7)
      at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5426:7)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5294:11)
      at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5554:7)
      at mountElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5461:7)
      at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5426:7)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5294:11)
      at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5554:7)
      at mountElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5461:7)
      at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5426:7)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5294:11)
      at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5971:11)
      at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:181:19)
      at instance.update (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6095:16)
      at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6105:5)
      at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5873:7)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5827:9)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5306:11)
      at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5971:11)
      at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:181:19)
      at instance.update (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6095:16)
      at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6105:5)
      at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5873:7)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5827:9)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5306:11)
      at render (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6616:7)
      at mount (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3930:13)
      at Object.app.mount (node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.js:1477:19)
      at Object.mount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:7919:18)
      at Object.<anonymous> (tests/jest/QuickSurvey.test.js:54:31)

    console.warn
      [Vue warn]: CdxButton: Icon-only buttons require one of the following attributes: aria-label or aria-hidden. See documentation at https://doc.wikimedia.org/codex/latest/components/demos/button.html#icon-only-button 
        at <CdxButton weight="quiet" onClick=fn<bound dismissAndDestroy> > 
        at <QuickSurvey name="survey" thankYouMessage="thanks!" surveySessionToken="ss"  ... > 
        at <VTUROOT>

      76 | 	describe( 'ExternalSurvey', () => {
      77 | 		it( 'renders two external survey buttons with externalLink', () => {
    > 78 | 			const survey = VueTestUtils.mount( QuickSurvey, {
         | 			                            ^
      79 | 				propsData: {
      80 | 					name: 'survey',
      81 | 					thankYouMessage: 'thanks!',

      at Object.warn$1 [as warn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:49:13)
      at qe (node_modules/@wikimedia/codex/dist/codex.cjs:1:6779)
      at Kt (node_modules/@wikimedia/codex/dist/codex.cjs:1:7002)
      at setup (node_modules/@wikimedia/codex/dist/codex.cjs:1:7566)
      at callWithErrorHandling (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:195:19)
      at setupStatefulComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7572:25)
      at setupComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7533:36)
      at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5861:7)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5827:9)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5306:11)
      at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5554:7)
      at mountElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5461:7)
      at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5426:7)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5294:11)
      at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5554:7)
      at mountElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5461:7)
      at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5426:7)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5294:11)
      at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5554:7)
      at mountElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5461:7)
      at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5426:7)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5294:11)
      at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5554:7)
      at mountElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5461:7)
      at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5426:7)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5294:11)
      at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5971:11)
      at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:181:19)
      at instance.update (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6095:16)
      at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6105:5)
      at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5873:7)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5827:9)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5306:11)
      at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5971:11)
      at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:181:19)
      at instance.update (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6095:16)
      at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6105:5)
      at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5873:7)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5827:9)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5306:11)
      at render (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6616:7)
      at mount (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3930:13)
      at Object.app.mount (node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.js:1477:19)
      at Object.mount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:7919:18)
      at Object.<anonymous> (tests/jest/QuickSurvey.test.js:78:32)

    console.warn
      [Vue warn]: CdxButton: Icon-only buttons require one of the following attributes: aria-label or aria-hidden. See documentation at https://doc.wikimedia.org/codex/latest/components/demos/button.html#icon-only-button 
        at <CdxButton weight="quiet" onClick=fn<bound dismissAndDestroy> > 
        at <QuickSurvey name="survey" thankYouMessage="thanks!" surveySessionToken="ss"  ... > 
        at <VTUROOT>

      100 |
      101 | 		it( 'clicking dismiss button removes survey', async () => {
    > 102 | 			const survey = VueTestUtils.mount( QuickSurvey, {
          | 			                            ^
      103 | 				propsData: {
      104 | 					name: 'survey',
      105 | 					thankYouMessage: 'thanks!',

      at Object.warn$1 [as warn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:49:13)
      at qe (node_modules/@wikimedia/codex/dist/codex.cjs:1:6779)
      at Kt (node_modules/@wikimedia/codex/dist/codex.cjs:1:7002)
      at setup (node_modules/@wikimedia/codex/dist/codex.cjs:1:7566)
      at callWithErrorHandling (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:195:19)
      at setupStatefulComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7572:25)
      at setupComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7533:36)
      at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5861:7)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5827:9)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5306:11)
      at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5554:7)
      at mountElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5461:7)
      at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5426:7)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5294:11)
      at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5554:7)
      at mountElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5461:7)
      at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5426:7)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5294:11)
      at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5554:7)
      at mountElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5461:7)
      at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5426:7)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5294:11)
      at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5554:7)
      at mountElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5461:7)
      at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5426:7)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5294:11)
      at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5971:11)
      at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:181:19)
      at instance.update (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6095:16)
      at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6105:5)
      at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5873:7)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5827:9)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5306:11)
      at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5971:11)
      at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:181:19)
      at instance.update (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6095:16)
      at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6105:5)
      at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5873:7)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5827:9)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5306:11)
      at render (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6616:7)
      at mount (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3930:13)
      at Object.app.mount (node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.js:1477:19)
      at Object.mount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:7919:18)
      at Object.<anonymous> (tests/jest/QuickSurvey.test.js:102:32)

    console.warn
      [Vue warn]: CdxButton: Icon-only buttons require one of the following attributes: aria-label or aria-hidden. See documentation at https://doc.wikimedia.org/codex/latest/components/demos/button.html#icon-only-button 
        at <CdxButton weight="quiet" onClick=fn<bound dismissAndDestroy> > 
        at <QuickSurvey name="survey" thankYouMessage="thanks!" surveySessionToken="ss"  ... > 
        at <VTUROOT>

      125 |
      126 | 		it( 'Opens window when yes clicked for external surveys', async () => {
    > 127 | 			const survey = VueTestUtils.mount( QuickSurvey, {
          | 			                            ^
      128 | 					propsData: {
      129 | 						name: 'survey',
      130 | 						thankYouMessage: 'thanks!',

      at Object.warn$1 [as warn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:49:13)
      at qe (node_modules/@wikimedia/codex/dist/codex.cjs:1:6779)
      at Kt (node_modules/@wikimedia/codex/dist/codex.cjs:1:7002)
      at setup (node_modules/@wikimedia/codex/dist/codex.cjs:1:7566)
      at callWithErrorHandling (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:195:19)
      at setupStatefulComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7572:25)
      at setupComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7533:36)
      at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5861:7)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5827:9)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5306:11)
      at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5554:7)
      at mountElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5461:7)
      at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5426:7)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5294:11)
      at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5554:7)
      at mountElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5461:7)
      at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5426:7)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5294:11)
      at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5554:7)
      at mountElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5461:7)
      at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5426:7)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5294:11)
      at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5554:7)
      at mountElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5461:7)
      at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5426:7)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5294:11)
      at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5971:11)
      at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:181:19)
      at instance.update (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6095:16)
      at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6105:5)
      at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5873:7)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5827:9)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5306:11)
      at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5971:11)
      at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:181:19)
      at instance.update (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6095:16)
      at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6105:5)
      at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5873:7)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5827:9)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5306:11)
      at render (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6616:7)
      at mount (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3930:13)
      at Object.app.mount (node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.js:1477:19)
      at Object.mount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:7919:18)
      at Object.<anonymous> (tests/jest/QuickSurvey.test.js:127:32)

    console.warn
      [Vue warn]: CdxButton: Icon-only buttons require one of the following attributes: aria-label or aria-hidden. See documentation at https://doc.wikimedia.org/codex/latest/components/demos/button.html#icon-only-button 
        at <CdxButton weight="quiet" onClick=fn<bound dismissAndDestroy> > 
        at <QuickSurvey footer="privacy policy instead of additional info" name="survey" thankYouMessage="thanks!"  ... > 
        at <VTUROOT>

      151 | 			async () => {
      152 | 				const privacyPolicy = 'privacy policy instead of additional info';
    > 153 | 				const survey = VueTestUtils.mount( QuickSurvey, {
          | 				                            ^
      154 | 						propsData: {
      155 | 							footer: privacyPolicy,
      156 | 							name: 'survey',

      at Object.warn$1 [as warn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:49:13)
      at qe (node_modules/@wikimedia/codex/dist/codex.cjs:1:6779)
      at Kt (node_modules/@wikimedia/codex/dist/codex.cjs:1:7002)
      at setup (node_modules/@wikimedia/codex/dist/codex.cjs:1:7566)
      at callWithErrorHandling (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:195:19)
      at setupStatefulComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7572:25)
      at setupComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7533:36)
      at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5861:7)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5827:9)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5306:11)
      at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5554:7)
      at mountElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5461:7)
      at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5426:7)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5294:11)
      at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5554:7)
      at mountElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5461:7)
      at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5426:7)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5294:11)
      at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5554:7)
      at mountElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5461:7)
      at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5426:7)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5294:11)
      at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5554:7)
      at mountElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5461:7)
      at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5426:7)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5294:11)
      at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5971:11)
      at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:181:19)
      at instance.update (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6095:16)
      at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6105:5)
      at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5873:7)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5827:9)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5306:11)
      at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5971:11)
      at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:181:19)
      at instance.update (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6095:16)
      at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6105:5)
      at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5873:7)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5827:9)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5306:11)
      at render (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6616:7)
      at mount (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3930:13)
      at Object.app.mount (node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.js:1477:19)
      at Object.mount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:7919:18)
      at Object.<anonymous> (tests/jest/QuickSurvey.test.js:153:33)

    console.warn
      [Vue warn]: CdxButton: Icon-only buttons require one of the following attributes: aria-label or aria-hidden. See documentation at https://doc.wikimedia.org/codex/latest/components/demos/button.html#icon-only-button 
        at <CdxButton weight="quiet" onClick=fn<bound dismissAndDestroy> > 
        at <QuickSurvey additionalInfo="additional info instead of privacy policy" footer="privacy policy instead of additional info" name="survey"  ... > 
        at <VTUROOT>

      180 | 				const additionalInfo = 'additional info instead of privacy policy';
      181 | 				const privacyPolicy = 'privacy policy instead of additional info';
    > 182 | 				const survey = VueTestUtils.mount( QuickSurvey, {
          | 				                            ^
      183 | 						propsData: {
      184 | 							additionalInfo: additionalInfo,
      185 | 							footer: privacyPolicy,

      at Object.warn$1 [as warn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:49:13)
      at qe (node_modules/@wikimedia/codex/dist/codex.cjs:1:6779)
      at Kt (node_modules/@wikimedia/codex/dist/codex.cjs:1:7002)
      at setup (node_modules/@wikimedia/codex/dist/codex.cjs:1:7566)
      at callWithErrorHandling (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:195:19)
      at setupStatefulComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7572:25)
      at setupComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7533:36)
      at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5861:7)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5827:9)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5306:11)
      at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5554:7)
      at mountElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5461:7)
      at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5426:7)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5294:11)
      at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5554:7)
      at mountElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5461:7)
      at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5426:7)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5294:11)
      at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5554:7)
      at mountElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5461:7)
      at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5426:7)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5294:11)
      at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5554:7)
      at mountElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5461:7)
      at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5426:7)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5294:11)
      at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5971:11)
      at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:181:19)
      at instance.update (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6095:16)
      at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6105:5)
      at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5873:7)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5827:9)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5306:11)
      at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5971:11)
      at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:181:19)
      at instance.update (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6095:16)
      at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6105:5)
      at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5873:7)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5827:9)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5306:11)
      at render (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6616:7)
      at mount (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3930:13)
      at Object.app.mount (node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.js:1477:19)
      at Object.mount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:7919:18)
      at Object.<anonymous> (tests/jest/QuickSurvey.test.js:182:33)

    console.warn
      [Vue warn]: CdxButton: Icon-only buttons require one of the following attributes: aria-label or aria-hidden. See documentation at https://doc.wikimedia.org/codex/latest/components/demos/button.html#icon-only-button 
        at <CdxButton weight="quiet" onClick=fn<bound dismissAndDestroy> > 
        at <QuickSurvey name="survey" footer="privacy policy instead of additional info" thankYouMessage="thank you come again"  ... > 
        at <VTUROOT>

      236 |
      237 | 		it( 'requires an answer', async () => {
    > 238 | 			const survey = VueTestUtils.mount( QuickSurvey, SINGLE_ANSWER_SURVEY );
          | 			                            ^
      239 | 			await survey.findAllComponents( codex.CdxButton )[ 1 ].trigger( 'click' );
      240 | 			expect( window.alert.mock.calls.length ).toBe( 1 );
      241 | 		} );

      at Object.warn$1 [as warn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:49:13)
      at qe (node_modules/@wikimedia/codex/dist/codex.cjs:1:6779)
      at Kt (node_modules/@wikimedia/codex/dist/codex.cjs:1:7002)
      at setup (node_modules/@wikimedia/codex/dist/codex.cjs:1:7566)
      at callWithErrorHandling (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:195:19)
      at setupStatefulComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7572:25)
      at setupComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7533:36)
      at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5861:7)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5827:9)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5306:11)
      at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5554:7)
      at mountElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5461:7)
      at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5426:7)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5294:11)
      at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5554:7)
      at mountElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5461:7)
      at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5426:7)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5294:11)
      at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5554:7)
      at mountElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5461:7)
      at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5426:7)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5294:11)
      at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5554:7)
      at mountElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5461:7)
      at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5426:7)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5294:11)
      at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5971:11)
      at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:181:19)
      at instance.update (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6095:16)
      at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6105:5)
      at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5873:7)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5827:9)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5306:11)
      at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5971:11)
      at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:181:19)
      at instance.update (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6095:16)
      at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6105:5)
      at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5873:7)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5827:9)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5306:11)
      at render (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6616:7)
      at mount (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3930:13)
      at Object.app.mount (node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.js:1477:19)
      at Object.mount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:7919:18)
      at Object.<anonymous> (tests/jest/QuickSurvey.test.js:238:32)

    console.warn
      [Vue warn]: CdxButton: Icon-only buttons require one of the following attributes: aria-label or aria-hidden. See documentation at https://doc.wikimedia.org/codex/latest/components/demos/button.html#icon-only-button 
        at <CdxButton weight="quiet" onClick=fn<bound dismissAndDestroy> > 
        at <QuickSurvey name="survey" footer="privacy policy instead of additional info" thankYouMessage="thank you come again"  ... > 
        at <VTUROOT>

      242 |
      243 | 		it( 'does not shuffle answers when clicked', async () => {
    > 244 | 			const survey = VueTestUtils.mount( QuickSurvey, SINGLE_ANSWER_SURVEY );
          | 			                            ^
      245 |
      246 | 			const buttons = survey.findAllComponents( codex.CdxRadio );
      247 |

      at Object.warn$1 [as warn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:49:13)
      at qe (node_modules/@wikimedia/codex/dist/codex.cjs:1:6779)
      at Kt (node_modules/@wikimedia/codex/dist/codex.cjs:1:7002)
      at setup (node_modules/@wikimedia/codex/dist/codex.cjs:1:7566)
      at callWithErrorHandling (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:195:19)
      at setupStatefulComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7572:25)
      at setupComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7533:36)
      at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5861:7)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5827:9)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5306:11)
      at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5554:7)
      at mountElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5461:7)
      at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5426:7)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5294:11)
      at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5554:7)
      at mountElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5461:7)
      at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5426:7)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5294:11)
      at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5554:7)
      at mountElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5461:7)
      at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5426:7)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5294:11)
      at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5554:7)
      at mountElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5461:7)
      at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5426:7)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5294:11)
      at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5971:11)
      at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:181:19)
      at instance.update (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6095:16)
      at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6105:5)
      at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5873:7)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5827:9)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5306:11)
      at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5971:11)
      at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:181:19)
      at instance.update (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6095:16)
      at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6105:5)
      at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5873:7)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5827:9)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5306:11)
      at render (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6616:7)
      at mount (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3930:13)
      at Object.app.mount (node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.js:1477:19)
      at Object.mount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:7919:18)
      at Object.<anonymous> (tests/jest/QuickSurvey.test.js:244:32)

    console.warn
      [Vue warn]: CdxButton: Icon-only buttons require one of the following attributes: aria-label or aria-hidden. See documentation at https://doc.wikimedia.org/codex/latest/components/demos/button.html#icon-only-button 
        at <CdxButton weight="quiet" onClick=fn<bound dismissAndDestroy> > 
        at <QuickSurvey name="survey" footer="privacy policy instead of additional info" thankYouMessage="thank you come again"  ... > 
        at <VTUROOT>

      261 | 			const props = Object.assign( {}, SINGLE_ANSWER_SURVEY );
      262 | 			props.propsData.questions[ 0 ].shuffleAnswersDisplay = false;
    > 263 | 			const survey = VueTestUtils.mount( QuickSurvey, props );
          | 			                            ^
      264 |
      265 | 			const buttons = survey.findAllComponents( codex.CdxButton );
      266 | 			const radioButtons = survey.findAllComponents( codex.CdxRadio );

      at Object.warn$1 [as warn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:49:13)
      at qe (node_modules/@wikimedia/codex/dist/codex.cjs:1:6779)
      at Kt (node_modules/@wikimedia/codex/dist/codex.cjs:1:7002)
      at setup (node_modules/@wikimedia/codex/dist/codex.cjs:1:7566)
      at callWithErrorHandling (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:195:19)
      at setupStatefulComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7572:25)
      at setupComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7533:36)
      at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5861:7)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5827:9)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5306:11)
      at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5554:7)
      at mountElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5461:7)
      at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5426:7)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5294:11)
      at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5554:7)
      at mountElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5461:7)
      at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5426:7)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5294:11)
      at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5554:7)
      at mountElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5461:7)
      at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5426:7)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5294:11)
      at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5554:7)
      at mountElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5461:7)
      at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5426:7)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5294:11)
      at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5971:11)
      at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:181:19)
      at instance.update (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6095:16)
      at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6105:5)
      at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5873:7)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5827:9)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5306:11)
      at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5971:11)
      at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:181:19)
      at instance.update (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6095:16)
      at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6105:5)
      at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5873:7)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5827:9)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5306:11)
      at render (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6616:7)
      at mount (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3930:13)
      at Object.app.mount (node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.js:1477:19)
      at Object.mount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:7919:18)
      at Object.<anonymous> (tests/jest/QuickSurvey.test.js:263:32)

    console.warn
      [Vue warn]: CdxButton: Icon-only buttons require one of the following attributes: aria-label or aria-hidden. See documentation at https://doc.wikimedia.org/codex/latest/components/demos/button.html#icon-only-button 
        at <CdxButton weight="quiet" onClick=fn<bound dismissAndDestroy> > 
        at <QuickSurvey name="survey" footer="privacy policy instead of additional info" thankYouMessage="thank you come again"  ... > 
        at <VTUROOT>

      310 | 		it( 'displays privacy policy when completed if additional information is not defined',
      311 | 			async () => {
    > 312 | 				const survey = VueTestUtils.mount( QuickSurvey, SINGLE_ANSWER_SURVEY );
          | 				                            ^
      313 | 				const buttons = survey.findAllComponents( codex.CdxButton );
      314 | 				await buttons[ 1 ].trigger( 'click' );
      315 | 				expect( survey.find( 'div.survey-footer' ).text() ).toContain( privacyPolicy );

      at Object.warn$1 [as warn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:49:13)
      at qe (node_modules/@wikimedia/codex/dist/codex.cjs:1:6779)
      at Kt (node_modules/@wikimedia/codex/dist/codex.cjs:1:7002)
      at setup (node_modules/@wikimedia/codex/dist/codex.cjs:1:7566)
      at callWithErrorHandling (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:195:19)
      at setupStatefulComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7572:25)
      at setupComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7533:36)
      at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5861:7)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5827:9)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5306:11)
      at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5554:7)
      at mountElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5461:7)
      at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5426:7)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5294:11)
      at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5554:7)
      at mountElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5461:7)
      at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5426:7)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5294:11)
      at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5554:7)
      at mountElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5461:7)
      at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5426:7)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5294:11)
      at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5554:7)
      at mountElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5461:7)
      at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5426:7)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5294:11)
      at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5971:11)
      at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:181:19)
      at instance.update (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6095:16)
      at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6105:5)
      at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5873:7)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5827:9)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5306:11)
      at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5971:11)
      at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:181:19)
      at instance.update (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6095:16)
      at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6105:5)
      at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5873:7)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5827:9)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5306:11)
      at render (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6616:7)
      at mount (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3930:13)
      at Object.app.mount (node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.js:1477:19)
      at Object.mount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:7919:18)
      at Object.<anonymous> (tests/jest/QuickSurvey.test.js:312:33)

    console.warn
      [Vue warn]: CdxButton: Icon-only buttons require one of the following attributes: aria-label or aria-hidden. See documentation at https://doc.wikimedia.org/codex/latest/components/demos/button.html#icon-only-button 
        at <CdxButton weight="quiet" onClick=fn<bound dismissAndDestroy> > 
        at <QuickSurvey name="survey" footer="additional info instead of privacy policy" thankYouMessage="thank you come again"  ... > 
        at <VTUROOT>

      320 | 			async () => {
      321 | 				SINGLE_ANSWER_SURVEY.propsData.footer = additionalInfo;
    > 322 | 				const survey = VueTestUtils.mount( QuickSurvey, SINGLE_ANSWER_SURVEY );
          | 				                            ^
      323 | 				const buttons = survey.findAllComponents( codex.CdxButton );
      324 | 				await buttons[ 1 ].trigger( 'click' );
      325 | 				expect( survey.find( 'div.survey-footer' ).text() ).toContain( additionalInfo );

      at Object.warn$1 [as warn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:49:13)
      at qe (node_modules/@wikimedia/codex/dist/codex.cjs:1:6779)
      at Kt (node_modules/@wikimedia/codex/dist/codex.cjs:1:7002)
      at setup (node_modules/@wikimedia/codex/dist/codex.cjs:1:7566)
      at callWithErrorHandling (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:195:19)
      at setupStatefulComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7572:25)
      at setupComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7533:36)
      at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5861:7)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5827:9)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5306:11)
      at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5554:7)
      at mountElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5461:7)
      at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5426:7)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5294:11)
      at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5554:7)
      at mountElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5461:7)
      at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5426:7)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5294:11)
      at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5554:7)
      at mountElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5461:7)
      at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5426:7)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5294:11)
      at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5554:7)
      at mountElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5461:7)
      at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5426:7)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5294:11)
      at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5971:11)
      at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:181:19)
      at instance.update (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6095:16)
      at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6105:5)
      at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5873:7)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5827:9)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5306:11)
      at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5971:11)
      at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:181:19)
      at instance.update (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6095:16)
      at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6105:5)
      at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5873:7)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5827:9)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5306:11)
      at render (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6616:7)
      at mount (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3930:13)
      at Object.app.mount (node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.js:1477:19)
      at Object.mount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:7919:18)
      at Object.<anonymous> (tests/jest/QuickSurvey.test.js:322:33)

    console.warn
      [Vue warn]: CdxButton: Icon-only buttons require one of the following attributes: aria-label or aria-hidden. See documentation at https://doc.wikimedia.org/codex/latest/components/demos/button.html#icon-only-button 
        at <CdxButton weight="quiet" onClick=fn<bound dismissAndDestroy> > 
        at <QuickSurvey name="survey-multi" thankYouMessage="thank you come again" surveySessionToken="ss"  ... > 
        at <VTUROOT>

      353 |
      354 | 		it( 'Supports submitting one answer', async () => {
    > 355 | 			const survey = VueTestUtils.mount( QuickSurvey, MULTI_ANSWER_SURVEY );
          | 			                            ^
      356 |
      357 | 			const checkboxes = survey.findAll( 'input[type="checkbox"]' );
      358 | 			const submitButton = survey.findAllComponents( codex.CdxButton )[ 1 ];

      at Object.warn$1 [as warn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:49:13)
      at qe (node_modules/@wikimedia/codex/dist/codex.cjs:1:6779)
      at Kt (node_modules/@wikimedia/codex/dist/codex.cjs:1:7002)
      at setup (node_modules/@wikimedia/codex/dist/codex.cjs:1:7566)
      at callWithErrorHandling (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:195:19)
      at setupStatefulComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7572:25)
      at setupComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7533:36)
      at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5861:7)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5827:9)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5306:11)
      at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5554:7)
      at mountElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5461:7)
      at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5426:7)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5294:11)
      at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5554:7)
      at mountElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5461:7)
      at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5426:7)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5294:11)
      at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5554:7)
      at mountElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5461:7)
      at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5426:7)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5294:11)
      at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5554:7)
      at mountElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5461:7)
      at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5426:7)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5294:11)
      at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5971:11)
      at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:181:19)
      at instance.update (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6095:16)
      at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6105:5)
      at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5873:7)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5827:9)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5306:11)
      at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5971:11)
      at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:181:19)
      at instance.update (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6095:16)
      at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6105:5)
      at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5873:7)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5827:9)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5306:11)
      at render (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6616:7)
      at mount (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3930:13)
      at Object.app.mount (node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.js:1477:19)
      at Object.mount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:7919:18)
      at Object.<anonymous> (tests/jest/QuickSurvey.test.js:355:32)

    console.warn
      [Vue warn]: CdxButton: Icon-only buttons require one of the following attributes: aria-label or aria-hidden. See documentation at https://doc.wikimedia.org/codex/latest/components/demos/button.html#icon-only-button 
        at <CdxButton weight="quiet" onClick=fn<bound dismissAndDestroy> > 
        at <QuickSurvey name="survey-multi" thankYouMessage="thank you come again" surveySessionToken="ss"  ... > 
        at <VTUROOT>

      372 |
      373 | 		it( 'Supports free text input for checkbox', async () => {
    > 374 | 			const survey = VueTestUtils.mount( QuickSurvey, MULTI_ANSWER_SURVEY );
          | 			                            ^
      375 | 			expect(
      376 | 				survey.findAllComponents( codex.CdxTextInput ).length
      377 | 			).toBe( 0 );

      at Object.warn$1 [as warn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:49:13)
      at qe (node_modules/@wikimedia/codex/dist/codex.cjs:1:6779)
      at Kt (node_modules/@wikimedia/codex/dist/codex.cjs:1:7002)
      at setup (node_modules/@wikimedia/codex/dist/codex.cjs:1:7566)
      at callWithErrorHandling (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:195:19)
      at setupStatefulComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7572:25)
      at setupComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7533:36)
      at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5861:7)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5827:9)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5306:11)
      at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5554:7)
      at mountElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5461:7)
      at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5426:7)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5294:11)
      at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5554:7)
      at mountElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5461:7)
      at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5426:7)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5294:11)
      at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5554:7)
      at mountElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5461:7)
      at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5426:7)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5294:11)
      at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5554:7)
      at mountElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5461:7)
      at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5426:7)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5294:11)
      at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5971:11)
      at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:181:19)
      at instance.update (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6095:16)
      at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6105:5)
      at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5873:7)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5827:9)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5306:11)
      at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5971:11)
      at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:181:19)
      at instance.update (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6095:16)
      at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6105:5)
      at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5873:7)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5827:9)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5306:11)
      at render (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6616:7)
      at mount (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3930:13)
      at Object.app.mount (node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.js:1477:19)
      at Object.mount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:7919:18)
      at Object.<anonymous> (tests/jest/QuickSurvey.test.js:374:32)

    console.warn
      [Vue warn]: CdxButton: Icon-only buttons require one of the following attributes: aria-label or aria-hidden. See documentation at https://doc.wikimedia.org/codex/latest/components/demos/button.html#icon-only-button 
        at <CdxButton weight="quiet" onClick=fn<bound dismissAndDestroy> > 
        at <QuickSurvey name="survey-multi-questions" footer="privacy policy instead of additional info" thankYouMessage="thank you come again"  ... > 
        at <VTUROOT>

      423 |
      424 | 		it( 'Supports multiple questions in the same survey', async () => {
    > 425 | 			const survey = VueTestUtils.mount( QuickSurvey, MULTIPLE_QUESTIONS_SURVEY );
          | 			                            ^
      426 |
      427 | 			const buttons = survey.findAllComponents( codex.CdxButton );
      428 | 			const radioButtons = survey.findAllComponents( codex.CdxRadio );

      at Object.warn$1 [as warn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:49:13)
      at qe (node_modules/@wikimedia/codex/dist/codex.cjs:1:6779)
      at Kt (node_modules/@wikimedia/codex/dist/codex.cjs:1:7002)
      at setup (node_modules/@wikimedia/codex/dist/codex.cjs:1:7566)
      at callWithErrorHandling (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:195:19)
      at setupStatefulComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7572:25)
      at setupComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7533:36)
      at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5861:7)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5827:9)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5306:11)
      at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5554:7)
      at mountElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5461:7)
      at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5426:7)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5294:11)
      at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5554:7)
      at mountElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5461:7)
      at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5426:7)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5294:11)
      at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5554:7)
      at mountElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5461:7)
      at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5426:7)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5294:11)
      at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5554:7)
      at mountElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5461:7)
      at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5426:7)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5294:11)
      at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5971:11)
      at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:181:19)
      at instance.update (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6095:16)
      at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6105:5)
      at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5873:7)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5827:9)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5306:11)
      at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5971:11)
      at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:181:19)
      at instance.update (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6095:16)
      at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6105:5)
      at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5873:7)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5827:9)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5306:11)
      at render (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6616:7)
      at mount (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3930:13)
      at Object.app.mount (node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.js:1477:19)
      at Object.mount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:7919:18)
      at Object.<anonymous> (tests/jest/QuickSurvey.test.js:425:32)

    console.warn
      [Vue warn]: CdxButton: Icon-only buttons require one of the following attributes: aria-label or aria-hidden. See documentation at https://doc.wikimedia.org/codex/latest/components/demos/button.html#icon-only-button 
        at <CdxButton weight="quiet" onClick=fn<bound dismissAndDestroy> > 
        at <QuickSurvey name="survey-multi-questions" footer="privacy policy instead of additional info" thankYouMessage="thank you come again"  ... > 
        at <VTUROOT>

      478 | 		it( 'should display previous question when clicking on back button',
      479 | 			async () => {
    > 480 | 				const survey = VueTestUtils.mount( QuickSurvey, MULTIPLE_QUESTIONS_SURVEY );
          | 				                            ^
      481 | 				const radioButtons = survey.findAllComponents( codex.CdxRadio );
      482 |
      483 | 				// choose "maybe"

      at Object.warn$1 [as warn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:49:13)
      at qe (node_modules/@wikimedia/codex/dist/codex.cjs:1:6779)
      at Kt (node_modules/@wikimedia/codex/dist/codex.cjs:1:7002)
      at setup (node_modules/@wikimedia/codex/dist/codex.cjs:1:7566)
      at callWithErrorHandling (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:195:19)
      at setupStatefulComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7572:25)
      at setupComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7533:36)
      at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5861:7)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5827:9)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5306:11)
      at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5554:7)
      at mountElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5461:7)
      at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5426:7)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5294:11)
      at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5554:7)
      at mountElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5461:7)
      at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5426:7)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5294:11)
      at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5554:7)
      at mountElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5461:7)
      at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5426:7)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5294:11)
      at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5554:7)
      at mountElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5461:7)
      at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5426:7)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5294:11)
      at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5971:11)
      at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:181:19)
      at instance.update (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6095:16)
      at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6105:5)
      at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5873:7)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5827:9)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5306:11)
      at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5971:11)
      at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:181:19)
      at instance.update (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6095:16)
      at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6105:5)
      at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5873:7)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5827:9)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5306:11)
      at render (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6616:7)
      at mount (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3930:13)
      at Object.app.mount (node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.js:1477:19)
      at Object.mount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:7919:18)
      at Object.<anonymous> (tests/jest/QuickSurvey.test.js:480:33)

    console.warn
      [Vue warn]: CdxButton: Icon-only buttons require one of the following attributes: aria-label or aria-hidden. See documentation at https://doc.wikimedia.org/codex/latest/components/demos/button.html#icon-only-button 
        at <CdxButton weight="quiet" onClick=fn<bound dismissAndDestroy> > 
        at <QuickSurvey name="survey-single" thankYouMessage="thank you come again" thankYouDescription="description thank you message"  ... > 
        at <VTUROOT>

      527 |
      528 | 		it( 'Should contain thank you description text', async () => {
    > 529 | 			const survey = VueTestUtils.mount( QuickSurvey, SINGLE_ANSWER_SURVEY );
          | 			                            ^
      530 |
      531 | 			// initially, the survey should NOT contain the thank you description
      532 | 			expect( survey.text() ).not.toContain( 'description thank you message' );

      at Object.warn$1 [as warn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:49:13)
      at qe (node_modules/@wikimedia/codex/dist/codex.cjs:1:6779)
      at Kt (node_modules/@wikimedia/codex/dist/codex.cjs:1:7002)
      at setup (node_modules/@wikimedia/codex/dist/codex.cjs:1:7566)
      at callWithErrorHandling (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:195:19)
      at setupStatefulComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7572:25)
      at setupComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7533:36)
      at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5861:7)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5827:9)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5306:11)
      at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5554:7)
      at mountElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5461:7)
      at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5426:7)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5294:11)
      at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5554:7)
      at mountElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5461:7)
      at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5426:7)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5294:11)
      at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5554:7)
      at mountElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5461:7)
      at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5426:7)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5294:11)
      at mountChildren (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5554:7)
      at mountElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5461:7)
      at processElement (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5426:7)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5294:11)
      at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5971:11)
      at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:181:19)
      at instance.update (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6095:16)
      at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6105:5)
      at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5873:7)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5827:9)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5306:11)
      at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5971:11)
      at ReactiveEffect.run (node_modules/@vue/reactivity/dist/reactivity.cjs.js:181:19)
      at instance.update (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6095:16)
      at setupRenderEffect (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6105:5)
      at mountComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5873:7)
      at processComponent (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5827:9)
      at patch (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5306:11)
      at render (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6616:7)
      at mount (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3930:13)
      at Object.app.mount (node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.js:1477:19)
      at Object.mount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:7919:18)
      at Object.<anonymous> (tests/jest/QuickSurvey.test.js:529:32)


Test Suites: 3 passed, 3 total
Tests:       33 passed, 33 total
Snapshots:   0 total
Time:        6.063 s
Ran all test suites.
--- stdout ---

> test
> npm run lint && npm run test:unit


> lint
> npm -s run lint:js && npm run -s lint:styles && npm -s run lint:i18n


/src/repo/resources/ext.quicksurveys.lib/vue/QuickSurvey.vue
  355:1  warning  This line has a length of 132. Maximum allowed is 100  max-len

/src/repo/tests/qunit/ext.quicksurveys.lib/lib.test.js
  334:1  warning  This line has a length of 145. Maximum allowed is 100  max-len
  336:1  warning  This line has a length of 129. Maximum allowed is 100  max-len

✖ 3 problems (0 errors, 3 warnings)

Checked 1 message directory.

> test:unit
> jest --testRegex tests/jest/*.test.js

----------------------|---------|----------|---------|---------|-------------------
File                  | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s 
----------------------|---------|----------|---------|---------|-------------------
All files             |   97.71 |    92.72 |   96.15 |   97.67 |                   
 QuickSurvey.vue      |   97.95 |    97.87 |   94.28 |   97.91 | 77,431            
 QuickSurveyLogger.js |   88.88 |     62.5 |     100 |   88.88 | 28,65             
 render.js            |     100 |       75 |     100 |     100 | 46,51             
 utils.js             |     100 |    95.74 |     100 |     100 | 169-173           
----------------------|---------|----------|---------|---------|-------------------

--- 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.24.6 -> 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.1.0 -> 3.1.2
{"1119108": {"source": 1119108, "name": "ws", "dependency": "ws", "title": "ws: Uninitialized memory disclosure", "url": "https://github.com/advisories/GHSA-58qx-3vcg-4xpx", "severity": "moderate", "cwe": ["CWE-908"], "cvss": {"score": 4.4, "vectorString": "CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:U/C:H/I:N/A:N"}, "range": ">=8.0.0 <8.20.1"}}
Upgrading n:ws from 7.5.10, 8.17.1 -> 7.5.10, 8.20.1
$ 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.24.6 → 7.29.4
  * https://github.com/advisories/GHSA-fv7c-fp4j-7gwp
* fast-uri: 3.1.0 → 3.1.2
  * https://github.com/advisories/GHSA-q3j6-qgpj-74h6
  * https://github.com/advisories/GHSA-v39h-62p7-jpjc
* ws: 7.5.10, 8.17.1 → 7.5.10, 8.20.1
  * https://github.com/advisories/GHSA-58qx-3vcg-4xpx

$ git add .
--- stdout ---

--- end ---
$ git commit -F /tmp/tmpgjft6oel
--- stdout ---
[REL1_43 0882f24] build: Updating npm dependencies
 1 file changed, 92 insertions(+), 123 deletions(-)

--- end ---
$ git format-patch HEAD~1 --stdout
--- stdout ---
From 0882f24d7055bb0208e878fb40c15608f88b61e1 Mon Sep 17 00:00:00 2001
From: libraryupgrader <tools.libraryupgrader@tools.wmflabs.org>
Date: Thu, 21 May 2026 18:36:55 +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.24.6 → 7.29.4
  * https://github.com/advisories/GHSA-fv7c-fp4j-7gwp
* fast-uri: 3.1.0 → 3.1.2
  * https://github.com/advisories/GHSA-q3j6-qgpj-74h6
  * https://github.com/advisories/GHSA-v39h-62p7-jpjc
* ws: 7.5.10, 8.17.1 → 7.5.10, 8.20.1
  * https://github.com/advisories/GHSA-58qx-3vcg-4xpx

Change-Id: Ie8f3bd7e443415facf6b51432154b29e40fba845
---
 package-lock.json | 215 ++++++++++++++++++++--------------------------
 1 file changed, 92 insertions(+), 123 deletions(-)

diff --git a/package-lock.json b/package-lock.json
index 36db354..a0b9ada 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -33,14 +33,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"
@@ -86,15 +86,16 @@
 			}
 		},
 		"node_modules/@babel/generator": {
-			"version": "7.24.6",
-			"resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.24.6.tgz",
-			"integrity": "sha512-S7m4eNa6YAPJRHmKsLHIDJhNAGNKoWNiWefz1MBbpnt8g9lvMDl1hir4P9bo/57bQEmuwEhnRU/AMWsD0G/Fbg==",
+			"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/types": "^7.24.6",
-				"@jridgewell/gen-mapping": "^0.3.5",
-				"@jridgewell/trace-mapping": "^0.3.25",
-				"jsesc": "^2.5.1"
+				"@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": {
 				"node": ">=6.9.0"
@@ -219,14 +220,11 @@
 				"node": ">=6.9.0"
 			}
 		},
-		"node_modules/@babel/helper-hoist-variables": {
-			"version": "7.24.6",
-			"resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.24.6.tgz",
-			"integrity": "sha512-SF/EMrC3OD7dSta1bLJIlrsVxwtd0UpjRJqLno6125epQMJ/kyFmpTT4pbvPbdQHzCHg+biQ7Syo8lnDtbR+uA==",
+		"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,
-			"dependencies": {
-				"@babel/types": "^7.24.6"
-			},
 			"engines": {
 				"node": ">=6.9.0"
 			}
@@ -244,28 +242,27 @@
 			}
 		},
 		"node_modules/@babel/helper-module-imports": {
-			"version": "7.24.6",
-			"resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.6.tgz",
-			"integrity": "sha512-a26dmxFJBF62rRO9mmpgrfTLsAuyHk4e1hKTUkD/fcMfynt8gvEKwQPQDVxWhca8dHoDck+55DFt42zV0QMw5g==",
+			"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/types": "^7.24.6"
+				"@babel/traverse": "^7.28.6",
+				"@babel/types": "^7.28.6"
 			},
 			"engines": {
 				"node": ">=6.9.0"
 			}
 		},
 		"node_modules/@babel/helper-module-transforms": {
-			"version": "7.24.6",
-			"resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.24.6.tgz",
-			"integrity": "sha512-Y/YMPm83mV2HJTbX1Qh2sjgjqcacvOlhbzdCCsSlblOKjSYmQqEbO6rUniWQyRo9ncyfjT8hnUjlG06RXDEmcA==",
+			"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-environment-visitor": "^7.24.6",
-				"@babel/helper-module-imports": "^7.24.6",
-				"@babel/helper-simple-access": "^7.24.6",
-				"@babel/helper-split-export-declaration": "^7.24.6",
-				"@babel/helper-validator-identifier": "^7.24.6"
+				"@babel/helper-module-imports": "^7.28.6",
+				"@babel/helper-validator-identifier": "^7.28.5",
+				"@babel/traverse": "^7.28.6"
 			},
 			"engines": {
 				"node": ">=6.9.0"
@@ -287,9 +284,9 @@
 			}
 		},
 		"node_modules/@babel/helper-plugin-utils": {
-			"version": "7.24.6",
-			"resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.6.tgz",
-			"integrity": "sha512-MZG/JcWfxybKwsA9N9PmtF2lOSFSEMVCpIRrbxccZFLJPrJciJdG/UhSh5W96GEteJI2ARqm5UAHxISwRDLSNg==",
+			"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"
@@ -366,18 +363,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"
@@ -420,12 +417,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"
@@ -1205,15 +1202,15 @@
 			}
 		},
 		"node_modules/@babel/plugin-transform-modules-systemjs": {
-			"version": "7.24.6",
-			"resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.24.6.tgz",
-			"integrity": "sha512-xg1Z0J5JVYxtpX954XqaaAT6NpAY6LtZXvYFCJmGFJWwtlz2EmJoR8LycFRGNE8dBKizGWkGQZGegtkV8y8s+w==",
+			"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-hoist-variables": "^7.24.6",
-				"@babel/helper-module-transforms": "^7.24.6",
-				"@babel/helper-plugin-utils": "^7.24.6",
-				"@babel/helper-validator-identifier": "^7.24.6"
+				"@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"
@@ -1599,48 +1596,45 @@
 			"dev": true
 		},
 		"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.24.6",
-			"resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.6.tgz",
-			"integrity": "sha512-OsNjaJwT9Zn8ozxcfoBc+RaHdj3gFmCmYoQLUII1o6ZrUwku0BMg80FoOTPx+Gi6XhcQxAYE4xyjPTo4SxEQqw==",
+			"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.24.6",
-				"@babel/generator": "^7.24.6",
-				"@babel/helper-environment-visitor": "^7.24.6",
-				"@babel/helper-function-name": "^7.24.6",
-				"@babel/helper-hoist-variables": "^7.24.6",
-				"@babel/helper-split-export-declaration": "^7.24.6",
-				"@babel/parser": "^7.24.6",
-				"@babel/types": "^7.24.6",
-				"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"
@@ -2636,17 +2630,13 @@
 			}
 		},
 		"node_modules/@jridgewell/gen-mapping": {
-			"version": "0.3.5",
-			"resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz",
-			"integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==",
+			"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": {
@@ -2658,25 +2648,16 @@
 				"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.4.15",
-			"resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz",
-			"integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==",
+			"version": "1.5.5",
+			"resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz",
+			"integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==",
 			"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",
@@ -2797,9 +2778,9 @@
 			}
 		},
 		"node_modules/@tootallnate/once": {
-			"version": "2.0.0",
-			"resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz",
-			"integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==",
+			"version": "2.0.1",
+			"resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.1.tgz",
+			"integrity": "sha512-HqmEUIGRJ5fSXchkVgR5F7qn48bDBzv0kWj/Kfu5e6uci4UlEeng4331LnBkWffb++Ei3FOVLxo8JJWMFBDMeQ==",
 			"dev": true,
 			"engines": {
 				"node": ">= 10"
@@ -5609,18 +5590,6 @@
 				"js-yaml": "bin/js-yaml.js"
 			}
 		},
-		"node_modules/eslint-plugin-unicorn/node_modules/jsesc": {
-			"version": "3.0.2",
-			"resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.0.2.tgz",
-			"integrity": "sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==",
-			"dev": true,
-			"bin": {
-				"jsesc": "bin/jsesc"
-			},
-			"engines": {
-				"node": ">=6"
-			}
-		},
 		"node_modules/eslint-plugin-unicorn/node_modules/semver": {
 			"version": "7.6.2",
 			"resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz",
@@ -6153,9 +6122,9 @@
 			"dev": true
 		},
 		"node_modules/fast-uri": {
-			"version": "3.1.0",
-			"resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.0.tgz",
-			"integrity": "sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==",
+			"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": [
 				{
@@ -9277,15 +9246,15 @@
 			}
 		},
 		"node_modules/jsesc": {
-			"version": "2.5.2",
-			"resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
-			"integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==",
+			"version": "3.1.0",
+			"resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz",
+			"integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==",
 			"dev": true,
 			"bin": {
 				"jsesc": "bin/jsesc"
 			},
 			"engines": {
-				"node": ">=4"
+				"node": ">=6"
 			}
 		},
 		"node_modules/json-buffer": {
@@ -12030,9 +11999,9 @@
 			}
 		},
 		"node_modules/ws": {
-			"version": "8.17.1",
-			"resolved": "https://registry.npmjs.org/ws/-/ws-8.17.1.tgz",
-			"integrity": "sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==",
+			"version": "8.20.1",
+			"resolved": "https://registry.npmjs.org/ws/-/ws-8.20.1.tgz",
+			"integrity": "sha512-It4dO0K5v//JtTXuPkfEOaI3uUN87iYPnqo/ZzqCoG3g8uhA66QUMs/SrM0YK7/NAu+r4LMh/9dq2A7k+rHs+w==",
 			"dev": true,
 			"engines": {
 				"node": ">=10.0.0"
-- 
2.47.3


--- end ---

composer dependencies

Development dependencies

npm dependencies

Development dependencies

Logs

Source code is licensed under the AGPL.