mediawiki/extensions/WikiLambda: REL1_43 (log #2389474)

sourcepatches

This run took 161 seconds.

$ date
--- stdout ---
Fri Mar 13 06:40:30 UTC 2026

--- end ---
$ git clone file:///srv/git/mediawiki-extensions-WikiLambda.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
--- stderr ---
Submodule 'function-schemata' (https://gitlab.wikimedia.org/repos/abstract-wiki/wikifunctions/function-schemata.git) registered for path 'function-schemata'
Cloning into '/src/repo/function-schemata'...
--- stdout ---
Submodule path 'function-schemata': checked out 'f2c043c7f68fcb811f3878b17681688f4c9e561e'

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

--- end ---
$ git show-ref refs/heads/REL1_43
--- stdout ---
1dd8b8ee5a99dc5bc3743478f4536031621bbeb9 refs/heads/REL1_43

--- end ---
$ /usr/bin/npm audit --json
--- stdout ---
{
  "auditReportVersion": 2,
  "vulnerabilities": {
    "@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"
      ],
      "fixAvailable": {
        "name": "jest",
        "version": "30.3.0",
        "isSemVerMajor": true
      }
    },
    "@wdio/cli": {
      "name": "@wdio/cli",
      "severity": "high",
      "isDirect": true,
      "via": [
        "inquirer",
        "webdriverio",
        "yarn-install"
      ],
      "effects": [
        "@wdio/junit-reporter",
        "@wdio/local-runner",
        "@wdio/spec-reporter"
      ],
      "range": "<=9.0.0-alpha.426",
      "nodes": [
        "node_modules/@wdio/cli"
      ],
      "fixAvailable": {
        "name": "@wdio/cli",
        "version": "9.25.0",
        "isSemVerMajor": true
      }
    },
    "@wdio/junit-reporter": {
      "name": "@wdio/junit-reporter",
      "severity": "high",
      "isDirect": true,
      "via": [
        "@wdio/cli"
      ],
      "effects": [],
      "range": "6.0.4 - 8.0.0-alpha.631",
      "nodes": [
        "node_modules/@wdio/junit-reporter"
      ],
      "fixAvailable": {
        "name": "@wdio/junit-reporter",
        "version": "9.25.0",
        "isSemVerMajor": true
      }
    },
    "@wdio/local-runner": {
      "name": "@wdio/local-runner",
      "severity": "high",
      "isDirect": true,
      "via": [
        "@wdio/cli",
        "@wdio/runner"
      ],
      "effects": [],
      "range": "<=9.1.5",
      "nodes": [
        "node_modules/@wdio/local-runner"
      ],
      "fixAvailable": {
        "name": "@wdio/local-runner",
        "version": "9.25.0",
        "isSemVerMajor": true
      }
    },
    "@wdio/mocha-framework": {
      "name": "@wdio/mocha-framework",
      "severity": "high",
      "isDirect": true,
      "via": [
        "mocha"
      ],
      "effects": [],
      "range": ">=6.1.19",
      "nodes": [
        "node_modules/@wdio/mocha-framework"
      ],
      "fixAvailable": {
        "name": "@wdio/mocha-framework",
        "version": "6.1.17",
        "isSemVerMajor": true
      }
    },
    "@wdio/runner": {
      "name": "@wdio/runner",
      "severity": "high",
      "isDirect": false,
      "via": [
        "gaze",
        "webdriverio"
      ],
      "effects": [
        "@wdio/local-runner"
      ],
      "range": "<=9.1.5",
      "nodes": [
        "node_modules/@wdio/runner"
      ],
      "fixAvailable": {
        "name": "@wdio/local-runner",
        "version": "9.25.0",
        "isSemVerMajor": true
      }
    },
    "@wdio/spec-reporter": {
      "name": "@wdio/spec-reporter",
      "severity": "high",
      "isDirect": true,
      "via": [
        "@wdio/cli"
      ],
      "effects": [],
      "range": "6.0.4 - 8.0.0-alpha.631",
      "nodes": [
        "node_modules/@wdio/spec-reporter"
      ],
      "fixAvailable": {
        "name": "@wdio/spec-reporter",
        "version": "9.25.0",
        "isSemVerMajor": true
      }
    },
    "cross-spawn": {
      "name": "cross-spawn",
      "severity": "high",
      "isDirect": false,
      "via": [
        {
          "source": 1104663,
          "name": "cross-spawn",
          "dependency": "cross-spawn",
          "title": "Regular Expression Denial of Service (ReDoS) in cross-spawn",
          "url": "https://github.com/advisories/GHSA-3xgq-45jj-v275",
          "severity": "high",
          "cwe": [
            "CWE-1333"
          ],
          "cvss": {
            "score": 7.5,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
          },
          "range": "<6.0.6"
        }
      ],
      "effects": [
        "yarn-install"
      ],
      "range": "<6.0.6",
      "nodes": [
        "node_modules/yarn-install/node_modules/cross-spawn"
      ],
      "fixAvailable": {
        "name": "@wdio/cli",
        "version": "9.25.0",
        "isSemVerMajor": true
      }
    },
    "devtools": {
      "name": "devtools",
      "severity": "high",
      "isDirect": false,
      "via": [
        "puppeteer-core"
      ],
      "effects": [],
      "range": ">=7.16.5",
      "nodes": [
        "node_modules/devtools"
      ],
      "fixAvailable": true
    },
    "external-editor": {
      "name": "external-editor",
      "severity": "low",
      "isDirect": false,
      "via": [
        "tmp"
      ],
      "effects": [
        "inquirer"
      ],
      "range": ">=1.1.1",
      "nodes": [
        "node_modules/external-editor"
      ],
      "fixAvailable": {
        "name": "@wdio/cli",
        "version": "9.25.0",
        "isSemVerMajor": true
      }
    },
    "form-data": {
      "name": "form-data",
      "severity": "critical",
      "isDirect": false,
      "via": [
        {
          "source": 1109540,
          "name": "form-data",
          "dependency": "form-data",
          "title": "form-data uses unsafe random function in form-data for choosing boundary",
          "url": "https://github.com/advisories/GHSA-fjxv-7rqg-78g4",
          "severity": "critical",
          "cwe": [
            "CWE-330"
          ],
          "cvss": {
            "score": 0,
            "vectorString": null
          },
          "range": "<2.5.4"
        }
      ],
      "effects": [
        "request"
      ],
      "range": "<2.5.4",
      "nodes": [
        "node_modules/request/node_modules/form-data"
      ],
      "fixAvailable": {
        "name": "wdio-mediawiki",
        "version": "6.4.0",
        "isSemVerMajor": true
      }
    },
    "gaze": {
      "name": "gaze",
      "severity": "high",
      "isDirect": false,
      "via": [
        "globule"
      ],
      "effects": [
        "@wdio/runner"
      ],
      "range": ">=0.4.0",
      "nodes": [
        "node_modules/gaze"
      ],
      "fixAvailable": {
        "name": "@wdio/local-runner",
        "version": "9.25.0",
        "isSemVerMajor": true
      }
    },
    "globule": {
      "name": "globule",
      "severity": "high",
      "isDirect": false,
      "via": [
        "minimatch"
      ],
      "effects": [
        "gaze"
      ],
      "range": "*",
      "nodes": [
        "node_modules/globule"
      ],
      "fixAvailable": {
        "name": "@wdio/local-runner",
        "version": "9.25.0",
        "isSemVerMajor": true
      }
    },
    "grunt": {
      "name": "grunt",
      "severity": "high",
      "isDirect": true,
      "via": [
        "minimatch"
      ],
      "effects": [
        "grunt-eslint"
      ],
      "range": ">=0.4.0-a",
      "nodes": [
        "node_modules/grunt"
      ],
      "fixAvailable": {
        "name": "grunt",
        "version": "0.3.17",
        "isSemVerMajor": true
      }
    },
    "grunt-eslint": {
      "name": "grunt-eslint",
      "severity": "high",
      "isDirect": true,
      "via": [
        "grunt"
      ],
      "effects": [],
      "range": "<=1.0.0 || >=18.1.0",
      "nodes": [
        "node_modules/grunt-eslint"
      ],
      "fixAvailable": {
        "name": "grunt-eslint",
        "version": "18.0.0",
        "isSemVerMajor": true
      }
    },
    "http-proxy-agent": {
      "name": "http-proxy-agent",
      "severity": "low",
      "isDirect": false,
      "via": [
        "@tootallnate/once"
      ],
      "effects": [
        "jsdom"
      ],
      "range": "4.0.1 - 5.0.0",
      "nodes": [
        "node_modules/http-proxy-agent"
      ],
      "fixAvailable": {
        "name": "jest",
        "version": "30.3.0",
        "isSemVerMajor": true
      }
    },
    "inquirer": {
      "name": "inquirer",
      "severity": "low",
      "isDirect": false,
      "via": [
        "external-editor"
      ],
      "effects": [
        "@wdio/cli"
      ],
      "range": "3.0.0 - 8.2.6 || 9.0.0 - 9.3.7",
      "nodes": [
        "node_modules/inquirer"
      ],
      "fixAvailable": {
        "name": "@wdio/cli",
        "version": "9.25.0",
        "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.3.0",
        "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.3.0",
        "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.3.0",
        "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.3.0",
        "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.3.0",
        "isSemVerMajor": true
      }
    },
    "jsdom": {
      "name": "jsdom",
      "severity": "low",
      "isDirect": false,
      "via": [
        "http-proxy-agent"
      ],
      "effects": [
        "jest-environment-jsdom"
      ],
      "range": "16.6.0 - 22.1.0",
      "nodes": [
        "node_modules/jsdom"
      ],
      "fixAvailable": {
        "name": "jest",
        "version": "30.3.0",
        "isSemVerMajor": true
      }
    },
    "minimatch": {
      "name": "minimatch",
      "severity": "high",
      "isDirect": false,
      "via": [
        {
          "source": 1113459,
          "name": "minimatch",
          "dependency": "minimatch",
          "title": "minimatch has a ReDoS via repeated wildcards with non-matching literal in pattern",
          "url": "https://github.com/advisories/GHSA-3ppc-4f35-3m26",
          "severity": "high",
          "cwe": [
            "CWE-1333"
          ],
          "cvss": {
            "score": 0,
            "vectorString": null
          },
          "range": "<3.1.3"
        },
        {
          "source": 1113538,
          "name": "minimatch",
          "dependency": "minimatch",
          "title": "minimatch has ReDoS: matchOne() combinatorial backtracking via multiple non-adjacent GLOBSTAR segments",
          "url": "https://github.com/advisories/GHSA-7r86-cg39-jmmj",
          "severity": "high",
          "cwe": [
            "CWE-407"
          ],
          "cvss": {
            "score": 7.5,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
          },
          "range": "<3.1.3"
        },
        {
          "source": 1113546,
          "name": "minimatch",
          "dependency": "minimatch",
          "title": "minimatch ReDoS: nested *() extglobs generate catastrophically backtracking regular expressions",
          "url": "https://github.com/advisories/GHSA-23c5-xmqv-rm74",
          "severity": "high",
          "cwe": [
            "CWE-1333"
          ],
          "cvss": {
            "score": 7.5,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
          },
          "range": "<3.1.4"
        }
      ],
      "effects": [
        "globule",
        "grunt"
      ],
      "range": "<=3.1.3",
      "nodes": [
        "node_modules/globule/node_modules/minimatch",
        "node_modules/grunt/node_modules/minimatch"
      ],
      "fixAvailable": {
        "name": "grunt",
        "version": "0.3.17",
        "isSemVerMajor": true
      }
    },
    "mocha": {
      "name": "mocha",
      "severity": "high",
      "isDirect": false,
      "via": [
        "serialize-javascript"
      ],
      "effects": [
        "@wdio/mocha-framework"
      ],
      "range": "8.0.0 - 12.0.0-beta-2",
      "nodes": [
        "node_modules/mocha"
      ],
      "fixAvailable": {
        "name": "@wdio/mocha-framework",
        "version": "6.1.17",
        "isSemVerMajor": true
      }
    },
    "mwbot": {
      "name": "mwbot",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "request"
      ],
      "effects": [
        "wdio-mediawiki"
      ],
      "range": ">=0.1.6",
      "nodes": [
        "node_modules/mwbot"
      ],
      "fixAvailable": {
        "name": "wdio-mediawiki",
        "version": "6.4.0",
        "isSemVerMajor": true
      }
    },
    "puppeteer-core": {
      "name": "puppeteer-core",
      "severity": "high",
      "isDirect": false,
      "via": [
        "tar-fs",
        "ws"
      ],
      "effects": [
        "devtools",
        "webdriverio"
      ],
      "range": "10.0.0 - 22.11.1",
      "nodes": [
        "node_modules/puppeteer-core"
      ],
      "fixAvailable": {
        "name": "@wdio/cli",
        "version": "9.25.0",
        "isSemVerMajor": true
      }
    },
    "qs": {
      "name": "qs",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        {
          "source": 1113719,
          "name": "qs",
          "dependency": "qs",
          "title": "qs's arrayLimit bypass in its bracket notation allows DoS via memory exhaustion",
          "url": "https://github.com/advisories/GHSA-6rw7-vpxm-498p",
          "severity": "moderate",
          "cwe": [
            "CWE-20"
          ],
          "cvss": {
            "score": 3.7,
            "vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L"
          },
          "range": "<6.14.1"
        }
      ],
      "effects": [
        "request"
      ],
      "range": "<6.14.1",
      "nodes": [
        "node_modules/qs"
      ],
      "fixAvailable": {
        "name": "wdio-mediawiki",
        "version": "6.4.0",
        "isSemVerMajor": true
      }
    },
    "request": {
      "name": "request",
      "severity": "critical",
      "isDirect": false,
      "via": [
        {
          "source": 1096727,
          "name": "request",
          "dependency": "request",
          "title": "Server-Side Request Forgery in Request",
          "url": "https://github.com/advisories/GHSA-p8p7-x288-28g6",
          "severity": "moderate",
          "cwe": [
            "CWE-918"
          ],
          "cvss": {
            "score": 6.1,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N"
          },
          "range": "<=2.88.2"
        },
        "form-data",
        "qs",
        "tough-cookie"
      ],
      "effects": [
        "mwbot"
      ],
      "range": "*",
      "nodes": [
        "node_modules/request"
      ],
      "fixAvailable": {
        "name": "wdio-mediawiki",
        "version": "6.4.0",
        "isSemVerMajor": true
      }
    },
    "serialize-javascript": {
      "name": "serialize-javascript",
      "severity": "high",
      "isDirect": false,
      "via": [
        {
          "source": 1113686,
          "name": "serialize-javascript",
          "dependency": "serialize-javascript",
          "title": "Serialize JavaScript is Vulnerable to RCE via RegExp.flags and Date.prototype.toISOString()",
          "url": "https://github.com/advisories/GHSA-5c6j-r48x-rmvq",
          "severity": "high",
          "cwe": [
            "CWE-96"
          ],
          "cvss": {
            "score": 8.1,
            "vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H"
          },
          "range": "<=7.0.2"
        }
      ],
      "effects": [
        "mocha"
      ],
      "range": "<=7.0.2",
      "nodes": [
        "node_modules/serialize-javascript"
      ],
      "fixAvailable": {
        "name": "@wdio/mocha-framework",
        "version": "6.1.17",
        "isSemVerMajor": true
      }
    },
    "tar-fs": {
      "name": "tar-fs",
      "severity": "high",
      "isDirect": false,
      "via": [
        {
          "source": 1109532,
          "name": "tar-fs",
          "dependency": "tar-fs",
          "title": "tar-fs has a symlink validation bypass if destination directory is predictable with a specific tarball",
          "url": "https://github.com/advisories/GHSA-vj76-c3g6-qr5v",
          "severity": "high",
          "cwe": [
            "CWE-22",
            "CWE-61"
          ],
          "cvss": {
            "score": 0,
            "vectorString": null
          },
          "range": ">=2.0.0 <2.1.4"
        },
        {
          "source": 1109543,
          "name": "tar-fs",
          "dependency": "tar-fs",
          "title": "tar-fs can extract outside the specified dir with a specific tarball",
          "url": "https://github.com/advisories/GHSA-8cj5-5rvv-wf4v",
          "severity": "high",
          "cwe": [
            "CWE-22"
          ],
          "cvss": {
            "score": 0,
            "vectorString": null
          },
          "range": ">=2.0.0 <2.1.3"
        },
        {
          "source": 1109552,
          "name": "tar-fs",
          "dependency": "tar-fs",
          "title": "tar-fs Vulnerable to Link Following and Path Traversal via Extracting a Crafted tar File",
          "url": "https://github.com/advisories/GHSA-pq67-2wwv-3xjx",
          "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": ">=2.0.0 <2.1.2"
        }
      ],
      "effects": [
        "puppeteer-core"
      ],
      "range": "2.0.0 - 2.1.3",
      "nodes": [
        "node_modules/tar-fs"
      ],
      "fixAvailable": {
        "name": "@wdio/cli",
        "version": "9.25.0",
        "isSemVerMajor": true
      }
    },
    "tmp": {
      "name": "tmp",
      "severity": "low",
      "isDirect": false,
      "via": [
        {
          "source": 1109537,
          "name": "tmp",
          "dependency": "tmp",
          "title": "tmp allows arbitrary temporary file / directory write via symbolic link `dir` parameter",
          "url": "https://github.com/advisories/GHSA-52f5-9888-hmc6",
          "severity": "low",
          "cwe": [
            "CWE-59"
          ],
          "cvss": {
            "score": 2.5,
            "vectorString": "CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:L/A:N"
          },
          "range": "<=0.2.3"
        }
      ],
      "effects": [
        "external-editor"
      ],
      "range": "<=0.2.3",
      "nodes": [
        "node_modules/tmp"
      ],
      "fixAvailable": {
        "name": "@wdio/cli",
        "version": "9.25.0",
        "isSemVerMajor": true
      }
    },
    "tough-cookie": {
      "name": "tough-cookie",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        {
          "source": 1097682,
          "name": "tough-cookie",
          "dependency": "tough-cookie",
          "title": "tough-cookie Prototype Pollution vulnerability",
          "url": "https://github.com/advisories/GHSA-72xf-g2v4-qvf3",
          "severity": "moderate",
          "cwe": [
            "CWE-1321"
          ],
          "cvss": {
            "score": 6.5,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N"
          },
          "range": "<4.1.3"
        }
      ],
      "effects": [
        "request"
      ],
      "range": "<4.1.3",
      "nodes": [
        "node_modules/request/node_modules/tough-cookie"
      ],
      "fixAvailable": {
        "name": "wdio-mediawiki",
        "version": "6.4.0",
        "isSemVerMajor": true
      }
    },
    "wdio-mediawiki": {
      "name": "wdio-mediawiki",
      "severity": "moderate",
      "isDirect": true,
      "via": [
        "mwbot"
      ],
      "effects": [],
      "range": "<=5.1.0",
      "nodes": [
        "node_modules/wdio-mediawiki"
      ],
      "fixAvailable": {
        "name": "wdio-mediawiki",
        "version": "6.4.0",
        "isSemVerMajor": true
      }
    },
    "webdriverio": {
      "name": "webdriverio",
      "severity": "high",
      "isDirect": false,
      "via": [
        "devtools",
        "puppeteer-core"
      ],
      "effects": [
        "@wdio/cli",
        "@wdio/runner"
      ],
      "range": "7.16.5 - 8.46.0",
      "nodes": [
        "node_modules/webdriverio"
      ],
      "fixAvailable": {
        "name": "@wdio/cli",
        "version": "9.25.0",
        "isSemVerMajor": true
      }
    },
    "ws": {
      "name": "ws",
      "severity": "high",
      "isDirect": false,
      "via": [
        {
          "source": 1098392,
          "name": "ws",
          "dependency": "ws",
          "title": "ws affected by a DoS when handling a request with many HTTP headers",
          "url": "https://github.com/advisories/GHSA-3h5v-q93c-6h6q",
          "severity": "high",
          "cwe": [
            "CWE-476"
          ],
          "cvss": {
            "score": 7.5,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
          },
          "range": ">=8.0.0 <8.17.1"
        }
      ],
      "effects": [
        "puppeteer-core"
      ],
      "range": "8.0.0 - 8.17.0",
      "nodes": [
        "node_modules/puppeteer-core/node_modules/ws"
      ],
      "fixAvailable": {
        "name": "@wdio/cli",
        "version": "9.25.0",
        "isSemVerMajor": true
      }
    },
    "yarn-install": {
      "name": "yarn-install",
      "severity": "high",
      "isDirect": false,
      "via": [
        "cross-spawn"
      ],
      "effects": [
        "@wdio/cli"
      ],
      "range": "*",
      "nodes": [
        "node_modules/yarn-install"
      ],
      "fixAvailable": {
        "name": "@wdio/cli",
        "version": "9.25.0",
        "isSemVerMajor": true
      }
    }
  },
  "metadata": {
    "vulnerabilities": {
      "info": 0,
      "low": 12,
      "moderate": 4,
      "high": 20,
      "critical": 2,
      "total": 38
    },
    "dependencies": {
      "prod": 1,
      "dev": 1505,
      "optional": 4,
      "peer": 1,
      "peerOptional": 0,
      "total": 1505
    }
  }
}

--- 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: 40 installs, 0 updates, 0 removals
  - Locking composer/pcre (3.3.2)
  - Locking composer/semver (3.4.3)
  - Locking composer/spdx-licenses (1.5.9)
  - Locking composer/xdebug-handler (3.0.5)
  - Locking dealerdirect/phpcodesniffer-composer-installer (v1.2.0)
  - Locking diff/diff (3.4.0)
  - 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 opis/json-schema (1.1.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.6)
  - 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.7)
  - Locking squizlabs/php_codesniffer (3.10.3)
  - Locking symfony/console (v7.4.7)
  - Locking symfony/deprecation-contracts (v3.6.0)
  - Locking symfony/polyfill-ctype (v1.33.0)
  - Locking symfony/polyfill-intl-grapheme (v1.33.0)
  - Locking symfony/polyfill-intl-normalizer (v1.33.0)
  - Locking symfony/polyfill-mbstring (v1.33.0)
  - Locking symfony/polyfill-php80 (v1.33.0)
  - Locking symfony/service-contracts (v3.6.1)
  - Locking symfony/string (v8.0.6)
  - Locking tysonandre/var_representation_polyfill (0.1.3)
  - Locking webmozart/assert (2.1.6)
Writing lock file
Installing dependencies from lock file (including require-dev)
Package operations: 40 installs, 0 updates, 0 removals
  - Downloading opis/json-schema (1.1.0)
 0/1 [>---------------------------]   0%
 1/1 [============================] 100%
  - Installing squizlabs/php_codesniffer (3.10.3): Extracting archive
  - Installing dealerdirect/phpcodesniffer-composer-installer (v1.2.0): Extracting archive
  - Installing composer/pcre (3.3.2): Extracting archive
  - Installing diff/diff (3.4.0): Extracting archive
  - Installing symfony/polyfill-php80 (v1.33.0): Extracting archive
  - Installing phpcsstandards/phpcsutils (1.0.12): Extracting archive
  - Installing phpcsstandards/phpcsextra (1.2.1): Extracting archive
  - Installing symfony/polyfill-mbstring (v1.33.0): Extracting archive
  - Installing composer/spdx-licenses (1.5.9): Extracting archive
  - Installing composer/semver (3.4.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.33.0): Extracting archive
  - Installing symfony/polyfill-intl-grapheme (v1.33.0): Extracting archive
  - Installing symfony/polyfill-ctype (v1.33.0): Extracting archive
  - Installing symfony/string (v8.0.6): Extracting archive
  - Installing symfony/deprecation-contracts (v3.6.0): Extracting archive
  - Installing psr/container (2.0.2): Extracting archive
  - Installing symfony/service-contracts (v3.6.1): Extracting archive
  - Installing symfony/console (v7.4.7): Extracting archive
  - Installing sabre/event (5.1.7): Extracting archive
  - Installing netresearch/jsonmapper (v4.5.0): Extracting archive
  - Installing microsoft/tolerant-php-parser (v0.1.2): Extracting archive
  - Installing webmozart/assert (2.1.6): 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.6): 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 opis/json-schema (1.1.0): 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/38 [>---------------------------]   0%
 19/38 [==============>-------------]  50%
 37/38 [===========================>]  97%
 38/38 [============================] 100%
1 package suggestions were added by new dependencies, use `composer suggest` to see details.
Generating autoload files
17 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
--- stdout ---
PHP CodeSniffer Config installed_paths set to ../../mediawiki/mediawiki-codesniffer,../../phpcsstandards/phpcsextra,../../phpcsstandards/phpcsutils

--- end ---
$ /usr/bin/npm audit --json
--- stdout ---
{
  "auditReportVersion": 2,
  "vulnerabilities": {
    "@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.3.0",
        "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"
      ],
      "fixAvailable": {
        "name": "jest",
        "version": "30.3.0",
        "isSemVerMajor": true
      }
    },
    "@wdio/cli": {
      "name": "@wdio/cli",
      "severity": "high",
      "isDirect": true,
      "via": [
        "inquirer",
        "webdriverio",
        "yarn-install"
      ],
      "effects": [
        "@wdio/junit-reporter",
        "@wdio/local-runner",
        "@wdio/spec-reporter"
      ],
      "range": "<=9.0.0-alpha.426",
      "nodes": [
        "node_modules/@wdio/cli"
      ],
      "fixAvailable": {
        "name": "@wdio/cli",
        "version": "9.25.0",
        "isSemVerMajor": true
      }
    },
    "@wdio/junit-reporter": {
      "name": "@wdio/junit-reporter",
      "severity": "high",
      "isDirect": true,
      "via": [
        "@wdio/cli"
      ],
      "effects": [],
      "range": "6.0.4 - 8.0.0-alpha.631",
      "nodes": [
        "node_modules/@wdio/junit-reporter"
      ],
      "fixAvailable": {
        "name": "@wdio/junit-reporter",
        "version": "9.25.0",
        "isSemVerMajor": true
      }
    },
    "@wdio/local-runner": {
      "name": "@wdio/local-runner",
      "severity": "high",
      "isDirect": true,
      "via": [
        "@wdio/cli",
        "@wdio/runner"
      ],
      "effects": [],
      "range": "<=9.1.5",
      "nodes": [
        "node_modules/@wdio/local-runner"
      ],
      "fixAvailable": {
        "name": "@wdio/local-runner",
        "version": "9.25.0",
        "isSemVerMajor": true
      }
    },
    "@wdio/mocha-framework": {
      "name": "@wdio/mocha-framework",
      "severity": "high",
      "isDirect": true,
      "via": [
        "mocha"
      ],
      "effects": [],
      "range": ">=6.1.19",
      "nodes": [
        "node_modules/@wdio/mocha-framework"
      ],
      "fixAvailable": {
        "name": "@wdio/mocha-framework",
        "version": "6.1.17",
        "isSemVerMajor": true
      }
    },
    "@wdio/runner": {
      "name": "@wdio/runner",
      "severity": "high",
      "isDirect": false,
      "via": [
        "gaze",
        "webdriverio"
      ],
      "effects": [
        "@wdio/local-runner"
      ],
      "range": "<=9.1.5",
      "nodes": [
        "node_modules/@wdio/runner"
      ],
      "fixAvailable": {
        "name": "@wdio/local-runner",
        "version": "9.25.0",
        "isSemVerMajor": true
      }
    },
    "@wdio/spec-reporter": {
      "name": "@wdio/spec-reporter",
      "severity": "high",
      "isDirect": true,
      "via": [
        "@wdio/cli"
      ],
      "effects": [],
      "range": "6.0.4 - 8.0.0-alpha.631",
      "nodes": [
        "node_modules/@wdio/spec-reporter"
      ],
      "fixAvailable": {
        "name": "@wdio/spec-reporter",
        "version": "9.25.0",
        "isSemVerMajor": true
      }
    },
    "cross-spawn": {
      "name": "cross-spawn",
      "severity": "high",
      "isDirect": false,
      "via": [
        {
          "source": 1104663,
          "name": "cross-spawn",
          "dependency": "cross-spawn",
          "title": "Regular Expression Denial of Service (ReDoS) in cross-spawn",
          "url": "https://github.com/advisories/GHSA-3xgq-45jj-v275",
          "severity": "high",
          "cwe": [
            "CWE-1333"
          ],
          "cvss": {
            "score": 7.5,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
          },
          "range": "<6.0.6"
        }
      ],
      "effects": [
        "yarn-install"
      ],
      "range": "<6.0.6",
      "nodes": [
        "node_modules/yarn-install/node_modules/cross-spawn"
      ],
      "fixAvailable": {
        "name": "@wdio/cli",
        "version": "9.25.0",
        "isSemVerMajor": true
      }
    },
    "devtools": {
      "name": "devtools",
      "severity": "high",
      "isDirect": false,
      "via": [
        "puppeteer-core"
      ],
      "effects": [],
      "range": ">=7.16.5",
      "nodes": [
        "node_modules/devtools"
      ],
      "fixAvailable": true
    },
    "external-editor": {
      "name": "external-editor",
      "severity": "low",
      "isDirect": false,
      "via": [
        "tmp"
      ],
      "effects": [
        "inquirer"
      ],
      "range": ">=1.1.1",
      "nodes": [
        "node_modules/external-editor"
      ],
      "fixAvailable": {
        "name": "@wdio/cli",
        "version": "9.25.0",
        "isSemVerMajor": true
      }
    },
    "form-data": {
      "name": "form-data",
      "severity": "critical",
      "isDirect": false,
      "via": [
        {
          "source": 1109540,
          "name": "form-data",
          "dependency": "form-data",
          "title": "form-data uses unsafe random function in form-data for choosing boundary",
          "url": "https://github.com/advisories/GHSA-fjxv-7rqg-78g4",
          "severity": "critical",
          "cwe": [
            "CWE-330"
          ],
          "cvss": {
            "score": 0,
            "vectorString": null
          },
          "range": "<2.5.4"
        }
      ],
      "effects": [
        "request"
      ],
      "range": "<2.5.4",
      "nodes": [
        "node_modules/request/node_modules/form-data"
      ],
      "fixAvailable": {
        "name": "wdio-mediawiki",
        "version": "6.4.0",
        "isSemVerMajor": true
      }
    },
    "gaze": {
      "name": "gaze",
      "severity": "high",
      "isDirect": false,
      "via": [
        "globule"
      ],
      "effects": [
        "@wdio/runner"
      ],
      "range": ">=0.4.0",
      "nodes": [
        "node_modules/gaze"
      ],
      "fixAvailable": {
        "name": "@wdio/local-runner",
        "version": "9.25.0",
        "isSemVerMajor": true
      }
    },
    "globule": {
      "name": "globule",
      "severity": "high",
      "isDirect": false,
      "via": [
        "minimatch"
      ],
      "effects": [
        "gaze"
      ],
      "range": "*",
      "nodes": [
        "node_modules/globule"
      ],
      "fixAvailable": {
        "name": "@wdio/local-runner",
        "version": "9.25.0",
        "isSemVerMajor": true
      }
    },
    "grunt": {
      "name": "grunt",
      "severity": "high",
      "isDirect": true,
      "via": [
        "minimatch"
      ],
      "effects": [
        "grunt-eslint"
      ],
      "range": ">=0.4.0-a",
      "nodes": [
        "node_modules/grunt"
      ],
      "fixAvailable": {
        "name": "grunt",
        "version": "0.3.17",
        "isSemVerMajor": true
      }
    },
    "grunt-eslint": {
      "name": "grunt-eslint",
      "severity": "high",
      "isDirect": true,
      "via": [
        "grunt"
      ],
      "effects": [],
      "range": "<=1.0.0 || >=18.1.0",
      "nodes": [
        "node_modules/grunt-eslint"
      ],
      "fixAvailable": {
        "name": "grunt-eslint",
        "version": "18.0.0",
        "isSemVerMajor": true
      }
    },
    "http-proxy-agent": {
      "name": "http-proxy-agent",
      "severity": "low",
      "isDirect": false,
      "via": [
        "@tootallnate/once"
      ],
      "effects": [
        "jsdom"
      ],
      "range": "4.0.1 - 5.0.0",
      "nodes": [
        "node_modules/http-proxy-agent"
      ],
      "fixAvailable": {
        "name": "jest",
        "version": "30.3.0",
        "isSemVerMajor": true
      }
    },
    "inquirer": {
      "name": "inquirer",
      "severity": "low",
      "isDirect": false,
      "via": [
        "external-editor"
      ],
      "effects": [
        "@wdio/cli"
      ],
      "range": "3.0.0 - 8.2.6 || 9.0.0 - 9.3.7",
      "nodes": [
        "node_modules/inquirer"
      ],
      "fixAvailable": {
        "name": "@wdio/cli",
        "version": "9.25.0",
        "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.3.0",
        "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.3.0",
        "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.3.0",
        "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.3.0",
        "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.3.0",
        "isSemVerMajor": true
      }
    },
    "jsdom": {
      "name": "jsdom",
      "severity": "low",
      "isDirect": false,
      "via": [
        "http-proxy-agent"
      ],
      "effects": [
        "jest-environment-jsdom"
      ],
      "range": "16.6.0 - 22.1.0",
      "nodes": [
        "node_modules/jsdom"
      ],
      "fixAvailable": {
        "name": "jest",
        "version": "30.3.0",
        "isSemVerMajor": true
      }
    },
    "minimatch": {
      "name": "minimatch",
      "severity": "high",
      "isDirect": false,
      "via": [
        {
          "source": 1113459,
          "name": "minimatch",
          "dependency": "minimatch",
          "title": "minimatch has a ReDoS via repeated wildcards with non-matching literal in pattern",
          "url": "https://github.com/advisories/GHSA-3ppc-4f35-3m26",
          "severity": "high",
          "cwe": [
            "CWE-1333"
          ],
          "cvss": {
            "score": 0,
            "vectorString": null
          },
          "range": "<3.1.3"
        },
        {
          "source": 1113538,
          "name": "minimatch",
          "dependency": "minimatch",
          "title": "minimatch has ReDoS: matchOne() combinatorial backtracking via multiple non-adjacent GLOBSTAR segments",
          "url": "https://github.com/advisories/GHSA-7r86-cg39-jmmj",
          "severity": "high",
          "cwe": [
            "CWE-407"
          ],
          "cvss": {
            "score": 7.5,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
          },
          "range": "<3.1.3"
        },
        {
          "source": 1113546,
          "name": "minimatch",
          "dependency": "minimatch",
          "title": "minimatch ReDoS: nested *() extglobs generate catastrophically backtracking regular expressions",
          "url": "https://github.com/advisories/GHSA-23c5-xmqv-rm74",
          "severity": "high",
          "cwe": [
            "CWE-1333"
          ],
          "cvss": {
            "score": 7.5,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
          },
          "range": "<3.1.4"
        }
      ],
      "effects": [
        "globule",
        "grunt"
      ],
      "range": "<=3.1.3",
      "nodes": [
        "node_modules/globule/node_modules/minimatch",
        "node_modules/grunt/node_modules/minimatch"
      ],
      "fixAvailable": {
        "name": "grunt",
        "version": "0.3.17",
        "isSemVerMajor": true
      }
    },
    "mocha": {
      "name": "mocha",
      "severity": "high",
      "isDirect": false,
      "via": [
        "serialize-javascript"
      ],
      "effects": [
        "@wdio/mocha-framework"
      ],
      "range": "8.0.0 - 12.0.0-beta-2",
      "nodes": [
        "node_modules/mocha"
      ],
      "fixAvailable": {
        "name": "@wdio/mocha-framework",
        "version": "6.1.17",
        "isSemVerMajor": true
      }
    },
    "mwbot": {
      "name": "mwbot",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "request"
      ],
      "effects": [
        "wdio-mediawiki"
      ],
      "range": ">=0.1.6",
      "nodes": [
        "node_modules/mwbot"
      ],
      "fixAvailable": {
        "name": "wdio-mediawiki",
        "version": "6.4.0",
        "isSemVerMajor": true
      }
    },
    "puppeteer-core": {
      "name": "puppeteer-core",
      "severity": "high",
      "isDirect": false,
      "via": [
        "tar-fs",
        "ws"
      ],
      "effects": [
        "devtools",
        "webdriverio"
      ],
      "range": "10.0.0 - 22.11.1",
      "nodes": [
        "node_modules/puppeteer-core"
      ],
      "fixAvailable": {
        "name": "@wdio/cli",
        "version": "9.25.0",
        "isSemVerMajor": true
      }
    },
    "qs": {
      "name": "qs",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        {
          "source": 1113719,
          "name": "qs",
          "dependency": "qs",
          "title": "qs's arrayLimit bypass in its bracket notation allows DoS via memory exhaustion",
          "url": "https://github.com/advisories/GHSA-6rw7-vpxm-498p",
          "severity": "moderate",
          "cwe": [
            "CWE-20"
          ],
          "cvss": {
            "score": 3.7,
            "vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L"
          },
          "range": "<6.14.1"
        }
      ],
      "effects": [
        "request"
      ],
      "range": "<6.14.1",
      "nodes": [
        "node_modules/qs"
      ],
      "fixAvailable": {
        "name": "wdio-mediawiki",
        "version": "6.4.0",
        "isSemVerMajor": true
      }
    },
    "request": {
      "name": "request",
      "severity": "critical",
      "isDirect": false,
      "via": [
        {
          "source": 1096727,
          "name": "request",
          "dependency": "request",
          "title": "Server-Side Request Forgery in Request",
          "url": "https://github.com/advisories/GHSA-p8p7-x288-28g6",
          "severity": "moderate",
          "cwe": [
            "CWE-918"
          ],
          "cvss": {
            "score": 6.1,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N"
          },
          "range": "<=2.88.2"
        },
        "form-data",
        "qs",
        "tough-cookie"
      ],
      "effects": [
        "mwbot"
      ],
      "range": "*",
      "nodes": [
        "node_modules/request"
      ],
      "fixAvailable": {
        "name": "wdio-mediawiki",
        "version": "6.4.0",
        "isSemVerMajor": true
      }
    },
    "serialize-javascript": {
      "name": "serialize-javascript",
      "severity": "high",
      "isDirect": false,
      "via": [
        {
          "source": 1113686,
          "name": "serialize-javascript",
          "dependency": "serialize-javascript",
          "title": "Serialize JavaScript is Vulnerable to RCE via RegExp.flags and Date.prototype.toISOString()",
          "url": "https://github.com/advisories/GHSA-5c6j-r48x-rmvq",
          "severity": "high",
          "cwe": [
            "CWE-96"
          ],
          "cvss": {
            "score": 8.1,
            "vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H"
          },
          "range": "<=7.0.2"
        }
      ],
      "effects": [
        "mocha"
      ],
      "range": "<=7.0.2",
      "nodes": [
        "node_modules/serialize-javascript"
      ],
      "fixAvailable": {
        "name": "@wdio/mocha-framework",
        "version": "6.1.17",
        "isSemVerMajor": true
      }
    },
    "tar-fs": {
      "name": "tar-fs",
      "severity": "high",
      "isDirect": false,
      "via": [
        {
          "source": 1109532,
          "name": "tar-fs",
          "dependency": "tar-fs",
          "title": "tar-fs has a symlink validation bypass if destination directory is predictable with a specific tarball",
          "url": "https://github.com/advisories/GHSA-vj76-c3g6-qr5v",
          "severity": "high",
          "cwe": [
            "CWE-22",
            "CWE-61"
          ],
          "cvss": {
            "score": 0,
            "vectorString": null
          },
          "range": ">=2.0.0 <2.1.4"
        },
        {
          "source": 1109543,
          "name": "tar-fs",
          "dependency": "tar-fs",
          "title": "tar-fs can extract outside the specified dir with a specific tarball",
          "url": "https://github.com/advisories/GHSA-8cj5-5rvv-wf4v",
          "severity": "high",
          "cwe": [
            "CWE-22"
          ],
          "cvss": {
            "score": 0,
            "vectorString": null
          },
          "range": ">=2.0.0 <2.1.3"
        },
        {
          "source": 1109552,
          "name": "tar-fs",
          "dependency": "tar-fs",
          "title": "tar-fs Vulnerable to Link Following and Path Traversal via Extracting a Crafted tar File",
          "url": "https://github.com/advisories/GHSA-pq67-2wwv-3xjx",
          "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": ">=2.0.0 <2.1.2"
        }
      ],
      "effects": [
        "puppeteer-core"
      ],
      "range": "2.0.0 - 2.1.3",
      "nodes": [
        "node_modules/tar-fs"
      ],
      "fixAvailable": {
        "name": "@wdio/cli",
        "version": "9.25.0",
        "isSemVerMajor": true
      }
    },
    "tmp": {
      "name": "tmp",
      "severity": "low",
      "isDirect": false,
      "via": [
        {
          "source": 1109537,
          "name": "tmp",
          "dependency": "tmp",
          "title": "tmp allows arbitrary temporary file / directory write via symbolic link `dir` parameter",
          "url": "https://github.com/advisories/GHSA-52f5-9888-hmc6",
          "severity": "low",
          "cwe": [
            "CWE-59"
          ],
          "cvss": {
            "score": 2.5,
            "vectorString": "CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:L/A:N"
          },
          "range": "<=0.2.3"
        }
      ],
      "effects": [
        "external-editor"
      ],
      "range": "<=0.2.3",
      "nodes": [
        "node_modules/tmp"
      ],
      "fixAvailable": {
        "name": "@wdio/cli",
        "version": "9.25.0",
        "isSemVerMajor": true
      }
    },
    "tough-cookie": {
      "name": "tough-cookie",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        {
          "source": 1097682,
          "name": "tough-cookie",
          "dependency": "tough-cookie",
          "title": "tough-cookie Prototype Pollution vulnerability",
          "url": "https://github.com/advisories/GHSA-72xf-g2v4-qvf3",
          "severity": "moderate",
          "cwe": [
            "CWE-1321"
          ],
          "cvss": {
            "score": 6.5,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N"
          },
          "range": "<4.1.3"
        }
      ],
      "effects": [
        "request"
      ],
      "range": "<4.1.3",
      "nodes": [
        "node_modules/request/node_modules/tough-cookie"
      ],
      "fixAvailable": {
        "name": "wdio-mediawiki",
        "version": "6.4.0",
        "isSemVerMajor": true
      }
    },
    "wdio-mediawiki": {
      "name": "wdio-mediawiki",
      "severity": "moderate",
      "isDirect": true,
      "via": [
        "mwbot"
      ],
      "effects": [],
      "range": "<=5.1.0",
      "nodes": [
        "node_modules/wdio-mediawiki"
      ],
      "fixAvailable": {
        "name": "wdio-mediawiki",
        "version": "6.4.0",
        "isSemVerMajor": true
      }
    },
    "webdriverio": {
      "name": "webdriverio",
      "severity": "high",
      "isDirect": false,
      "via": [
        "devtools",
        "puppeteer-core"
      ],
      "effects": [
        "@wdio/cli",
        "@wdio/runner"
      ],
      "range": "7.16.5 - 8.46.0",
      "nodes": [
        "node_modules/webdriverio"
      ],
      "fixAvailable": {
        "name": "@wdio/cli",
        "version": "9.25.0",
        "isSemVerMajor": true
      }
    },
    "ws": {
      "name": "ws",
      "severity": "high",
      "isDirect": false,
      "via": [
        {
          "source": 1098392,
          "name": "ws",
          "dependency": "ws",
          "title": "ws affected by a DoS when handling a request with many HTTP headers",
          "url": "https://github.com/advisories/GHSA-3h5v-q93c-6h6q",
          "severity": "high",
          "cwe": [
            "CWE-476"
          ],
          "cvss": {
            "score": 7.5,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
          },
          "range": ">=8.0.0 <8.17.1"
        }
      ],
      "effects": [
        "puppeteer-core"
      ],
      "range": "8.0.0 - 8.17.0",
      "nodes": [
        "node_modules/puppeteer-core/node_modules/ws"
      ],
      "fixAvailable": {
        "name": "@wdio/cli",
        "version": "9.25.0",
        "isSemVerMajor": true
      }
    },
    "yarn-install": {
      "name": "yarn-install",
      "severity": "high",
      "isDirect": false,
      "via": [
        "cross-spawn"
      ],
      "effects": [
        "@wdio/cli"
      ],
      "range": "*",
      "nodes": [
        "node_modules/yarn-install"
      ],
      "fixAvailable": {
        "name": "@wdio/cli",
        "version": "9.25.0",
        "isSemVerMajor": true
      }
    }
  },
  "metadata": {
    "vulnerabilities": {
      "info": 0,
      "low": 12,
      "moderate": 4,
      "high": 20,
      "critical": 2,
      "total": 38
    },
    "dependencies": {
      "prod": 1,
      "dev": 1505,
      "optional": 4,
      "peer": 1,
      "peerOptional": 0,
      "total": 1505
    }
  }
}

--- end ---
Attempting to npm audit fix
$ /usr/bin/npm audit fix --dry-run --only=dev --json
--- stderr ---
npm WARN invalid config only="dev" set in command line options
npm WARN invalid config Must be one of: null, prod, production
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: 'wdio-mediawiki@2.5.0',
npm WARN EBADENGINE   required: { node: '>=18.17.0', npm: '>=9.6.7' },
npm WARN EBADENGINE   current: { node: 'v20.19.2', npm: '9.2.0' }
npm WARN EBADENGINE }
--- stdout ---
{
  "added": 1505,
  "removed": 0,
  "changed": 0,
  "audited": 1506,
  "funding": 179,
  "audit": {
    "auditReportVersion": 2,
    "vulnerabilities": {
      "@jest/core": {
        "name": "@jest/core",
        "severity": "low",
        "isDirect": false,
        "via": [
          "jest-config",
          "jest-runner"
        ],
        "effects": [
          "jest"
        ],
        "range": "27.0.1 - 27.5.1",
        "nodes": [
          "node_modules/@jest/core"
        ],
        "fixAvailable": {
          "name": "jest",
          "version": "30.3.0",
          "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"
        ],
        "fixAvailable": {
          "name": "jest",
          "version": "30.3.0",
          "isSemVerMajor": true
        }
      },
      "@wdio/cli": {
        "name": "@wdio/cli",
        "severity": "high",
        "isDirect": true,
        "via": [
          "inquirer",
          "webdriverio",
          "yarn-install"
        ],
        "effects": [
          "@wdio/junit-reporter",
          "@wdio/local-runner",
          "@wdio/spec-reporter"
        ],
        "range": "<=9.0.0-alpha.426",
        "nodes": [
          "node_modules/@wdio/cli"
        ],
        "fixAvailable": {
          "name": "@wdio/cli",
          "version": "9.25.0",
          "isSemVerMajor": true
        }
      },
      "@wdio/junit-reporter": {
        "name": "@wdio/junit-reporter",
        "severity": "high",
        "isDirect": true,
        "via": [
          "@wdio/cli"
        ],
        "effects": [],
        "range": "6.0.4 - 8.0.0-alpha.631",
        "nodes": [
          "node_modules/@wdio/junit-reporter"
        ],
        "fixAvailable": {
          "name": "@wdio/junit-reporter",
          "version": "9.25.0",
          "isSemVerMajor": true
        }
      },
      "@wdio/local-runner": {
        "name": "@wdio/local-runner",
        "severity": "high",
        "isDirect": true,
        "via": [
          "@wdio/cli",
          "@wdio/runner"
        ],
        "effects": [],
        "range": "<=9.1.5",
        "nodes": [
          "node_modules/@wdio/local-runner"
        ],
        "fixAvailable": {
          "name": "@wdio/local-runner",
          "version": "9.25.0",
          "isSemVerMajor": true
        }
      },
      "@wdio/mocha-framework": {
        "name": "@wdio/mocha-framework",
        "severity": "high",
        "isDirect": true,
        "via": [
          "mocha"
        ],
        "effects": [],
        "range": ">=6.1.19",
        "nodes": [
          "node_modules/@wdio/mocha-framework"
        ],
        "fixAvailable": {
          "name": "@wdio/mocha-framework",
          "version": "6.1.17",
          "isSemVerMajor": true
        }
      },
      "@wdio/runner": {
        "name": "@wdio/runner",
        "severity": "high",
        "isDirect": false,
        "via": [
          "gaze",
          "webdriverio"
        ],
        "effects": [
          "@wdio/local-runner"
        ],
        "range": "<=9.1.5",
        "nodes": [
          "node_modules/@wdio/runner"
        ],
        "fixAvailable": {
          "name": "@wdio/local-runner",
          "version": "9.25.0",
          "isSemVerMajor": true
        }
      },
      "@wdio/spec-reporter": {
        "name": "@wdio/spec-reporter",
        "severity": "high",
        "isDirect": true,
        "via": [
          "@wdio/cli"
        ],
        "effects": [],
        "range": "6.0.4 - 8.0.0-alpha.631",
        "nodes": [
          "node_modules/@wdio/spec-reporter"
        ],
        "fixAvailable": {
          "name": "@wdio/spec-reporter",
          "version": "9.25.0",
          "isSemVerMajor": true
        }
      },
      "cross-spawn": {
        "name": "cross-spawn",
        "severity": "high",
        "isDirect": false,
        "via": [
          {
            "source": 1104663,
            "name": "cross-spawn",
            "dependency": "cross-spawn",
            "title": "Regular Expression Denial of Service (ReDoS) in cross-spawn",
            "url": "https://github.com/advisories/GHSA-3xgq-45jj-v275",
            "severity": "high",
            "cwe": [
              "CWE-1333"
            ],
            "cvss": {
              "score": 7.5,
              "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
            },
            "range": "<6.0.6"
          }
        ],
        "effects": [
          "yarn-install"
        ],
        "range": "<6.0.6",
        "nodes": [
          "node_modules/yarn-install/node_modules/cross-spawn"
        ],
        "fixAvailable": {
          "name": "@wdio/cli",
          "version": "9.25.0",
          "isSemVerMajor": true
        }
      },
      "devtools": {
        "name": "devtools",
        "severity": "high",
        "isDirect": false,
        "via": [
          "puppeteer-core"
        ],
        "effects": [],
        "range": ">=7.16.5",
        "nodes": [
          "node_modules/devtools"
        ],
        "fixAvailable": true
      },
      "external-editor": {
        "name": "external-editor",
        "severity": "low",
        "isDirect": false,
        "via": [
          "tmp"
        ],
        "effects": [
          "inquirer"
        ],
        "range": ">=1.1.1",
        "nodes": [
          "node_modules/external-editor"
        ],
        "fixAvailable": {
          "name": "@wdio/cli",
          "version": "9.25.0",
          "isSemVerMajor": true
        }
      },
      "form-data": {
        "name": "form-data",
        "severity": "critical",
        "isDirect": false,
        "via": [
          {
            "source": 1109540,
            "name": "form-data",
            "dependency": "form-data",
            "title": "form-data uses unsafe random function in form-data for choosing boundary",
            "url": "https://github.com/advisories/GHSA-fjxv-7rqg-78g4",
            "severity": "critical",
            "cwe": [
              "CWE-330"
            ],
            "cvss": {
              "score": 0,
              "vectorString": null
            },
            "range": "<2.5.4"
          }
        ],
        "effects": [
          "request"
        ],
        "range": "<2.5.4",
        "nodes": [
          "node_modules/request/node_modules/form-data"
        ],
        "fixAvailable": {
          "name": "wdio-mediawiki",
          "version": "6.4.0",
          "isSemVerMajor": true
        }
      },
      "gaze": {
        "name": "gaze",
        "severity": "high",
        "isDirect": false,
        "via": [
          "globule"
        ],
        "effects": [
          "@wdio/runner"
        ],
        "range": ">=0.4.0",
        "nodes": [
          "node_modules/gaze"
        ],
        "fixAvailable": {
          "name": "@wdio/local-runner",
          "version": "9.25.0",
          "isSemVerMajor": true
        }
      },
      "globule": {
        "name": "globule",
        "severity": "high",
        "isDirect": false,
        "via": [
          "minimatch"
        ],
        "effects": [
          "gaze"
        ],
        "range": "*",
        "nodes": [
          "node_modules/globule"
        ],
        "fixAvailable": {
          "name": "@wdio/local-runner",
          "version": "9.25.0",
          "isSemVerMajor": true
        }
      },
      "grunt": {
        "name": "grunt",
        "severity": "high",
        "isDirect": true,
        "via": [
          "minimatch"
        ],
        "effects": [
          "grunt-eslint"
        ],
        "range": ">=0.4.0-a",
        "nodes": [
          "node_modules/grunt"
        ],
        "fixAvailable": {
          "name": "grunt",
          "version": "0.3.17",
          "isSemVerMajor": true
        }
      },
      "grunt-eslint": {
        "name": "grunt-eslint",
        "severity": "high",
        "isDirect": true,
        "via": [
          "grunt"
        ],
        "effects": [],
        "range": "<=1.0.0 || >=18.1.0",
        "nodes": [
          "node_modules/grunt-eslint"
        ],
        "fixAvailable": {
          "name": "grunt-eslint",
          "version": "18.0.0",
          "isSemVerMajor": true
        }
      },
      "http-proxy-agent": {
        "name": "http-proxy-agent",
        "severity": "low",
        "isDirect": false,
        "via": [
          "@tootallnate/once"
        ],
        "effects": [
          "jsdom"
        ],
        "range": "4.0.1 - 5.0.0",
        "nodes": [
          "node_modules/http-proxy-agent"
        ],
        "fixAvailable": {
          "name": "jest",
          "version": "30.3.0",
          "isSemVerMajor": true
        }
      },
      "inquirer": {
        "name": "inquirer",
        "severity": "low",
        "isDirect": false,
        "via": [
          "external-editor"
        ],
        "effects": [
          "@wdio/cli"
        ],
        "range": "3.0.0 - 8.2.6 || 9.0.0 - 9.3.7",
        "nodes": [
          "node_modules/inquirer"
        ],
        "fixAvailable": {
          "name": "@wdio/cli",
          "version": "9.25.0",
          "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.3.0",
          "isSemVerMajor": true
        }
      },
      "jest-cli": {
        "name": "jest-cli",
        "severity": "low",
        "isDirect": false,
        "via": [
          "@jest/core",
          "jest-config"
        ],
        "effects": [],
        "range": "27.0.1 - 27.5.1",
        "nodes": [
          "node_modules/jest-cli"
        ],
        "fixAvailable": 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.3.0",
          "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.3.0",
          "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.3.0",
          "isSemVerMajor": true
        }
      },
      "jsdom": {
        "name": "jsdom",
        "severity": "low",
        "isDirect": false,
        "via": [
          "http-proxy-agent"
        ],
        "effects": [
          "jest-environment-jsdom"
        ],
        "range": "16.6.0 - 22.1.0",
        "nodes": [
          "node_modules/jsdom"
        ],
        "fixAvailable": {
          "name": "jest",
          "version": "30.3.0",
          "isSemVerMajor": true
        }
      },
      "minimatch": {
        "name": "minimatch",
        "severity": "high",
        "isDirect": false,
        "via": [
          {
            "source": 1113459,
            "name": "minimatch",
            "dependency": "minimatch",
            "title": "minimatch has a ReDoS via repeated wildcards with non-matching literal in pattern",
            "url": "https://github.com/advisories/GHSA-3ppc-4f35-3m26",
            "severity": "high",
            "cwe": [
              "CWE-1333"
            ],
            "cvss": {
              "score": 0,
              "vectorString": null
            },
            "range": "<3.1.3"
          },
          {
            "source": 1113538,
            "name": "minimatch",
            "dependency": "minimatch",
            "title": "minimatch has ReDoS: matchOne() combinatorial backtracking via multiple non-adjacent GLOBSTAR segments",
            "url": "https://github.com/advisories/GHSA-7r86-cg39-jmmj",
            "severity": "high",
            "cwe": [
              "CWE-407"
            ],
            "cvss": {
              "score": 7.5,
              "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
            },
            "range": "<3.1.3"
          },
          {
            "source": 1113546,
            "name": "minimatch",
            "dependency": "minimatch",
            "title": "minimatch ReDoS: nested *() extglobs generate catastrophically backtracking regular expressions",
            "url": "https://github.com/advisories/GHSA-23c5-xmqv-rm74",
            "severity": "high",
            "cwe": [
              "CWE-1333"
            ],
            "cvss": {
              "score": 7.5,
              "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
            },
            "range": "<3.1.4"
          }
        ],
        "effects": [
          "globule",
          "grunt"
        ],
        "range": "<=3.1.3",
        "nodes": [
          "node_modules/globule/node_modules/minimatch",
          "node_modules/grunt/node_modules/minimatch"
        ],
        "fixAvailable": {
          "name": "grunt",
          "version": "0.3.17",
          "isSemVerMajor": true
        }
      },
      "mocha": {
        "name": "mocha",
        "severity": "high",
        "isDirect": false,
        "via": [
          "serialize-javascript"
        ],
        "effects": [
          "@wdio/mocha-framework"
        ],
        "range": "8.0.0 - 12.0.0-beta-2",
        "nodes": [
          "node_modules/mocha"
        ],
        "fixAvailable": {
          "name": "@wdio/mocha-framework",
          "version": "6.1.17",
          "isSemVerMajor": true
        }
      },
      "mwbot": {
        "name": "mwbot",
        "severity": "moderate",
        "isDirect": false,
        "via": [
          "request"
        ],
        "effects": [
          "wdio-mediawiki"
        ],
        "range": ">=0.1.6",
        "nodes": [
          "node_modules/mwbot"
        ],
        "fixAvailable": {
          "name": "wdio-mediawiki",
          "version": "6.4.0",
          "isSemVerMajor": true
        }
      },
      "puppeteer-core": {
        "name": "puppeteer-core",
        "severity": "high",
        "isDirect": false,
        "via": [
          "tar-fs",
          "ws"
        ],
        "effects": [
          "devtools",
          "webdriverio"
        ],
        "range": "10.0.0 - 22.11.1",
        "nodes": [
          "node_modules/puppeteer-core"
        ],
        "fixAvailable": {
          "name": "@wdio/cli",
          "version": "9.25.0",
          "isSemVerMajor": true
        }
      },
      "qs": {
        "name": "qs",
        "severity": "moderate",
        "isDirect": false,
        "via": [
          {
            "source": 1113719,
            "name": "qs",
            "dependency": "qs",
            "title": "qs's arrayLimit bypass in its bracket notation allows DoS via memory exhaustion",
            "url": "https://github.com/advisories/GHSA-6rw7-vpxm-498p",
            "severity": "moderate",
            "cwe": [
              "CWE-20"
            ],
            "cvss": {
              "score": 3.7,
              "vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L"
            },
            "range": "<6.14.1"
          }
        ],
        "effects": [
          "request"
        ],
        "range": "<6.14.1",
        "nodes": [
          "node_modules/qs"
        ],
        "fixAvailable": {
          "name": "wdio-mediawiki",
          "version": "6.4.0",
          "isSemVerMajor": true
        }
      },
      "request": {
        "name": "request",
        "severity": "critical",
        "isDirect": false,
        "via": [
          {
            "source": 1096727,
            "name": "request",
            "dependency": "request",
            "title": "Server-Side Request Forgery in Request",
            "url": "https://github.com/advisories/GHSA-p8p7-x288-28g6",
            "severity": "moderate",
            "cwe": [
              "CWE-918"
            ],
            "cvss": {
              "score": 6.1,
              "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N"
            },
            "range": "<=2.88.2"
          },
          "form-data",
          "qs",
          "tough-cookie"
        ],
        "effects": [
          "mwbot"
        ],
        "range": "*",
        "nodes": [
          "node_modules/request"
        ],
        "fixAvailable": {
          "name": "wdio-mediawiki",
          "version": "6.4.0",
          "isSemVerMajor": true
        }
      },
      "serialize-javascript": {
        "name": "serialize-javascript",
        "severity": "high",
        "isDirect": false,
        "via": [
          {
            "source": 1113686,
            "name": "serialize-javascript",
            "dependency": "serialize-javascript",
            "title": "Serialize JavaScript is Vulnerable to RCE via RegExp.flags and Date.prototype.toISOString()",
            "url": "https://github.com/advisories/GHSA-5c6j-r48x-rmvq",
            "severity": "high",
            "cwe": [
              "CWE-96"
            ],
            "cvss": {
              "score": 8.1,
              "vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H"
            },
            "range": "<=7.0.2"
          }
        ],
        "effects": [
          "mocha"
        ],
        "range": "<=7.0.2",
        "nodes": [
          "node_modules/serialize-javascript"
        ],
        "fixAvailable": {
          "name": "@wdio/mocha-framework",
          "version": "6.1.17",
          "isSemVerMajor": true
        }
      },
      "tar-fs": {
        "name": "tar-fs",
        "severity": "high",
        "isDirect": false,
        "via": [
          {
            "source": 1109532,
            "name": "tar-fs",
            "dependency": "tar-fs",
            "title": "tar-fs has a symlink validation bypass if destination directory is predictable with a specific tarball",
            "url": "https://github.com/advisories/GHSA-vj76-c3g6-qr5v",
            "severity": "high",
            "cwe": [
              "CWE-22",
              "CWE-61"
            ],
            "cvss": {
              "score": 0,
              "vectorString": null
            },
            "range": ">=2.0.0 <2.1.4"
          },
          {
            "source": 1109543,
            "name": "tar-fs",
            "dependency": "tar-fs",
            "title": "tar-fs can extract outside the specified dir with a specific tarball",
            "url": "https://github.com/advisories/GHSA-8cj5-5rvv-wf4v",
            "severity": "high",
            "cwe": [
              "CWE-22"
            ],
            "cvss": {
              "score": 0,
              "vectorString": null
            },
            "range": ">=2.0.0 <2.1.3"
          },
          {
            "source": 1109552,
            "name": "tar-fs",
            "dependency": "tar-fs",
            "title": "tar-fs Vulnerable to Link Following and Path Traversal via Extracting a Crafted tar File",
            "url": "https://github.com/advisories/GHSA-pq67-2wwv-3xjx",
            "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": ">=2.0.0 <2.1.2"
          }
        ],
        "effects": [
          "puppeteer-core"
        ],
        "range": "2.0.0 - 2.1.3",
        "nodes": [
          "node_modules/tar-fs"
        ],
        "fixAvailable": {
          "name": "@wdio/cli",
          "version": "9.25.0",
          "isSemVerMajor": true
        }
      },
      "tmp": {
        "name": "tmp",
        "severity": "low",
        "isDirect": false,
        "via": [
          {
            "source": 1109537,
            "name": "tmp",
            "dependency": "tmp",
            "title": "tmp allows arbitrary temporary file / directory write via symbolic link `dir` parameter",
            "url": "https://github.com/advisories/GHSA-52f5-9888-hmc6",
            "severity": "low",
            "cwe": [
              "CWE-59"
            ],
            "cvss": {
              "score": 2.5,
              "vectorString": "CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:L/A:N"
            },
            "range": "<=0.2.3"
          }
        ],
        "effects": [
          "external-editor"
        ],
        "range": "<=0.2.3",
        "nodes": [
          "node_modules/tmp"
        ],
        "fixAvailable": {
          "name": "@wdio/cli",
          "version": "9.25.0",
          "isSemVerMajor": true
        }
      },
      "tough-cookie": {
        "name": "tough-cookie",
        "severity": "moderate",
        "isDirect": false,
        "via": [
          {
            "source": 1097682,
            "name": "tough-cookie",
            "dependency": "tough-cookie",
            "title": "tough-cookie Prototype Pollution vulnerability",
            "url": "https://github.com/advisories/GHSA-72xf-g2v4-qvf3",
            "severity": "moderate",
            "cwe": [
              "CWE-1321"
            ],
            "cvss": {
              "score": 6.5,
              "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N"
            },
            "range": "<4.1.3"
          }
        ],
        "effects": [
          "request"
        ],
        "range": "<4.1.3",
        "nodes": [
          "node_modules/request/node_modules/tough-cookie"
        ],
        "fixAvailable": {
          "name": "wdio-mediawiki",
          "version": "6.4.0",
          "isSemVerMajor": true
        }
      },
      "wdio-mediawiki": {
        "name": "wdio-mediawiki",
        "severity": "moderate",
        "isDirect": true,
        "via": [
          "mwbot"
        ],
        "effects": [],
        "range": "<=5.1.0",
        "nodes": [
          "node_modules/wdio-mediawiki"
        ],
        "fixAvailable": {
          "name": "wdio-mediawiki",
          "version": "6.4.0",
          "isSemVerMajor": true
        }
      },
      "webdriverio": {
        "name": "webdriverio",
        "severity": "high",
        "isDirect": false,
        "via": [
          "devtools",
          "puppeteer-core"
        ],
        "effects": [
          "@wdio/cli",
          "@wdio/runner"
        ],
        "range": "7.16.5 - 8.46.0",
        "nodes": [
          "node_modules/webdriverio"
        ],
        "fixAvailable": {
          "name": "@wdio/cli",
          "version": "9.25.0",
          "isSemVerMajor": true
        }
      },
      "ws": {
        "name": "ws",
        "severity": "high",
        "isDirect": false,
        "via": [
          {
            "source": 1098392,
            "name": "ws",
            "dependency": "ws",
            "title": "ws affected by a DoS when handling a request with many HTTP headers",
            "url": "https://github.com/advisories/GHSA-3h5v-q93c-6h6q",
            "severity": "high",
            "cwe": [
              "CWE-476"
            ],
            "cvss": {
              "score": 7.5,
              "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
            },
            "range": ">=8.0.0 <8.17.1"
          }
        ],
        "effects": [
          "puppeteer-core"
        ],
        "range": "8.0.0 - 8.17.0",
        "nodes": [
          "node_modules/puppeteer-core/node_modules/ws"
        ],
        "fixAvailable": {
          "name": "@wdio/cli",
          "version": "9.25.0",
          "isSemVerMajor": true
        }
      },
      "yarn-install": {
        "name": "yarn-install",
        "severity": "high",
        "isDirect": false,
        "via": [
          "cross-spawn"
        ],
        "effects": [
          "@wdio/cli"
        ],
        "range": "*",
        "nodes": [
          "node_modules/yarn-install"
        ],
        "fixAvailable": {
          "name": "@wdio/cli",
          "version": "9.25.0",
          "isSemVerMajor": true
        }
      }
    },
    "metadata": {
      "vulnerabilities": {
        "info": 0,
        "low": 12,
        "moderate": 4,
        "high": 20,
        "critical": 2,
        "total": 38
      },
      "dependencies": {
        "prod": 1,
        "dev": 1505,
        "optional": 4,
        "peer": 1,
        "peerOptional": 0,
        "total": 1505
      }
    }
  }
}

--- end ---
{"added": 1505, "removed": 0, "changed": 0, "audited": 1506, "funding": 179, "audit": {"auditReportVersion": 2, "vulnerabilities": {"@jest/core": {"name": "@jest/core", "severity": "low", "isDirect": false, "via": ["jest-config", "jest-runner"], "effects": ["jest"], "range": "27.0.1 - 27.5.1", "nodes": ["node_modules/@jest/core"], "fixAvailable": {"name": "jest", "version": "30.3.0", "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"], "fixAvailable": {"name": "jest", "version": "30.3.0", "isSemVerMajor": true}}, "@wdio/cli": {"name": "@wdio/cli", "severity": "high", "isDirect": true, "via": ["inquirer", "webdriverio", "yarn-install"], "effects": ["@wdio/junit-reporter", "@wdio/local-runner", "@wdio/spec-reporter"], "range": "<=9.0.0-alpha.426", "nodes": ["node_modules/@wdio/cli"], "fixAvailable": {"name": "@wdio/cli", "version": "9.25.0", "isSemVerMajor": true}}, "@wdio/junit-reporter": {"name": "@wdio/junit-reporter", "severity": "high", "isDirect": true, "via": ["@wdio/cli"], "effects": [], "range": "6.0.4 - 8.0.0-alpha.631", "nodes": ["node_modules/@wdio/junit-reporter"], "fixAvailable": {"name": "@wdio/junit-reporter", "version": "9.25.0", "isSemVerMajor": true}}, "@wdio/local-runner": {"name": "@wdio/local-runner", "severity": "high", "isDirect": true, "via": ["@wdio/cli", "@wdio/runner"], "effects": [], "range": "<=9.1.5", "nodes": ["node_modules/@wdio/local-runner"], "fixAvailable": {"name": "@wdio/local-runner", "version": "9.25.0", "isSemVerMajor": true}}, "@wdio/mocha-framework": {"name": "@wdio/mocha-framework", "severity": "high", "isDirect": true, "via": ["mocha"], "effects": [], "range": ">=6.1.19", "nodes": ["node_modules/@wdio/mocha-framework"], "fixAvailable": {"name": "@wdio/mocha-framework", "version": "6.1.17", "isSemVerMajor": true}}, "@wdio/runner": {"name": "@wdio/runner", "severity": "high", "isDirect": false, "via": ["gaze", "webdriverio"], "effects": ["@wdio/local-runner"], "range": "<=9.1.5", "nodes": ["node_modules/@wdio/runner"], "fixAvailable": {"name": "@wdio/local-runner", "version": "9.25.0", "isSemVerMajor": true}}, "@wdio/spec-reporter": {"name": "@wdio/spec-reporter", "severity": "high", "isDirect": true, "via": ["@wdio/cli"], "effects": [], "range": "6.0.4 - 8.0.0-alpha.631", "nodes": ["node_modules/@wdio/spec-reporter"], "fixAvailable": {"name": "@wdio/spec-reporter", "version": "9.25.0", "isSemVerMajor": true}}, "cross-spawn": {"name": "cross-spawn", "severity": "high", "isDirect": false, "via": [{"source": 1104663, "name": "cross-spawn", "dependency": "cross-spawn", "title": "Regular Expression Denial of Service (ReDoS) in cross-spawn", "url": "https://github.com/advisories/GHSA-3xgq-45jj-v275", "severity": "high", "cwe": ["CWE-1333"], "cvss": {"score": 7.5, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"}, "range": "<6.0.6"}], "effects": ["yarn-install"], "range": "<6.0.6", "nodes": ["node_modules/yarn-install/node_modules/cross-spawn"], "fixAvailable": {"name": "@wdio/cli", "version": "9.25.0", "isSemVerMajor": true}}, "devtools": {"name": "devtools", "severity": "high", "isDirect": false, "via": ["puppeteer-core"], "effects": [], "range": ">=7.16.5", "nodes": ["node_modules/devtools"], "fixAvailable": true}, "external-editor": {"name": "external-editor", "severity": "low", "isDirect": false, "via": ["tmp"], "effects": ["inquirer"], "range": ">=1.1.1", "nodes": ["node_modules/external-editor"], "fixAvailable": {"name": "@wdio/cli", "version": "9.25.0", "isSemVerMajor": true}}, "form-data": {"name": "form-data", "severity": "critical", "isDirect": false, "via": [{"source": 1109540, "name": "form-data", "dependency": "form-data", "title": "form-data uses unsafe random function in form-data for choosing boundary", "url": "https://github.com/advisories/GHSA-fjxv-7rqg-78g4", "severity": "critical", "cwe": ["CWE-330"], "cvss": {"score": 0, "vectorString": null}, "range": "<2.5.4"}], "effects": ["request"], "range": "<2.5.4", "nodes": ["node_modules/request/node_modules/form-data"], "fixAvailable": {"name": "wdio-mediawiki", "version": "6.4.0", "isSemVerMajor": true}}, "gaze": {"name": "gaze", "severity": "high", "isDirect": false, "via": ["globule"], "effects": ["@wdio/runner"], "range": ">=0.4.0", "nodes": ["node_modules/gaze"], "fixAvailable": {"name": "@wdio/local-runner", "version": "9.25.0", "isSemVerMajor": true}}, "globule": {"name": "globule", "severity": "high", "isDirect": false, "via": ["minimatch"], "effects": ["gaze"], "range": "*", "nodes": ["node_modules/globule"], "fixAvailable": {"name": "@wdio/local-runner", "version": "9.25.0", "isSemVerMajor": true}}, "grunt": {"name": "grunt", "severity": "high", "isDirect": true, "via": ["minimatch"], "effects": ["grunt-eslint"], "range": ">=0.4.0-a", "nodes": ["node_modules/grunt"], "fixAvailable": {"name": "grunt", "version": "0.3.17", "isSemVerMajor": true}}, "grunt-eslint": {"name": "grunt-eslint", "severity": "high", "isDirect": true, "via": ["grunt"], "effects": [], "range": "<=1.0.0 || >=18.1.0", "nodes": ["node_modules/grunt-eslint"], "fixAvailable": {"name": "grunt-eslint", "version": "18.0.0", "isSemVerMajor": true}}, "http-proxy-agent": {"name": "http-proxy-agent", "severity": "low", "isDirect": false, "via": ["@tootallnate/once"], "effects": ["jsdom"], "range": "4.0.1 - 5.0.0", "nodes": ["node_modules/http-proxy-agent"], "fixAvailable": {"name": "jest", "version": "30.3.0", "isSemVerMajor": true}}, "inquirer": {"name": "inquirer", "severity": "low", "isDirect": false, "via": ["external-editor"], "effects": ["@wdio/cli"], "range": "3.0.0 - 8.2.6 || 9.0.0 - 9.3.7", "nodes": ["node_modules/inquirer"], "fixAvailable": {"name": "@wdio/cli", "version": "9.25.0", "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.3.0", "isSemVerMajor": true}}, "jest-cli": {"name": "jest-cli", "severity": "low", "isDirect": false, "via": ["@jest/core", "jest-config"], "effects": [], "range": "27.0.1 - 27.5.1", "nodes": ["node_modules/jest-cli"], "fixAvailable": 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.3.0", "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.3.0", "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.3.0", "isSemVerMajor": true}}, "jsdom": {"name": "jsdom", "severity": "low", "isDirect": false, "via": ["http-proxy-agent"], "effects": ["jest-environment-jsdom"], "range": "16.6.0 - 22.1.0", "nodes": ["node_modules/jsdom"], "fixAvailable": {"name": "jest", "version": "30.3.0", "isSemVerMajor": true}}, "minimatch": {"name": "minimatch", "severity": "high", "isDirect": false, "via": [{"source": 1113459, "name": "minimatch", "dependency": "minimatch", "title": "minimatch has a ReDoS via repeated wildcards with non-matching literal in pattern", "url": "https://github.com/advisories/GHSA-3ppc-4f35-3m26", "severity": "high", "cwe": ["CWE-1333"], "cvss": {"score": 0, "vectorString": null}, "range": "<3.1.3"}, {"source": 1113538, "name": "minimatch", "dependency": "minimatch", "title": "minimatch has ReDoS: matchOne() combinatorial backtracking via multiple non-adjacent GLOBSTAR segments", "url": "https://github.com/advisories/GHSA-7r86-cg39-jmmj", "severity": "high", "cwe": ["CWE-407"], "cvss": {"score": 7.5, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"}, "range": "<3.1.3"}, {"source": 1113546, "name": "minimatch", "dependency": "minimatch", "title": "minimatch ReDoS: nested *() extglobs generate catastrophically backtracking regular expressions", "url": "https://github.com/advisories/GHSA-23c5-xmqv-rm74", "severity": "high", "cwe": ["CWE-1333"], "cvss": {"score": 7.5, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"}, "range": "<3.1.4"}], "effects": ["globule", "grunt"], "range": "<=3.1.3", "nodes": ["node_modules/globule/node_modules/minimatch", "node_modules/grunt/node_modules/minimatch"], "fixAvailable": {"name": "grunt", "version": "0.3.17", "isSemVerMajor": true}}, "mocha": {"name": "mocha", "severity": "high", "isDirect": false, "via": ["serialize-javascript"], "effects": ["@wdio/mocha-framework"], "range": "8.0.0 - 12.0.0-beta-2", "nodes": ["node_modules/mocha"], "fixAvailable": {"name": "@wdio/mocha-framework", "version": "6.1.17", "isSemVerMajor": true}}, "mwbot": {"name": "mwbot", "severity": "moderate", "isDirect": false, "via": ["request"], "effects": ["wdio-mediawiki"], "range": ">=0.1.6", "nodes": ["node_modules/mwbot"], "fixAvailable": {"name": "wdio-mediawiki", "version": "6.4.0", "isSemVerMajor": true}}, "puppeteer-core": {"name": "puppeteer-core", "severity": "high", "isDirect": false, "via": ["tar-fs", "ws"], "effects": ["devtools", "webdriverio"], "range": "10.0.0 - 22.11.1", "nodes": ["node_modules/puppeteer-core"], "fixAvailable": {"name": "@wdio/cli", "version": "9.25.0", "isSemVerMajor": true}}, "qs": {"name": "qs", "severity": "moderate", "isDirect": false, "via": [{"source": 1113719, "name": "qs", "dependency": "qs", "title": "qs's arrayLimit bypass in its bracket notation allows DoS via memory exhaustion", "url": "https://github.com/advisories/GHSA-6rw7-vpxm-498p", "severity": "moderate", "cwe": ["CWE-20"], "cvss": {"score": 3.7, "vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L"}, "range": "<6.14.1"}], "effects": ["request"], "range": "<6.14.1", "nodes": ["node_modules/qs"], "fixAvailable": {"name": "wdio-mediawiki", "version": "6.4.0", "isSemVerMajor": true}}, "request": {"name": "request", "severity": "critical", "isDirect": false, "via": [{"source": 1096727, "name": "request", "dependency": "request", "title": "Server-Side Request Forgery in Request", "url": "https://github.com/advisories/GHSA-p8p7-x288-28g6", "severity": "moderate", "cwe": ["CWE-918"], "cvss": {"score": 6.1, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N"}, "range": "<=2.88.2"}, "form-data", "qs", "tough-cookie"], "effects": ["mwbot"], "range": "*", "nodes": ["node_modules/request"], "fixAvailable": {"name": "wdio-mediawiki", "version": "6.4.0", "isSemVerMajor": true}}, "serialize-javascript": {"name": "serialize-javascript", "severity": "high", "isDirect": false, "via": [{"source": 1113686, "name": "serialize-javascript", "dependency": "serialize-javascript", "title": "Serialize JavaScript is Vulnerable to RCE via RegExp.flags and Date.prototype.toISOString()", "url": "https://github.com/advisories/GHSA-5c6j-r48x-rmvq", "severity": "high", "cwe": ["CWE-96"], "cvss": {"score": 8.1, "vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H"}, "range": "<=7.0.2"}], "effects": ["mocha"], "range": "<=7.0.2", "nodes": ["node_modules/serialize-javascript"], "fixAvailable": {"name": "@wdio/mocha-framework", "version": "6.1.17", "isSemVerMajor": true}}, "tar-fs": {"name": "tar-fs", "severity": "high", "isDirect": false, "via": [{"source": 1109532, "name": "tar-fs", "dependency": "tar-fs", "title": "tar-fs has a symlink validation bypass if destination directory is predictable with a specific tarball", "url": "https://github.com/advisories/GHSA-vj76-c3g6-qr5v", "severity": "high", "cwe": ["CWE-22", "CWE-61"], "cvss": {"score": 0, "vectorString": null}, "range": ">=2.0.0 <2.1.4"}, {"source": 1109543, "name": "tar-fs", "dependency": "tar-fs", "title": "tar-fs can extract outside the specified dir with a specific tarball", "url": "https://github.com/advisories/GHSA-8cj5-5rvv-wf4v", "severity": "high", "cwe": ["CWE-22"], "cvss": {"score": 0, "vectorString": null}, "range": ">=2.0.0 <2.1.3"}, {"source": 1109552, "name": "tar-fs", "dependency": "tar-fs", "title": "tar-fs Vulnerable to Link Following and Path Traversal via Extracting a Crafted tar File", "url": "https://github.com/advisories/GHSA-pq67-2wwv-3xjx", "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": ">=2.0.0 <2.1.2"}], "effects": ["puppeteer-core"], "range": "2.0.0 - 2.1.3", "nodes": ["node_modules/tar-fs"], "fixAvailable": {"name": "@wdio/cli", "version": "9.25.0", "isSemVerMajor": true}}, "tmp": {"name": "tmp", "severity": "low", "isDirect": false, "via": [{"source": 1109537, "name": "tmp", "dependency": "tmp", "title": "tmp allows arbitrary temporary file / directory write via symbolic link `dir` parameter", "url": "https://github.com/advisories/GHSA-52f5-9888-hmc6", "severity": "low", "cwe": ["CWE-59"], "cvss": {"score": 2.5, "vectorString": "CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:L/A:N"}, "range": "<=0.2.3"}], "effects": ["external-editor"], "range": "<=0.2.3", "nodes": ["node_modules/tmp"], "fixAvailable": {"name": "@wdio/cli", "version": "9.25.0", "isSemVerMajor": true}}, "tough-cookie": {"name": "tough-cookie", "severity": "moderate", "isDirect": false, "via": [{"source": 1097682, "name": "tough-cookie", "dependency": "tough-cookie", "title": "tough-cookie Prototype Pollution vulnerability", "url": "https://github.com/advisories/GHSA-72xf-g2v4-qvf3", "severity": "moderate", "cwe": ["CWE-1321"], "cvss": {"score": 6.5, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N"}, "range": "<4.1.3"}], "effects": ["request"], "range": "<4.1.3", "nodes": ["node_modules/request/node_modules/tough-cookie"], "fixAvailable": {"name": "wdio-mediawiki", "version": "6.4.0", "isSemVerMajor": true}}, "wdio-mediawiki": {"name": "wdio-mediawiki", "severity": "moderate", "isDirect": true, "via": ["mwbot"], "effects": [], "range": "<=5.1.0", "nodes": ["node_modules/wdio-mediawiki"], "fixAvailable": {"name": "wdio-mediawiki", "version": "6.4.0", "isSemVerMajor": true}}, "webdriverio": {"name": "webdriverio", "severity": "high", "isDirect": false, "via": ["devtools", "puppeteer-core"], "effects": ["@wdio/cli", "@wdio/runner"], "range": "7.16.5 - 8.46.0", "nodes": ["node_modules/webdriverio"], "fixAvailable": {"name": "@wdio/cli", "version": "9.25.0", "isSemVerMajor": true}}, "ws": {"name": "ws", "severity": "high", "isDirect": false, "via": [{"source": 1098392, "name": "ws", "dependency": "ws", "title": "ws affected by a DoS when handling a request with many HTTP headers", "url": "https://github.com/advisories/GHSA-3h5v-q93c-6h6q", "severity": "high", "cwe": ["CWE-476"], "cvss": {"score": 7.5, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"}, "range": ">=8.0.0 <8.17.1"}], "effects": ["puppeteer-core"], "range": "8.0.0 - 8.17.0", "nodes": ["node_modules/puppeteer-core/node_modules/ws"], "fixAvailable": {"name": "@wdio/cli", "version": "9.25.0", "isSemVerMajor": true}}, "yarn-install": {"name": "yarn-install", "severity": "high", "isDirect": false, "via": ["cross-spawn"], "effects": ["@wdio/cli"], "range": "*", "nodes": ["node_modules/yarn-install"], "fixAvailable": {"name": "@wdio/cli", "version": "9.25.0", "isSemVerMajor": true}}}, "metadata": {"vulnerabilities": {"info": 0, "low": 12, "moderate": 4, "high": 20, "critical": 2, "total": 38}, "dependencies": {"prod": 1, "dev": 1505, "optional": 4, "peer": 1, "peerOptional": 0, "total": 1505}}}}
$ /usr/bin/npm audit fix --only=dev
--- stderr ---
npm WARN invalid config only="dev" set in command line options
npm WARN invalid config Must be one of: null, prod, production
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: 'wdio-mediawiki@2.5.0',
npm WARN EBADENGINE   required: { node: '>=18.17.0', npm: '>=9.6.7' },
npm WARN EBADENGINE   current: { node: 'v20.19.2', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN deprecated source-map-url@0.4.1: See https://github.com/lydell/source-map-url#deprecated
npm WARN deprecated urix@0.1.0: Please see https://github.com/lydell/urix#deprecated
npm WARN deprecated har-validator@5.1.5: this library is no longer supported
npm WARN deprecated abab@2.0.6: Use your platform's native atob() and btoa() methods instead
npm WARN deprecated resolve-url@0.2.1: https://github.com/lydell/resolve-url#deprecated
npm WARN deprecated glob@8.1.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 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 uuid@3.4.0: Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.
npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142
--- stdout ---

added 1504 packages, and audited 1505 packages in 20s

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

# npm audit report

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

cross-spawn  <6.0.6
Severity: high
Regular Expression Denial of Service (ReDoS) in cross-spawn - https://github.com/advisories/GHSA-3xgq-45jj-v275
fix available via `npm audit fix --force`
Will install @wdio/cli@9.25.0, which is a breaking change
node_modules/yarn-install/node_modules/cross-spawn
  yarn-install  *
  Depends on vulnerable versions of cross-spawn
  node_modules/yarn-install
    @wdio/cli  <=9.0.0-alpha.426
    Depends on vulnerable versions of inquirer
    Depends on vulnerable versions of webdriverio
    Depends on vulnerable versions of yarn-install
    node_modules/@wdio/cli
      @wdio/junit-reporter  6.0.4 - 8.0.0-alpha.631
      Depends on vulnerable versions of @wdio/cli
      node_modules/@wdio/junit-reporter
      @wdio/local-runner  <=9.1.5
      Depends on vulnerable versions of @wdio/cli
      Depends on vulnerable versions of @wdio/runner
      node_modules/@wdio/local-runner
      @wdio/spec-reporter  6.0.4 - 8.0.0-alpha.631
      Depends on vulnerable versions of @wdio/cli
      node_modules/@wdio/spec-reporter

form-data  <2.5.4
Severity: critical
form-data uses unsafe random function in form-data for choosing boundary - https://github.com/advisories/GHSA-fjxv-7rqg-78g4
fix available via `npm audit fix --force`
Will install wdio-mediawiki@6.4.0, which is a breaking change
node_modules/request/node_modules/form-data
  request  *
  Depends on vulnerable versions of form-data
  Depends on vulnerable versions of qs
  Depends on vulnerable versions of tough-cookie
  node_modules/request
    mwbot  >=0.1.6
    Depends on vulnerable versions of request
    node_modules/mwbot
      wdio-mediawiki  <=5.1.0
      Depends on vulnerable versions of mwbot
      node_modules/wdio-mediawiki

minimatch  <=3.1.3
Severity: high
minimatch has a ReDoS via repeated wildcards with non-matching literal in pattern - https://github.com/advisories/GHSA-3ppc-4f35-3m26
minimatch has ReDoS: matchOne() combinatorial backtracking via multiple non-adjacent GLOBSTAR segments - https://github.com/advisories/GHSA-7r86-cg39-jmmj
minimatch ReDoS: nested *() extglobs generate catastrophically backtracking regular expressions - https://github.com/advisories/GHSA-23c5-xmqv-rm74
fix available via `npm audit fix --force`
Will install grunt@0.3.17, which is a breaking change
node_modules/globule/node_modules/minimatch
node_modules/grunt/node_modules/minimatch
  globule  *
  Depends on vulnerable versions of minimatch
  node_modules/globule
    gaze  >=0.4.0
    Depends on vulnerable versions of globule
    node_modules/gaze
      @wdio/runner  <=9.1.5
      Depends on vulnerable versions of gaze
      Depends on vulnerable versions of webdriverio
      node_modules/@wdio/runner
  grunt  >=0.4.0-a
  Depends on vulnerable versions of minimatch
  node_modules/grunt
    grunt-eslint  <=1.0.0 || >=18.1.0
    Depends on vulnerable versions of grunt
    node_modules/grunt-eslint

qs  <6.14.1
Severity: moderate
qs's arrayLimit bypass in its bracket notation allows DoS via memory exhaustion - https://github.com/advisories/GHSA-6rw7-vpxm-498p
fix available via `npm audit fix --force`
Will install wdio-mediawiki@6.4.0, which is a breaking change
node_modules/qs


serialize-javascript  <=7.0.2
Severity: high
Serialize JavaScript is Vulnerable to RCE via RegExp.flags and Date.prototype.toISOString() - https://github.com/advisories/GHSA-5c6j-r48x-rmvq
fix available via `npm audit fix --force`
Will install @wdio/mocha-framework@6.1.17, which is a breaking change
node_modules/serialize-javascript
  mocha  8.0.0 - 12.0.0-beta-2
  Depends on vulnerable versions of serialize-javascript
  node_modules/mocha
    @wdio/mocha-framework  >=6.1.19
    Depends on vulnerable versions of mocha
    node_modules/@wdio/mocha-framework

tar-fs  2.0.0 - 2.1.3
Severity: high
tar-fs has a symlink validation bypass if destination directory is predictable with a specific tarball - https://github.com/advisories/GHSA-vj76-c3g6-qr5v
tar-fs can extract outside the specified dir with a specific tarball - https://github.com/advisories/GHSA-8cj5-5rvv-wf4v
tar-fs Vulnerable to Link Following and Path Traversal via Extracting a Crafted tar File - https://github.com/advisories/GHSA-pq67-2wwv-3xjx
fix available via `npm audit fix --force`
Will install @wdio/cli@9.25.0, which is a breaking change
node_modules/tar-fs
  puppeteer-core  10.0.0 - 22.11.1
  Depends on vulnerable versions of tar-fs
  Depends on vulnerable versions of ws
  node_modules/puppeteer-core
    devtools  >=7.16.5
    Depends on vulnerable versions of puppeteer-core
    node_modules/devtools
    webdriverio  7.16.5 - 8.46.0
    Depends on vulnerable versions of devtools
    Depends on vulnerable versions of puppeteer-core
    node_modules/webdriverio

tmp  <=0.2.3
tmp allows arbitrary temporary file / directory write via symbolic link `dir` parameter - https://github.com/advisories/GHSA-52f5-9888-hmc6
fix available via `npm audit fix --force`
Will install @wdio/cli@9.25.0, which is a breaking change
node_modules/tmp
  external-editor  >=1.1.1
  Depends on vulnerable versions of tmp
  node_modules/external-editor
    inquirer  3.0.0 - 8.2.6 || 9.0.0 - 9.3.7
    Depends on vulnerable versions of external-editor
    node_modules/inquirer

tough-cookie  <4.1.3
Severity: moderate
tough-cookie Prototype Pollution vulnerability - https://github.com/advisories/GHSA-72xf-g2v4-qvf3
fix available via `npm audit fix --force`
Will install wdio-mediawiki@6.4.0, which is a breaking change
node_modules/request/node_modules/tough-cookie

ws  8.0.0 - 8.17.0
Severity: high
ws affected by a DoS when handling a request with many HTTP headers - https://github.com/advisories/GHSA-3h5v-q93c-6h6q
fix available via `npm audit fix --force`
Will install @wdio/cli@9.25.0, which is a breaking change
node_modules/puppeteer-core/node_modules/ws

38 vulnerabilities (12 low, 4 moderate, 20 high, 2 critical)

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

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

--- end ---
Verifying that tests still pass
$ /usr/bin/npm ci
--- stderr ---
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: 'wdio-mediawiki@2.5.0',
npm WARN EBADENGINE   required: { node: '>=18.17.0', npm: '>=9.6.7' },
npm WARN EBADENGINE   current: { node: 'v20.19.2', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN deprecated source-map-url@0.4.1: See https://github.com/lydell/source-map-url#deprecated
npm WARN deprecated urix@0.1.0: Please see https://github.com/lydell/urix#deprecated
npm WARN deprecated har-validator@5.1.5: this library is no longer supported
npm WARN deprecated abab@2.0.6: Use your platform's native atob() and btoa() methods instead
npm WARN deprecated resolve-url@0.2.1: https://github.com/lydell/resolve-url#deprecated
npm WARN deprecated glob@8.1.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 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 uuid@3.4.0: Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.
npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142
--- stdout ---

added 1504 packages, and audited 1505 packages in 23s

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

38 vulnerabilities (12 low, 4 moderate, 20 high, 2 critical)

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

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

Run `npm audit` for details.

--- end ---
$ /usr/bin/npm test
--- stderr ---
PASS tests/jest/store/modules/factory.test.js
PASS tests/jest/store/modules/submission.test.js
PASS tests/jest/store/modules/zobject.test.js
PASS tests/jest/store/modules/zfunction.test.js
PASS tests/jest/store/modules/library.test.js
PASS tests/jest/store/modules/router.test.js
PASS tests/jest/mixins/typeUtils.test.js
PASS tests/jest/components/default/ZObjectStringRenderer.test.js
PASS tests/jest/components/widgets/about/AboutLanguageBlock.test.js
PASS tests/jest/components/widgets/about/About.test.js
PASS tests/jest/mixins/zobjectUtils.test.js
PASS tests/jest/components/default/ZObjectKeyValue.test.js (6.942 s)
PASS tests/jest/components/widgets/function-evaluator/FunctionEvaluator.test.js
  ● Console

    console.log
      Metrics Platform event emitted using submitInteraction: call - {"selectedfunctionzid":"Z10000","haserrors":false}

      at Object.<anonymous> (jest.setup.js:129:12)

    console.log
      Metrics Platform event emitted using submitInteraction: call - {"selectedfunctionzid":"Z10000","haserrors":false}

      at Object.<anonymous> (jest.setup.js:129:12)

PASS tests/jest/store/modules/testResults.test.js
PASS tests/jest/components/base/ModeSelector.test.js
PASS tests/jest/components/default/ZObjectToString.test.js
PASS tests/jest/components/function/viewer/FunctionViewerDetails.test.js
PASS tests/jest/store/modules/ztype.test.js
PASS tests/jest/components/widgets/function-evaluator/FunctionMetadataDialog.test.js
PASS tests/jest/components/default/ZCode.test.js
PASS tests/jest/store/modules/currentPage.test.js
  ● Console

    console.log
      Metrics Platform event emitted using submitInteraction: change - {}

      at Object.<anonymous> (jest.setup.js:129:12)

PASS tests/jest/components/widgets/function-explorer/FunctionExplorer.test.js
PASS tests/jest/components/default/wikidata/Lexeme.test.js
PASS tests/jest/components/widgets/publish/PublishDialog.test.js
  ● Console

    console.log
      Metrics Platform event emitted using submitInteraction: publish - {"zobjecttype":"Z8","zobjectid":"Z0","zlang":"Z1002","haserrors":false}

      at Object.<anonymous> (jest.setup.js:129:12)

    console.log
      Metrics Platform event emitted using submitInteraction: publish - {"zobjecttype":"Z8","zobjectid":"Z0","zlang":"Z1002","haserrors":false}

      at Object.<anonymous> (jest.setup.js:129:12)

    console.log
      Metrics Platform event emitted using submitInteraction: publish - {"zobjecttype":"Z8","zobjectid":"Z0","zlang":"Z1002","haserrors":false}

      at Object.<anonymous> (jest.setup.js:129:12)

    console.log
      Metrics Platform event emitted using submitInteraction: publish - {"zobjecttype":"Z8","zobjectid":"Z0","zlang":"Z1002","haserrors":false}

      at Object.<anonymous> (jest.setup.js:129:12)

    console.log
      Metrics Platform event emitted using submitInteraction: publish - {"zobjecttype":"Z8","zobjectid":"Z0","zlang":"Z1002","haserrors":false}

      at Object.<anonymous> (jest.setup.js:129:12)

    console.log
      Metrics Platform event emitted using submitInteraction: publish - {"zobjecttype":"Z14","zobjectid":"Z10001","zlang":"Z1002","implementationtype":"Z14K3","haserrors":false}

      at Object.<anonymous> (jest.setup.js:129:12)

    console.log
      Metrics Platform event emitted using submitInteraction: publish - {"zobjecttype":"Z8","zobjectid":"Z0","zlang":"Z1002","haserrors":true}

      at Object.<anonymous> (jest.setup.js:129:12)

PASS tests/jest/languageselector/LanguageSelector.test.js
PASS tests/jest/store/classes/ApiError.test.js
PASS tests/jest/components/base/ZObjectSelector.test.js
PASS tests/jest/components/default/ZTester.test.js
PASS tests/jest/components/default/ZImplementation.test.js
PASS tests/jest/store/modules/wikidata/lexemes.test.js
PASS tests/jest/mixins/schemata.test.js
PASS tests/jest/components/widgets/function-report/FunctionReport.test.js
PASS tests/jest/components/widgets/about/AboutLanguagesDialog.test.js
PASS tests/jest/components/widgets/publish/Publish.test.js
  ● Console

    console.log
      Metrics Platform event emitted using submitInteraction: cancel - {"zobjecttype":"Z8","zobjectid":"Z0","zlang":"Z1002","implementationtype":"Z14K3"}

      at Object.<anonymous> (jest.setup.js:129:12)

    console.log
      Metrics Platform event emitted using submitInteraction: cancel - {"zobjecttype":"Z8","zobjectid":"Z0","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:129:12)

    console.log
      Metrics Platform event emitted using submitInteraction: cancel - {"zobjecttype":"Z14","zobjectid":"Z10001","zlang":"Z1002","implementationtype":"Z14K3"}

      at Object.<anonymous> (jest.setup.js:129:12)

PASS tests/jest/components/function/editor/FunctionEditorFooter.test.js
  ● Console

    console.log
      Metrics Platform event emitted using submitInteraction: change - {"zobjectid":"Z0","zobjecttype":"Z8","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:129:12)

PASS tests/jest/components/base/TypeSelector.test.js
PASS tests/jest/components/default/ZArgumentReference.test.js
PASS tests/jest/components/base/Pagination.test.js
PASS tests/jest/integration/CreateNewTester.test.js (7.928 s)
  ● Console

    console.warn
      [Vue warn]: App already provides property with key "store". It will be overwritten with the new value.

      86 |
      87 | 	it( 'allows creating a new tester', async () => {
    > 88 | 		const { findByTestId } = render( App, {
         | 		                         ^
      89 | 			global: { plugins: [ store ], stubs: {
      90 | 				teleport: true,
      91 | 				WlFunctionEvaluatorWidget: true

      at warn$1 (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:49:13)
      at Object.provide (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3961:11)
      at Store.install (node_modules/vuex/dist/vuex.cjs.js:943:7)
      at Object.use (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3854:18)
      at createInstance (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8292:17)
      at mount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8385:14)
      at render (node_modules/@testing-library/vue/dist/render.js:45:38)
      at Object.<anonymous> (tests/jest/integration/CreateNewTester.test.js:88:28)

    console.log
      Metrics Platform event emitted using submitInteraction: change - {"zobjectid":"Z0","zobjecttype":"Z20","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:129:12)

    console.log
      Metrics Platform event emitted using submitInteraction: create - {"zobjecttype":"Z20","zobjectid":"Z0","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:129:12)

    console.log
      Metrics Platform event emitted using submitInteraction: publish - {"zobjecttype":"Z20","zobjectid":"Z0","zlang":"Z1002","haserrors":false}

      at Object.<anonymous> (jest.setup.js:129:12)

PASS tests/jest/integration/EditFunction.test.js (5.098 s)
  ● Console

    console.warn
      [Vue warn]: App already provides property with key "store". It will be overwritten with the new value.

      46 | 			findAllByTestId,
      47 | 			getByText
    > 48 | 		} = render( App, { global: { plugins: [ store ] } } );
         | 		    ^
      49 |
      50 | 		// ACT: Get the language blocks
      51 | 		let languageBlocks = await findAllByTestId( 'function-editor-language-block' );

      at warn$1 (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:49:13)
      at Object.provide (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3961:11)
      at Store.install (node_modules/vuex/dist/vuex.cjs.js:943:7)
      at Object.use (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3854:18)
      at createInstance (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8292:17)
      at mount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8385:14)
      at render (node_modules/@testing-library/vue/dist/render.js:45:38)
      at Object.<anonymous> (tests/jest/integration/EditFunction.test.js:48:7)

    console.log
      Metrics Platform event emitted using submitInteraction: edit - {"zobjecttype":"Z8","zobjectid":"Z12345","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:129:12)

    console.log
      Metrics Platform event emitted using submitInteraction: change - {"zobjectid":"Z12345","zobjecttype":"Z8","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:129:12)

    console.warn
      Using "fireEvent.change" may lead to unexpected results. Please use fireEvent.update() instead.

      29 | 	const textbox = within( parentWrapper ).getByRole( 'textbox' );
      30 | 	// TODO (T370511): Using "fireEvent.change" may lead to unexpected results. Please use fireEvent.update() instead
    > 31 | 	return fireEvent.change( textbox, { target: { value: newText } } );
         | 	                 ^
      32 | };
      33 |
      34 | const chipInputAddChip = async ( parentWrapper, newChip ) => {

      at warnOnChangeOrInputEventCalledDirectly (node_modules/@testing-library/vue/dist/fire-event.js:103:13)
      at Function.<anonymous> (node_modules/@testing-library/vue/dist/fire-event.js:32:5)
      at asyncGeneratorStep (node_modules/@testing-library/vue/dist/fire-event.js:10:103)
      at _next (node_modules/@testing-library/vue/dist/fire-event.js:12:194)
      at node_modules/@testing-library/vue/dist/fire-event.js:12:364
      at Function.change (node_modules/@testing-library/vue/dist/fire-event.js:12:97)
      at textInputChange (tests/jest/integration/helpers/interactionHelpers.js:31:19)
      at Object.<anonymous> (tests/jest/integration/EditFunction.test.js:79:9)

    console.log
      Metrics Platform event emitted using submitInteraction: change - {"zobjectid":"Z12345","zobjecttype":"Z8","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:129:12)

    console.warn
      Using "fireEvent.change" may lead to unexpected results. Please use fireEvent.update() instead.

      29 | 	const textbox = within( parentWrapper ).getByRole( 'textbox' );
      30 | 	// TODO (T370511): Using "fireEvent.change" may lead to unexpected results. Please use fireEvent.update() instead
    > 31 | 	return fireEvent.change( textbox, { target: { value: newText } } );
         | 	                 ^
      32 | };
      33 |
      34 | const chipInputAddChip = async ( parentWrapper, newChip ) => {

      at warnOnChangeOrInputEventCalledDirectly (node_modules/@testing-library/vue/dist/fire-event.js:103:13)
      at Function.<anonymous> (node_modules/@testing-library/vue/dist/fire-event.js:32:5)
      at asyncGeneratorStep (node_modules/@testing-library/vue/dist/fire-event.js:10:103)
      at _next (node_modules/@testing-library/vue/dist/fire-event.js:12:194)
      at node_modules/@testing-library/vue/dist/fire-event.js:12:364
      at Function.change (node_modules/@testing-library/vue/dist/fire-event.js:12:97)
      at textInputChange (tests/jest/integration/helpers/interactionHelpers.js:31:19)
      at Object.<anonymous> (tests/jest/integration/EditFunction.test.js:87:9)

    console.warn
      Using "fireEvent.change" may lead to unexpected results. Please use fireEvent.update() instead.

      29 | 	const textbox = within( parentWrapper ).getByRole( 'textbox' );
      30 | 	// TODO (T370511): Using "fireEvent.change" may lead to unexpected results. Please use fireEvent.update() instead
    > 31 | 	return fireEvent.change( textbox, { target: { value: newText } } );
         | 	                 ^
      32 | };
      33 |
      34 | const chipInputAddChip = async ( parentWrapper, newChip ) => {

      at warnOnChangeOrInputEventCalledDirectly (node_modules/@testing-library/vue/dist/fire-event.js:103:13)
      at Function.<anonymous> (node_modules/@testing-library/vue/dist/fire-event.js:32:5)
      at asyncGeneratorStep (node_modules/@testing-library/vue/dist/fire-event.js:10:103)
      at _next (node_modules/@testing-library/vue/dist/fire-event.js:12:194)
      at node_modules/@testing-library/vue/dist/fire-event.js:12:364
      at Function.change (node_modules/@testing-library/vue/dist/fire-event.js:12:97)
      at textInputChange (tests/jest/integration/helpers/interactionHelpers.js:31:19)
      at Object.<anonymous> (tests/jest/integration/EditFunction.test.js:92:9)

    console.warn
      Using "fireEvent.change" may lead to unexpected results. Please use fireEvent.update() instead.

      29 | 	const textbox = within( parentWrapper ).getByRole( 'textbox' );
      30 | 	// TODO (T370511): Using "fireEvent.change" may lead to unexpected results. Please use fireEvent.update() instead
    > 31 | 	return fireEvent.change( textbox, { target: { value: newText } } );
         | 	                 ^
      32 | };
      33 |
      34 | const chipInputAddChip = async ( parentWrapper, newChip ) => {

      at warnOnChangeOrInputEventCalledDirectly (node_modules/@testing-library/vue/dist/fire-event.js:103:13)
      at Function.<anonymous> (node_modules/@testing-library/vue/dist/fire-event.js:32:5)
      at asyncGeneratorStep (node_modules/@testing-library/vue/dist/fire-event.js:10:103)
      at _next (node_modules/@testing-library/vue/dist/fire-event.js:12:194)
      at node_modules/@testing-library/vue/dist/fire-event.js:12:364
      at Function.change (node_modules/@testing-library/vue/dist/fire-event.js:12:97)
      at textInputChange (tests/jest/integration/helpers/interactionHelpers.js:31:19)
      at Object.<anonymous> (tests/jest/integration/EditFunction.test.js:113:9)

    console.log
      Metrics Platform event emitted using submitInteraction: publish - {"zobjecttype":"Z8","zobjectid":"Z12345","zlang":"Z1002","haserrors":false}

      at Object.<anonymous> (jest.setup.js:129:12)

PASS tests/jest/components/function/editor/FunctionEditorInputsItem.test.js
PASS tests/jest/components/default/ZReference.test.js
PASS tests/jest/integration/CreateNewCompositionImplementation.test.js (12.091 s)
  ● Console

    console.warn
      [Vue warn]: App already provides property with key "store". It will be overwritten with the new value.

      28 |
      29 | 	it( 'should allow you to create a new composition implementation', async () => {
    > 30 | 		const { getByTestId, findByTestId } = render( App, {
         | 		                                      ^
      31 | 			global: { plugins: [ store ], stubs: {
      32 | 				teleport: true,
      33 | 				WlFunctionEvaluatorWidget: true

      at warn$1 (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:49:13)
      at Object.provide (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3961:11)
      at Store.install (node_modules/vuex/dist/vuex.cjs.js:943:7)
      at Object.use (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3854:18)
      at createInstance (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8292:17)
      at mount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8385:14)
      at render (node_modules/@testing-library/vue/dist/render.js:45:38)
      at Object.<anonymous> (tests/jest/integration/CreateNewCompositionImplementation.test.js:30:41)

    console.log
      Metrics Platform event emitted using submitInteraction: create - {"zobjecttype":"Z14","zobjectid":"Z0","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:129:12)

    console.log
      Metrics Platform event emitted using submitInteraction: change - {"zobjectid":"Z0","zobjecttype":"Z14","implementationtype":"Z14K2","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:129:12)

    console.log
      Metrics Platform event emitted using submitInteraction: publish - {"zobjecttype":"Z14","zobjectid":"Z0","zlang":"Z1002","implementationtype":"Z14K2","haserrors":false}

      at Object.<anonymous> (jest.setup.js:129:12)

PASS tests/jest/components/function/editor/FunctionEditorAliases.test.js
PASS tests/jest/store/modules/errors.test.js
PASS tests/jest/integration/CreateNewFunction.test.js
  ● Console

    console.warn
      [Vue warn]: App already provides property with key "store". It will be overwritten with the new value.

      43 | 			getAllByTestId,
      44 | 			getByText
    > 45 | 		} = render( App, { global: { plugins: [ store ] } } );
         | 		    ^
      46 |
      47 | 		// ACT: Get First language block. Selected by default: English
      48 | 		let languageBlocks = await findAllByTestId( 'function-editor-language-block' );

      at warn$1 (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:49:13)
      at Object.provide (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3961:11)
      at Store.install (node_modules/vuex/dist/vuex.cjs.js:943:7)
      at Object.use (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3854:18)
      at createInstance (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8292:17)
      at mount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8385:14)
      at render (node_modules/@testing-library/vue/dist/render.js:45:38)
      at Object.<anonymous> (tests/jest/integration/CreateNewFunction.test.js:45:7)

    console.log
      Metrics Platform event emitted using submitInteraction: create - {"zobjecttype":"Z8","zobjectid":"Z0","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:129:12)

    console.warn
      Using "fireEvent.change" may lead to unexpected results. Please use fireEvent.update() instead.

      29 | 	const textbox = within( parentWrapper ).getByRole( 'textbox' );
      30 | 	// TODO (T370511): Using "fireEvent.change" may lead to unexpected results. Please use fireEvent.update() instead
    > 31 | 	return fireEvent.change( textbox, { target: { value: newText } } );
         | 	                 ^
      32 | };
      33 |
      34 | const chipInputAddChip = async ( parentWrapper, newChip ) => {

      at warnOnChangeOrInputEventCalledDirectly (node_modules/@testing-library/vue/dist/fire-event.js:103:13)
      at Function.<anonymous> (node_modules/@testing-library/vue/dist/fire-event.js:32:5)
      at asyncGeneratorStep (node_modules/@testing-library/vue/dist/fire-event.js:10:103)
      at _next (node_modules/@testing-library/vue/dist/fire-event.js:12:194)
      at node_modules/@testing-library/vue/dist/fire-event.js:12:364
      at Function.change (node_modules/@testing-library/vue/dist/fire-event.js:12:97)
      at textInputChange (tests/jest/integration/helpers/interactionHelpers.js:31:19)
      at Object.<anonymous> (tests/jest/integration/CreateNewFunction.test.js:53:9)

    console.log
      Metrics Platform event emitted using submitInteraction: change - {"zobjectid":"Z0","zobjecttype":"Z8","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:129:12)

    console.warn
      Using "fireEvent.change" may lead to unexpected results. Please use fireEvent.update() instead.

      29 | 	const textbox = within( parentWrapper ).getByRole( 'textbox' );
      30 | 	// TODO (T370511): Using "fireEvent.change" may lead to unexpected results. Please use fireEvent.update() instead
    > 31 | 	return fireEvent.change( textbox, { target: { value: newText } } );
         | 	                 ^
      32 | };
      33 |
      34 | const chipInputAddChip = async ( parentWrapper, newChip ) => {

      at warnOnChangeOrInputEventCalledDirectly (node_modules/@testing-library/vue/dist/fire-event.js:103:13)
      at Function.<anonymous> (node_modules/@testing-library/vue/dist/fire-event.js:32:5)
      at asyncGeneratorStep (node_modules/@testing-library/vue/dist/fire-event.js:10:103)
      at _next (node_modules/@testing-library/vue/dist/fire-event.js:12:194)
      at node_modules/@testing-library/vue/dist/fire-event.js:12:364
      at Function.change (node_modules/@testing-library/vue/dist/fire-event.js:12:97)
      at textInputChange (tests/jest/integration/helpers/interactionHelpers.js:31:19)
      at Object.<anonymous> (tests/jest/integration/CreateNewFunction.test.js:57:9)

    console.warn
      Using "fireEvent.change" may lead to unexpected results. Please use fireEvent.update() instead.

      29 | 	const textbox = within( parentWrapper ).getByRole( 'textbox' );
      30 | 	// TODO (T370511): Using "fireEvent.change" may lead to unexpected results. Please use fireEvent.update() instead
    > 31 | 	return fireEvent.change( textbox, { target: { value: newText } } );
         | 	                 ^
      32 | };
      33 |
      34 | const chipInputAddChip = async ( parentWrapper, newChip ) => {

      at warnOnChangeOrInputEventCalledDirectly (node_modules/@testing-library/vue/dist/fire-event.js:103:13)
      at Function.<anonymous> (node_modules/@testing-library/vue/dist/fire-event.js:32:5)
      at asyncGeneratorStep (node_modules/@testing-library/vue/dist/fire-event.js:10:103)
      at _next (node_modules/@testing-library/vue/dist/fire-event.js:12:194)
      at node_modules/@testing-library/vue/dist/fire-event.js:12:364
      at Function.change (node_modules/@testing-library/vue/dist/fire-event.js:12:97)
      at textInputChange (tests/jest/integration/helpers/interactionHelpers.js:31:19)
      at Object.<anonymous> (tests/jest/integration/CreateNewFunction.test.js:71:9)

    console.warn
      Using "fireEvent.change" may lead to unexpected results. Please use fireEvent.update() instead.

      29 | 	const textbox = within( parentWrapper ).getByRole( 'textbox' );
      30 | 	// TODO (T370511): Using "fireEvent.change" may lead to unexpected results. Please use fireEvent.update() instead
    > 31 | 	return fireEvent.change( textbox, { target: { value: newText } } );
         | 	                 ^
      32 | };
      33 |
      34 | const chipInputAddChip = async ( parentWrapper, newChip ) => {

      at warnOnChangeOrInputEventCalledDirectly (node_modules/@testing-library/vue/dist/fire-event.js:103:13)
      at Function.<anonymous> (node_modules/@testing-library/vue/dist/fire-event.js:32:5)
      at asyncGeneratorStep (node_modules/@testing-library/vue/dist/fire-event.js:10:103)
      at _next (node_modules/@testing-library/vue/dist/fire-event.js:12:194)
      at node_modules/@testing-library/vue/dist/fire-event.js:12:364
      at Function.change (node_modules/@testing-library/vue/dist/fire-event.js:12:97)
      at textInputChange (tests/jest/integration/helpers/interactionHelpers.js:31:19)
      at Object.<anonymous> (tests/jest/integration/CreateNewFunction.test.js:87:9)

    console.warn
      Using "fireEvent.change" may lead to unexpected results. Please use fireEvent.update() instead.

      29 | 	const textbox = within( parentWrapper ).getByRole( 'textbox' );
      30 | 	// TODO (T370511): Using "fireEvent.change" may lead to unexpected results. Please use fireEvent.update() instead
    > 31 | 	return fireEvent.change( textbox, { target: { value: newText } } );
         | 	                 ^
      32 | };
      33 |
      34 | const chipInputAddChip = async ( parentWrapper, newChip ) => {

      at warnOnChangeOrInputEventCalledDirectly (node_modules/@testing-library/vue/dist/fire-event.js:103:13)
      at Function.<anonymous> (node_modules/@testing-library/vue/dist/fire-event.js:32:5)
      at asyncGeneratorStep (node_modules/@testing-library/vue/dist/fire-event.js:10:103)
      at _next (node_modules/@testing-library/vue/dist/fire-event.js:12:194)
      at node_modules/@testing-library/vue/dist/fire-event.js:12:364
      at Function.change (node_modules/@testing-library/vue/dist/fire-event.js:12:97)
      at textInputChange (tests/jest/integration/helpers/interactionHelpers.js:31:19)
      at Object.<anonymous> (tests/jest/integration/CreateNewFunction.test.js:105:9)

    console.warn
      Using "fireEvent.change" may lead to unexpected results. Please use fireEvent.update() instead.

      29 | 	const textbox = within( parentWrapper ).getByRole( 'textbox' );
      30 | 	// TODO (T370511): Using "fireEvent.change" may lead to unexpected results. Please use fireEvent.update() instead
    > 31 | 	return fireEvent.change( textbox, { target: { value: newText } } );
         | 	                 ^
      32 | };
      33 |
      34 | const chipInputAddChip = async ( parentWrapper, newChip ) => {

      at warnOnChangeOrInputEventCalledDirectly (node_modules/@testing-library/vue/dist/fire-event.js:103:13)
      at Function.<anonymous> (node_modules/@testing-library/vue/dist/fire-event.js:32:5)
      at asyncGeneratorStep (node_modules/@testing-library/vue/dist/fire-event.js:10:103)
      at _next (node_modules/@testing-library/vue/dist/fire-event.js:12:194)
      at node_modules/@testing-library/vue/dist/fire-event.js:12:364
      at Function.change (node_modules/@testing-library/vue/dist/fire-event.js:12:97)
      at textInputChange (tests/jest/integration/helpers/interactionHelpers.js:31:19)
      at Object.<anonymous> (tests/jest/integration/CreateNewFunction.test.js:109:9)

    console.warn
      Using "fireEvent.change" may lead to unexpected results. Please use fireEvent.update() instead.

      29 | 	const textbox = within( parentWrapper ).getByRole( 'textbox' );
      30 | 	// TODO (T370511): Using "fireEvent.change" may lead to unexpected results. Please use fireEvent.update() instead
    > 31 | 	return fireEvent.change( textbox, { target: { value: newText } } );
         | 	                 ^
      32 | };
      33 |
      34 | const chipInputAddChip = async ( parentWrapper, newChip ) => {

      at warnOnChangeOrInputEventCalledDirectly (node_modules/@testing-library/vue/dist/fire-event.js:103:13)
      at Function.<anonymous> (node_modules/@testing-library/vue/dist/fire-event.js:32:5)
      at asyncGeneratorStep (node_modules/@testing-library/vue/dist/fire-event.js:10:103)
      at _next (node_modules/@testing-library/vue/dist/fire-event.js:12:194)
      at node_modules/@testing-library/vue/dist/fire-event.js:12:364
      at Function.change (node_modules/@testing-library/vue/dist/fire-event.js:12:97)
      at textInputChange (tests/jest/integration/helpers/interactionHelpers.js:31:19)
      at Object.<anonymous> (tests/jest/integration/CreateNewFunction.test.js:118:9)

    console.warn
      Using "fireEvent.change" may lead to unexpected results. Please use fireEvent.update() instead.

      29 | 	const textbox = within( parentWrapper ).getByRole( 'textbox' );
      30 | 	// TODO (T370511): Using "fireEvent.change" may lead to unexpected results. Please use fireEvent.update() instead
    > 31 | 	return fireEvent.change( textbox, { target: { value: newText } } );
         | 	                 ^
      32 | };
      33 |
      34 | const chipInputAddChip = async ( parentWrapper, newChip ) => {

      at warnOnChangeOrInputEventCalledDirectly (node_modules/@testing-library/vue/dist/fire-event.js:103:13)
      at Function.<anonymous> (node_modules/@testing-library/vue/dist/fire-event.js:32:5)
      at asyncGeneratorStep (node_modules/@testing-library/vue/dist/fire-event.js:10:103)
      at _next (node_modules/@testing-library/vue/dist/fire-event.js:12:194)
      at node_modules/@testing-library/vue/dist/fire-event.js:12:364
      at Function.change (node_modules/@testing-library/vue/dist/fire-event.js:12:97)
      at textInputChange (tests/jest/integration/helpers/interactionHelpers.js:31:19)
      at Object.<anonymous> (tests/jest/integration/CreateNewFunction.test.js:122:9)

    console.log
      Metrics Platform event emitted using submitInteraction: publish - {"zobjecttype":"Z8","zobjectid":"Z0","zlang":"Z1002","haserrors":false}

      at Object.<anonymous> (jest.setup.js:129:12)

PASS tests/jest/store/modules/wikidata/entities.test.js
PASS tests/jest/components/function/editor/FunctionEditorName.test.js
PASS tests/jest/mixins/pageTitleUtils.test.js
PASS tests/jest/components/default/ZEvaluationResult.test.js
PASS tests/jest/store/modules/user.test.js
PASS tests/jest/integration/FunctionEditorEdgeCases.test.js
  ● Console

    console.warn
      [Vue warn]: App already provides property with key "store". It will be overwritten with the new value.

      43 | 			getByText,
      44 | 			queryByRole
    > 45 | 		} = render( App, { global: { plugins: [ store ] } } );
         | 		    ^
      46 |
      47 | 		// ACT: Get First language block. Selected by default: English
      48 | 		const languageBlocks = await findAllByTestId( 'function-editor-language-block' );

      at warn$1 (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:49:13)
      at Object.provide (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3961:11)
      at Store.install (node_modules/vuex/dist/vuex.cjs.js:943:7)
      at Object.use (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3854:18)
      at createInstance (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8292:17)
      at mount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8385:14)
      at render (node_modules/@testing-library/vue/dist/render.js:45:38)
      at Object.<anonymous> (tests/jest/integration/FunctionEditorEdgeCases.test.js:45:7)

    console.log
      Metrics Platform event emitted using submitInteraction: create - {"zobjecttype":"Z8","zobjectid":"Z0","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:129:12)

    console.log
      Metrics Platform event emitted using submitInteraction: change - {"zobjectid":"Z0","zobjecttype":"Z8","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:129:12)

    console.log
      Metrics Platform event emitted using submitInteraction: change - {"zobjectid":"Z0","zobjecttype":"Z8","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:129:12)

    console.warn
      Using "fireEvent.change" may lead to unexpected results. Please use fireEvent.update() instead.

      29 | 	const textbox = within( parentWrapper ).getByRole( 'textbox' );
      30 | 	// TODO (T370511): Using "fireEvent.change" may lead to unexpected results. Please use fireEvent.update() instead
    > 31 | 	return fireEvent.change( textbox, { target: { value: newText } } );
         | 	                 ^
      32 | };
      33 |
      34 | const chipInputAddChip = async ( parentWrapper, newChip ) => {

      at warnOnChangeOrInputEventCalledDirectly (node_modules/@testing-library/vue/dist/fire-event.js:103:13)
      at Function.<anonymous> (node_modules/@testing-library/vue/dist/fire-event.js:32:5)
      at asyncGeneratorStep (node_modules/@testing-library/vue/dist/fire-event.js:10:103)
      at _next (node_modules/@testing-library/vue/dist/fire-event.js:12:194)
      at node_modules/@testing-library/vue/dist/fire-event.js:12:364
      at Function.change (node_modules/@testing-library/vue/dist/fire-event.js:12:97)
      at textInputChange (tests/jest/integration/helpers/interactionHelpers.js:31:19)
      at Object.<anonymous> (tests/jest/integration/FunctionEditorEdgeCases.test.js:97:9)

    console.log
      Metrics Platform event emitted using submitInteraction: publish - {"zobjecttype":"Z8","zobjectid":"Z0","zlang":"Z1002","haserrors":false}

      at Object.<anonymous> (jest.setup.js:129:12)

PASS tests/jest/integration/DisconnectFunctionImplementation.test.js
  ● Console

    console.warn
      [Vue warn]: App already provides property with key "store". It will be overwritten with the new value.

      91 | // TODO (T370509): fix the error ' [Vue warn]: App already provides property with key "store". It will be overwritten with the new value.
      92 | // because we already have a store in the global object in jest.config.js
    > 93 | const renderForFunctionViewer = () => render(
         |                                       ^
      94 | 	App,
      95 | 	{ container: document.createElement( 'div' ), global: { plugins: [ store ] } }
      96 | );

      at warn$1 (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:49:13)
      at Object.provide (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3961:11)
      at Store.install (node_modules/vuex/dist/vuex.cjs.js:943:7)
      at Object.use (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3854:18)
      at createInstance (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8292:17)
      at mount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8385:14)
      at render (node_modules/@testing-library/vue/dist/render.js:45:38)
      at renderForFunctionViewer (tests/jest/integration/helpers/functionViewerDetailsTestHelpers.js:93:39)
      at Object.<anonymous> (tests/jest/integration/DisconnectFunctionImplementation.test.js:34:31)

    console.log
      Metrics Platform event emitted using submitInteraction: view - {"zobjecttype":"Z8","zobjectid":"Z12345","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:129:12)

    console.warn
      [Vue warn]: App already provides property with key "store". It will be overwritten with the new value.

      91 | // TODO (T370509): fix the error ' [Vue warn]: App already provides property with key "store". It will be overwritten with the new value.
      92 | // because we already have a store in the global object in jest.config.js
    > 93 | const renderForFunctionViewer = () => render(
         |                                       ^
      94 | 	App,
      95 | 	{ container: document.createElement( 'div' ), global: { plugins: [ store ] } }
      96 | );

      at warn$1 (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:49:13)
      at Object.provide (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3961:11)
      at Store.install (node_modules/vuex/dist/vuex.cjs.js:943:7)
      at Object.use (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3854:18)
      at createInstance (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8292:17)
      at mount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8385:14)
      at render (node_modules/@testing-library/vue/dist/render.js:45:38)
      at renderForFunctionViewer (tests/jest/integration/helpers/functionViewerDetailsTestHelpers.js:93:39)
      at Object.<anonymous> (tests/jest/integration/DisconnectFunctionImplementation.test.js:64:60)

    console.log
      Metrics Platform event emitted using submitInteraction: view - {"zobjecttype":"Z8","zobjectid":"Z12345","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:129:12)

PASS tests/jest/components/default/ZTypedList.test.js
PASS tests/jest/components/App.test.js
PASS tests/jest/components/function/editor/FunctionEditorInputs.test.js
PASS tests/jest/integration/RunFunctionCall.test.js
  ● Console

    console.warn
      [Vue warn]: App already provides property with key "store". It will be overwritten with the new value.

      31 | 	it( 'allows choosing a function and calling it', async () => {
      32 | 		const { findByRole, findByText, findByTestId } =
    > 33 | 			render( App, { global: { plugins: [ store ] } } );
         | 			^
      34 |
      35 | 		// ACT: Select a function
      36 | 		const functionSelectorBlock = await findByTestId( 'function-evaluator-call' );

      at warn$1 (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:49:13)
      at Object.provide (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3961:11)
      at Store.install (node_modules/vuex/dist/vuex.cjs.js:943:7)
      at Object.use (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3854:18)
      at createInstance (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8292:17)
      at mount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8385:14)
      at render (node_modules/@testing-library/vue/dist/render.js:45:38)
      at Object.<anonymous> (tests/jest/integration/RunFunctionCall.test.js:33:4)

    console.log
      Metrics Platform event emitted using submitInteraction: call - {"zobjectid":"Z0","zlang":"Z1002","selectedfunctionzid":"Z12345","haserrors":false}

      at Object.<anonymous> (jest.setup.js:129:12)

PASS tests/jest/components/function/editor/FunctionEditorDescription.test.js
PASS tests/jest/components/base/ClipboardManager.test.js
PASS tests/jest/components/default/ZTypedListType.test.js
PASS tests/jest/components/function/editor/FunctionEditorLanguageBlock.test.js
PASS tests/jest/integration/FunctionEditorGenericTypes.test.js (5.039 s)
  ● Console

    console.warn
      [Vue warn]: App already provides property with key "store". It will be overwritten with the new value.

      44 | 			getByText,
      45 | 			queryByRole
    > 46 | 		} = render( App, { global: { plugins: [ store ] } } );
         | 		    ^
      47 |
      48 | 		const languageBlocks = await findAllByTestId( 'function-editor-language-block' );
      49 | 		const firstLanguageBlock = languageBlocks[ 0 ];

      at warn$1 (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:49:13)
      at Object.provide (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3961:11)
      at Store.install (node_modules/vuex/dist/vuex.cjs.js:943:7)
      at Object.use (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3854:18)
      at createInstance (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8292:17)
      at mount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8385:14)
      at render (node_modules/@testing-library/vue/dist/render.js:45:38)
      at Object.<anonymous> (tests/jest/integration/FunctionEditorGenericTypes.test.js:46:7)

    console.log
      Metrics Platform event emitted using submitInteraction: create - {"zobjecttype":"Z8","zobjectid":"Z0","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:129:12)

    console.log
      Metrics Platform event emitted using submitInteraction: change - {"zobjectid":"Z0","zobjecttype":"Z8","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:129:12)

    console.log
      Metrics Platform event emitted using submitInteraction: publish - {"zobjecttype":"Z8","zobjectid":"Z0","zlang":"Z1002","haserrors":false}

      at Object.<anonymous> (jest.setup.js:129:12)

PASS tests/jest/mixins/errorUtils.test.js
PASS tests/jest/composables/useBreakpoints.test.js
PASS tests/jest/store/modules/functionCall.test.js
PASS tests/jest/components/base/CodeEditor.test.js
PASS tests/jest/integration/CreateNewCodeImplementation.test.js (6.59 s)
  ● Console

    console.warn
      [Vue warn]: App already provides property with key "store". It will be overwritten with the new value.

      27 |
      28 | 	it( 'should allow you to create a new code implementation', async () => {
    > 29 | 		const { getByTestId, findByTestId } = render( App, {
         | 		                                      ^
      30 | 			global: { plugins: [ store ], stubs: {
      31 | 				teleport: true,
      32 | 				WlFunctionEvaluatorWidget: true

      at warn$1 (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:49:13)
      at Object.provide (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3961:11)
      at Store.install (node_modules/vuex/dist/vuex.cjs.js:943:7)
      at Object.use (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3854:18)
      at createInstance (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8292:17)
      at mount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8385:14)
      at render (node_modules/@testing-library/vue/dist/render.js:45:38)
      at Object.<anonymous> (tests/jest/integration/CreateNewCodeImplementation.test.js:29:41)

    console.log
      Metrics Platform event emitted using submitInteraction: create - {"zobjecttype":"Z14","zobjectid":"Z0","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:129:12)

    console.log
      Metrics Platform event emitted using submitInteraction: change - {"zobjectid":"Z0","zobjecttype":"Z14","implementationtype":"Z14K2","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:129:12)

    console.log
      Metrics Platform event emitted using submitInteraction: publish - {"zobjecttype":"Z14","zobjectid":"Z0","zlang":"Z1002","implementationtype":"Z14K3","haserrors":false}

      at Object.<anonymous> (jest.setup.js:129:12)

PASS tests/jest/mixins/urlUtils.test.js
PASS tests/jest/components/widgets/function-report/FunctionReportItem.test.js
PASS tests/jest/components/function/editor/FunctionEditor.test.js
  ● Console

    console.log
      Metrics Platform event emitted using submitInteraction: create - {"zobjecttype":"Z8","zobjectid":"Z0","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:129:12)

    console.log
      Metrics Platform event emitted using submitInteraction: create - {"zobjecttype":"Z8","zobjectid":"Z0","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:129:12)

    console.log
      Metrics Platform event emitted using submitInteraction: create - {"zobjecttype":"Z8","zobjectid":"Z0","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:129:12)

    console.log
      Metrics Platform event emitted using submitInteraction: create - {"zobjecttype":"Z8","zobjectid":"Z0","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:129:12)

PASS tests/jest/components/default/ZMonolingualString.test.js
PASS tests/jest/mixins/utilsMixins.test.js
PASS tests/jest/components/base/ExpandedToggle.test.js
PASS tests/jest/integration/ConnectFunctionImplementation.test.js
  ● Console

    console.warn
      [Vue warn]: App already provides property with key "store". It will be overwritten with the new value.

      91 | // TODO (T370509): fix the error ' [Vue warn]: App already provides property with key "store". It will be overwritten with the new value.
      92 | // because we already have a store in the global object in jest.config.js
    > 93 | const renderForFunctionViewer = () => render(
         |                                       ^
      94 | 	App,
      95 | 	{ container: document.createElement( 'div' ), global: { plugins: [ store ] } }
      96 | );

      at warn$1 (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:49:13)
      at Object.provide (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3961:11)
      at Store.install (node_modules/vuex/dist/vuex.cjs.js:943:7)
      at Object.use (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3854:18)
      at createInstance (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8292:17)
      at mount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8385:14)
      at render (node_modules/@testing-library/vue/dist/render.js:45:38)
      at renderForFunctionViewer (tests/jest/integration/helpers/functionViewerDetailsTestHelpers.js:93:39)
      at Object.<anonymous> (tests/jest/integration/ConnectFunctionImplementation.test.js:40:31)

    console.log
      Metrics Platform event emitted using submitInteraction: view - {"zobjecttype":"Z8","zobjectid":"Z12345","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:129:12)

PASS tests/jest/integration/ConnectFunctionTest.test.js
  ● Console

    console.warn
      [Vue warn]: App already provides property with key "store". It will be overwritten with the new value.

      91 | // TODO (T370509): fix the error ' [Vue warn]: App already provides property with key "store". It will be overwritten with the new value.
      92 | // because we already have a store in the global object in jest.config.js
    > 93 | const renderForFunctionViewer = () => render(
         |                                       ^
      94 | 	App,
      95 | 	{ container: document.createElement( 'div' ), global: { plugins: [ store ] } }
      96 | );

      at warn$1 (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:49:13)
      at Object.provide (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3961:11)
      at Store.install (node_modules/vuex/dist/vuex.cjs.js:943:7)
      at Object.use (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3854:18)
      at createInstance (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8292:17)
      at mount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8385:14)
      at render (node_modules/@testing-library/vue/dist/render.js:45:38)
      at renderForFunctionViewer (tests/jest/integration/helpers/functionViewerDetailsTestHelpers.js:93:39)
      at Object.<anonymous> (tests/jest/integration/ConnectFunctionTest.test.js:38:31)

    console.log
      Metrics Platform event emitted using submitInteraction: view - {"zobjecttype":"Z8","zobjectid":"Z12345","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:129:12)

PASS tests/jest/components/function/editor/FunctionEditorOutput.test.js
PASS tests/jest/store/modules/languages.test.js
PASS tests/jest/components/default/ZBoolean.test.js
PASS tests/jest/components/default/ZString.test.js
PASS tests/jest/integration/DisconnectFunctionTest.test.js
  ● Console

    console.warn
      [Vue warn]: App already provides property with key "store". It will be overwritten with the new value.

      91 | // TODO (T370509): fix the error ' [Vue warn]: App already provides property with key "store". It will be overwritten with the new value.
      92 | // because we already have a store in the global object in jest.config.js
    > 93 | const renderForFunctionViewer = () => render(
         |                                       ^
      94 | 	App,
      95 | 	{ container: document.createElement( 'div' ), global: { plugins: [ store ] } }
      96 | );

      at warn$1 (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:49:13)
      at Object.provide (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3961:11)
      at Store.install (node_modules/vuex/dist/vuex.cjs.js:943:7)
      at Object.use (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3854:18)
      at createInstance (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8292:17)
      at mount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8385:14)
      at render (node_modules/@testing-library/vue/dist/render.js:45:38)
      at renderForFunctionViewer (tests/jest/integration/helpers/functionViewerDetailsTestHelpers.js:93:39)
      at Object.<anonymous> (tests/jest/integration/DisconnectFunctionTest.test.js:35:31)

    console.log
      Metrics Platform event emitted using submitInteraction: view - {"zobjecttype":"Z8","zobjectid":"Z12345","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:129:12)

PASS tests/jest/components/function/editor/FunctionEditorLanguage.test.js
PASS tests/jest/components/default/ZTypedListItems.test.js
PASS tests/jest/store/modules/listItems.test.js
PASS tests/jest/integration/CancelEditExistingFunction.test.js (5.077 s)
  ● Console

    console.warn
      [Vue warn]: App already provides property with key "store". It will be overwritten with the new value.

      39 | 	it( 'allows cancelling with no changes', async () => {
      40 | 		const { findByText } =
    > 41 | 			render( App, { global: { plugins: [ store ] } } );
         | 			^
      42 |
      43 | 		// ACT: Click cancel button.
      44 | 		await fireEvent.click( await findByText( 'Cancel' ) );

      at warn$1 (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:49:13)
      at Object.provide (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3961:11)
      at Store.install (node_modules/vuex/dist/vuex.cjs.js:943:7)
      at Object.use (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3854:18)
      at createInstance (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8292:17)
      at mount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8385:14)
      at render (node_modules/@testing-library/vue/dist/render.js:45:38)
      at Object.<anonymous> (tests/jest/integration/CancelEditExistingFunction.test.js:41:4)

    console.log
      Metrics Platform event emitted using submitInteraction: edit - {"zobjecttype":"Z8","zobjectid":"Z12345","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:129:12)

    console.log
      Metrics Platform event emitted using submitInteraction: cancel - {"zobjecttype":"Z8","zobjectid":"Z12345","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:129:12)

    console.warn
      [Vue warn]: App already provides property with key "store". It will be overwritten with the new value.

      50 | 	it( 'allows cancelling after changes', async () => {
      51 | 		const { getByText, findByRole, findByText, getAllByTestId } =
    > 52 | 			render( App, { global: { plugins: [ store ] } } );
         | 			^
      53 |
      54 | 		// ACT: Click "Add language".
      55 | 		await fireEvent.click( await findByText( 'Add language' ) );

      at warn$1 (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:49:13)
      at Object.provide (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3961:11)
      at Store.install (node_modules/vuex/dist/vuex.cjs.js:943:7)
      at Object.use (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3854:18)
      at createInstance (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8292:17)
      at mount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8385:14)
      at render (node_modules/@testing-library/vue/dist/render.js:45:38)
      at Object.<anonymous> (tests/jest/integration/CancelEditExistingFunction.test.js:52:4)

    console.log
      Metrics Platform event emitted using submitInteraction: edit - {"zobjecttype":"Z8","zobjectid":"Z12345","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:129:12)

    console.warn
      Using "fireEvent.change" may lead to unexpected results. Please use fireEvent.update() instead.

      29 | 	const textbox = within( parentWrapper ).getByRole( 'textbox' );
      30 | 	// TODO (T370511): Using "fireEvent.change" may lead to unexpected results. Please use fireEvent.update() instead
    > 31 | 	return fireEvent.change( textbox, { target: { value: newText } } );
         | 	                 ^
      32 | };
      33 |
      34 | const chipInputAddChip = async ( parentWrapper, newChip ) => {

      at warnOnChangeOrInputEventCalledDirectly (node_modules/@testing-library/vue/dist/fire-event.js:103:13)
      at Function.<anonymous> (node_modules/@testing-library/vue/dist/fire-event.js:32:5)
      at asyncGeneratorStep (node_modules/@testing-library/vue/dist/fire-event.js:10:103)
      at _next (node_modules/@testing-library/vue/dist/fire-event.js:12:194)
      at node_modules/@testing-library/vue/dist/fire-event.js:12:364
      at Function.change (node_modules/@testing-library/vue/dist/fire-event.js:12:97)
      at textInputChange (tests/jest/integration/helpers/interactionHelpers.js:31:19)
      at Object.<anonymous> (tests/jest/integration/CancelEditExistingFunction.test.js:63:9)

    console.log
      Metrics Platform event emitted using submitInteraction: change - {"zobjectid":"Z12345","zobjecttype":"Z8","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:129:12)

    console.log
      Metrics Platform event emitted using submitInteraction: cancel - {"zobjecttype":"Z8","zobjectid":"Z12345","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:129:12)

PASS tests/jest/mixins/clipboardUtils.test.js
PASS tests/jest/components/base/LocalizedLabel.test.js
PASS tests/jest/components/base/TypeToString.test.js
PASS tests/jest/mixins/eventLogUtils.test.js
PASS tests/jest/store/modules/programmingLanguages.test.js
PASS tests/jest/views/FunctionViewer.test.js
  ● Console

    console.log
      Metrics Platform event emitted using submitInteraction: view - {"zobjecttype":"Z8","zobjectid":"Z12345","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:129:12)

    console.log
      Metrics Platform event emitted using submitInteraction: view - {"zobjecttype":"Z8","zobjectid":"Z12345","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:129:12)

    console.log
      Metrics Platform event emitted using submitInteraction: view - {"zobjecttype":"Z8","zobjectid":"Z12345","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:129:12)

PASS tests/jest/integration/CancelEditNewFunction.test.js
  ● Console

    console.warn
      [Vue warn]: App already provides property with key "store". It will be overwritten with the new value.

      36 | 	it( 'allows cancelling with no changes', async () => {
      37 | 		const { findByText } =
    > 38 | 			render( App, { global: { plugins: [ store ] } } );
         | 			^
      39 |
      40 | 		// ACT: Click cancel button.
      41 | 		await fireEvent.click( await findByText( 'Cancel' ) );

      at warn$1 (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:49:13)
      at Object.provide (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3961:11)
      at Store.install (node_modules/vuex/dist/vuex.cjs.js:943:7)
      at Object.use (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3854:18)
      at createInstance (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8292:17)
      at mount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8385:14)
      at render (node_modules/@testing-library/vue/dist/render.js:45:38)
      at Object.<anonymous> (tests/jest/integration/CancelEditNewFunction.test.js:38:4)

    console.log
      Metrics Platform event emitted using submitInteraction: create - {"zobjecttype":"Z8","zobjectid":"Z0","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:129:12)

    console.log
      Metrics Platform event emitted using submitInteraction: cancel - {"zobjecttype":"Z8","zobjectid":"Z0","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:129:12)

    console.warn
      [Vue warn]: App already provides property with key "store". It will be overwritten with the new value.

      50 | 			findByTestId,
      51 | 			getByText
    > 52 | 		} = render( App, { global: { plugins: [ store ] } } );
         | 		    ^
      53 |
      54 | 		// ACT: Change first language name
      55 | 		const nameInput = await findByTestId( 'function-editor-name-input' );

      at warn$1 (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:49:13)
      at Object.provide (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3961:11)
      at Store.install (node_modules/vuex/dist/vuex.cjs.js:943:7)
      at Object.use (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3854:18)
      at createInstance (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8292:17)
      at mount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8385:14)
      at render (node_modules/@testing-library/vue/dist/render.js:45:38)
      at Object.<anonymous> (tests/jest/integration/CancelEditNewFunction.test.js:52:7)

    console.log
      Metrics Platform event emitted using submitInteraction: create - {"zobjecttype":"Z8","zobjectid":"Z0","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:129:12)

    console.warn
      Using "fireEvent.change" may lead to unexpected results. Please use fireEvent.update() instead.

      29 | 	const textbox = within( parentWrapper ).getByRole( 'textbox' );
      30 | 	// TODO (T370511): Using "fireEvent.change" may lead to unexpected results. Please use fireEvent.update() instead
    > 31 | 	return fireEvent.change( textbox, { target: { value: newText } } );
         | 	                 ^
      32 | };
      33 |
      34 | const chipInputAddChip = async ( parentWrapper, newChip ) => {

      at warnOnChangeOrInputEventCalledDirectly (node_modules/@testing-library/vue/dist/fire-event.js:103:13)
      at Function.<anonymous> (node_modules/@testing-library/vue/dist/fire-event.js:32:5)
      at asyncGeneratorStep (node_modules/@testing-library/vue/dist/fire-event.js:10:103)
      at _next (node_modules/@testing-library/vue/dist/fire-event.js:12:194)
      at node_modules/@testing-library/vue/dist/fire-event.js:12:364
      at Function.change (node_modules/@testing-library/vue/dist/fire-event.js:12:97)
      at textInputChange (tests/jest/integration/helpers/interactionHelpers.js:31:19)
      at Object.<anonymous> (tests/jest/integration/CancelEditNewFunction.test.js:56:9)

    console.log
      Metrics Platform event emitted using submitInteraction: change - {"zobjectid":"Z0","zobjecttype":"Z8","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:129:12)

    console.log
      Metrics Platform event emitted using submitInteraction: cancel - {"zobjecttype":"Z8","zobjectid":"Z0","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:129:12)

PASS tests/jest/components/widgets/publish/LeaveEditorDialog.test.js
PASS tests/jest/mixins/wikidataUtils.test.js
PASS tests/jest/components/default/ZFunctionCall.test.js
PASS tests/jest/components/function/viewer/FunctionViewerDetailsTable.test.js
PASS tests/jest/store/index.test.js

Test Suites: 96 passed, 96 total
Tests:       1440 passed, 1440 total
Snapshots:   0 total
Time:        59.208 s
Ran all test suites.
--- stdout ---

> test
> grunt test && npm run test:unit

Running "eslint:all" (eslint) task

/src/repo/docker-compose.sample.yml
   3:1  warning  This line has a length of 103. Maximum allowed is 100  max-len
   4:1  warning  This line has a length of 107. Maximum allowed is 100  max-len
  48:1  warning  This line has a length of 117. Maximum allowed is 100  max-len
  49:1  warning  This line has a length of 104. Maximum allowed is 100  max-len
  50:1  warning  This line has a length of 106. Maximum allowed is 100  max-len
  56:1  warning  This line has a length of 120. Maximum allowed is 100  max-len
  57:1  warning  This line has a length of 104. Maximum allowed is 100  max-len
  58:1  warning  This line has a length of 109. Maximum allowed is 100  max-len

/src/repo/resources/ext.wikilambda.app/components/base/ZObjectSelector.vue
  24:4  warning  'v-model' directives require no argument  vue/no-v-model-argument

/src/repo/resources/ext.wikilambda.app/components/default-view-types/wikidata/Lexeme.vue
  25:4  warning  'v-model' directives require no argument  vue/no-v-model-argument

/src/repo/resources/ext.wikilambda.app/store/modules/wikidata/lexemes.js
  98:3  warning  JSDoc @return declaration present but return expression not available in function  jsdoc/require-returns-check

/src/repo/resources/ext.wikilambda.languageselector/components/LanguageSelector.vue
  27:5  warning  'v-model' directives require no argument  vue/no-v-model-argument

✖ 12 problems (0 errors, 12 warnings)


Running "banana:WikiLambda" (banana) task
>> 2 message directories checked.

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

Done.

> test:unit
> jest

-----------------------------------------------------------|---------|----------|---------|---------|-----------------------------------------------------------------------------------------------------------------------------------------
File                                                       | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s                                                                                                                       
-----------------------------------------------------------|---------|----------|---------|---------|-----------------------------------------------------------------------------------------------------------------------------------------
All files                                                  |   98.01 |     91.3 |   96.14 |   98.01 |                                                                                                                                         
 ext.wikilambda.app                                        |     100 |      100 |     100 |     100 |                                                                                                                                         
  Constants.js                                             |     100 |      100 |     100 |     100 |                                                                                                                                         
 ext.wikilambda.app/components                             |     100 |      100 |     100 |     100 |                                                                                                                                         
  App.vue                                                  |     100 |      100 |     100 |     100 |                                                                                                                                         
 ext.wikilambda.app/components/base                        |   98.32 |    89.89 |   96.47 |   98.32 |                                                                                                                                         
  ClipboardManager.vue                                     |   90.24 |     87.5 |     100 |   90.24 | 66-73                                                                                                                                   
  CodeEditor.vue                                           |     100 |      100 |     100 |     100 |                                                                                                                                         
  CustomDialogHeader.vue                                   |     100 |      100 |     100 |     100 |                                                                                                                                         
  ExpandedToggle.vue                                       |     100 |      100 |     100 |     100 |                                                                                                                                         
  KeyBlock.vue                                             |     100 |      100 |     100 |     100 |                                                                                                                                         
  KeyValueBlock.vue                                        |     100 |      100 |     100 |     100 |                                                                                                                                         
  LocalizedLabel.vue                                       |     100 |      100 |     100 |     100 |                                                                                                                                         
  ModeSelector.vue                                         |    99.4 |    95.12 |     100 |    99.4 | 188-189                                                                                                                                 
  Pagination.vue                                           |     100 |      100 |     100 |     100 |                                                                                                                                         
  StatusIcon.vue                                           |     100 |      100 |     100 |     100 |                                                                                                                                         
  TypeSelector.vue                                         |   94.44 |    78.57 |   85.71 |   94.44 | 153-157,169-171,174-177                                                                                                                 
  TypeToString.vue                                         |   96.66 |    71.42 |     100 |   96.66 | 76,78,106,109-110                                                                                                                       
  WidgetBase.vue                                           |     100 |      100 |     100 |     100 |                                                                                                                                         
  ZObjectSelector.vue                                      |    97.7 |    85.93 |    91.3 |    97.7 | 297,338-339,393-394,403,417-419,423-424,452-453                                                                                         
 ext.wikilambda.app/components/default-view-types          |   98.35 |       92 |   92.59 |   98.35 |                                                                                                                                         
  ZArgumentReference.vue                                   |     100 |      100 |     100 |     100 |                                                                                                                                         
  ZBoolean.vue                                             |     100 |      100 |     100 |     100 |                                                                                                                                         
  ZCode.vue                                                |   99.78 |     92.3 |     100 |   99.78 | 355                                                                                                                                     
  ZEvaluationResult.vue                                    |   97.76 |    88.88 |   83.33 |   97.76 | 178,187-188,202-203                                                                                                                     
  ZFunctionCall.vue                                        |     100 |      100 |     100 |     100 |                                                                                                                                         
  ZImplementation.vue                                      |     100 |      100 |     100 |     100 |                                                                                                                                         
  ZMonolingualString.vue                                   |     100 |     92.3 |     100 |     100 | 136                                                                                                                                     
  ZObjectKeyValue.vue                                      |   94.68 |     89.4 |   82.14 |   94.68 | 194,203,290,321-322,360-361,382-383,587-591,607-609,633-634,664-665,680-681,731-737,759-760,775-779,781-782,784-785,787-788,790,792,804 
  ZObjectKeyValueSet.vue                                   |   98.09 |      100 |      75 |   98.09 | 82-83                                                                                                                                   
  ZObjectStringRenderer.vue                                |   97.66 |    88.33 |   84.61 |   97.66 | 265,390-391,467,490-493,526-530                                                                                                         
  ZObjectToString.vue                                      |     100 |       95 |     100 |     100 | 167,207                                                                                                                                 
  ZReference.vue                                           |     100 |    95.45 |     100 |     100 | 96                                                                                                                                      
  ZString.vue                                              |     100 |       80 |     100 |     100 | 85                                                                                                                                      
  ZTester.vue                                              |   99.29 |    95.45 |     100 |   99.29 | 215-216                                                                                                                                 
  ZTypedList.vue                                           |   98.58 |     90.9 |   83.33 |   98.58 | 131-132                                                                                                                                 
  ZTypedListItems.vue                                      |   98.51 |      100 |      80 |   98.51 | 85-86                                                                                                                                   
  ZTypedListType.vue                                       |     100 |      100 |     100 |     100 |                                                                                                                                         
 ext.wikilambda.app/components/default-view-types/wikidata |   98.15 |    80.48 |     100 |   98.15 |                                                                                                                                         
  Lexeme.vue                                               |   98.15 |    80.48 |     100 |   98.15 | 216-217,221-222,249-250                                                                                                                 
 ext.wikilambda.app/components/function/editor             |   98.84 |    91.27 |   97.08 |   98.84 |                                                                                                                                         
  FunctionEditor.vue                                       |   99.16 |    81.48 |     100 |   99.16 | 212-213                                                                                                                                 
  FunctionEditorAliases.vue                                |   98.55 |       96 |     100 |   98.55 | 191-193                                                                                                                                 
  FunctionEditorDescription.vue                            |   96.74 |    90.47 |   91.66 |   96.74 | 141-142,151-152,178-180                                                                                                                 
  FunctionEditorField.vue                                  |     100 |      100 |     100 |     100 |                                                                                                                                         
  FunctionEditorFooter.vue                                 |   98.55 |    88.23 |     100 |   98.55 | 87-88                                                                                                                                   
  FunctionEditorInputs.vue                                 |     100 |      100 |     100 |     100 |                                                                                                                                         
  FunctionEditorInputsItem.vue                             |   99.09 |    94.44 |    92.3 |   99.09 | 218-219,236                                                                                                                             
  FunctionEditorLanguage.vue                               |     100 |      100 |     100 |     100 |                                                                                                                                         
  FunctionEditorLanguageBlock.vue                          |     100 |      100 |     100 |     100 |                                                                                                                                         
  FunctionEditorName.vue                                   |   96.39 |    85.71 |   91.66 |   96.39 | 146-147,156-157,163,183-185                                                                                                             
  FunctionEditorOutput.vue                                 |     100 |     90.9 |     100 |     100 | 101                                                                                                                                     
 ext.wikilambda.app/components/function/viewer             |   98.47 |    95.62 |    88.7 |   98.47 |                                                                                                                                         
  FunctionTesterTable.vue                                  |   94.97 |    85.71 |    87.5 |   94.97 | 90-91,108,158-163                                                                                                                       
  FunctionViewerDetails.vue                                |   98.94 |    97.27 |    91.3 |   98.94 | 278-279,650,672,693,781,790,797,804                                                                                                     
  FunctionViewerDetailsTable.vue                           |   99.29 |      100 |      75 |   99.29 | 173,180                                                                                                                                 
 ext.wikilambda.app/components/widgets/about               |   98.35 |     90.8 |   95.16 |   98.35 |                                                                                                                                         
  About.vue                                                |   98.74 |    93.75 |   93.33 |   98.74 | 246,290-293,328-329,435-436                                                                                                             
  AboutLanguageBlock.vue                                   |   99.66 |    95.55 |     100 |   99.66 | 479-480                                                                                                                                 
  AboutLanguagesDialog.vue                                 |   95.66 |    75.75 |   92.85 |   95.66 | 172,257-259,270-272,291-292,320-321,323-324,326-327,329-330                                                                             
 ext.wikilambda.app/components/widgets/function-evaluator  |   97.06 |    80.39 |   98.18 |   97.06 |                                                                                                                                         
  FunctionEvaluator.vue                                    |   99.25 |    83.33 |     100 |   99.25 | 268-269,281-282                                                                                                                         
  FunctionMetadataDialog.vue                               |   95.63 |    78.49 |   96.66 |   95.63 | 244-245,281-282,288-289,383-384,404,420-421,535-536,622,633-634,638,659,687-689,713-717,722-726,731-735                                 
 ext.wikilambda.app/components/widgets/function-explorer   |   99.43 |      100 |   84.61 |   99.43 |                                                                                                                                         
  FunctionExplorer.vue                                     |   99.43 |      100 |   84.61 |   99.43 | 271,274                                                                                                                                 
 ext.wikilambda.app/components/widgets/function-report     |    94.5 |    81.81 |   89.65 |    94.5 |                                                                                                                                         
  FunctionReport.vue                                       |   95.78 |    86.53 |   90.47 |   95.78 | 224-226,284-286,292-294,324-326,330-332                                                                                                 
  FunctionReportItem.vue                                   |   92.47 |       72 |    87.5 |   92.47 | 123-124,126-127,129-130,143,145,157-158,160-161,176-180                                                                                 
 ext.wikilambda.app/components/widgets/publish             |   97.66 |    83.33 |   91.89 |   97.66 |                                                                                                                                         
  LeaveEditorDialog.vue                                    |     100 |      100 |     100 |     100 |                                                                                                                                         
  Publish.vue                                              |   94.42 |    81.81 |   81.25 |   94.42 | 99-107,134,200-202,220-222                                                                                                              
  PublishDialog.vue                                        |   99.47 |    82.35 |     100 |   99.47 | 288-289                                                                                                                                 
 ext.wikilambda.app/composables                            |     100 |    84.61 |     100 |     100 |                                                                                                                                         
  useBreakpoints.js                                        |     100 |    84.61 |     100 |     100 | 11,26                                                                                                                                   
 ext.wikilambda.app/mixins                                 |   93.53 |    90.25 |   98.71 |   93.53 |                                                                                                                                         
  api.js                                                   |     100 |     91.3 |     100 |     100 | 119-120                                                                                                                                 
  clipboardUtils.js                                        |     100 |      100 |     100 |     100 |                                                                                                                                         
  errorUtils.js                                            |   98.13 |    81.81 |     100 |   98.13 | 76-77                                                                                                                                   
  eventLogUtils.js                                         |   82.19 |      100 |      75 |   82.19 | 59-71                                                                                                                                   
  metadata.js                                              |     100 |      100 |     100 |     100 |                                                                                                                                         
  pageTitleUtils.js                                        |     100 |    94.11 |     100 |     100 | 71                                                                                                                                      
  schemata.js                                              |   95.23 |    88.54 |     100 |   95.23 | 77,95-96,102-103,133,153-158,205-206,208-209,299-300                                                                                    
  typeUtils.js                                             |    86.5 |    85.33 |     100 |    86.5 | 35-41,60-61,64-65,70,246-255,405-438,528-549,630,667-674,676-683,702-703                                                                
  urlUtils.js                                              |     100 |      100 |     100 |     100 |                                                                                                                                         
  utilsMixins.js                                           |     100 |      100 |     100 |     100 |                                                                                                                                         
  wikidataUtils.js                                         |     100 |      100 |     100 |     100 |                                                                                                                                         
  zobjectUtils.js                                          |   97.41 |       95 |     100 |   97.41 | 41-42,46-47                                                                                                                             
 ext.wikilambda.app/store                                  |     100 |      100 |     100 |     100 |                                                                                                                                         
  index.js                                                 |     100 |      100 |     100 |     100 |                                                                                                                                         
 ext.wikilambda.app/store/classes                          |   97.78 |    90.47 |     100 |   97.78 |                                                                                                                                         
  ApiError.js                                              |   95.56 |       85 |     100 |   95.56 | 40-41,46-50                                                                                                                             
  LabelData.js                                             |     100 |    92.85 |     100 |     100 | 45                                                                                                                                      
  Row.js                                                   |     100 |      100 |     100 |     100 |                                                                                                                                         
 ext.wikilambda.app/store/modules                          |   99.02 |    95.09 |   99.62 |   99.02 |                                                                                                                                         
  errors.js                                                |   97.82 |       85 |     100 |   97.82 | 146-147,179-180                                                                                                                         
  functionCall.js                                          |     100 |      100 |     100 |     100 |                                                                                                                                         
  languages.js                                             |     100 |      100 |     100 |     100 |                                                                                                                                         
  library.js                                               |   97.96 |     91.6 |     100 |   97.96 | 214-215,222,370-371,396-397,408-410,436-437,440-441,623-624,733-734                                                                     
  listItems.js                                             |     100 |      100 |     100 |     100 |                                                                                                                                         
  programmingLanguages.js                                  |     100 |      100 |     100 |     100 |                                                                                                                                         
  router.js                                                |     100 |      100 |     100 |     100 |                                                                                                                                         
  testResults.js                                           |     100 |    90.19 |     100 |     100 | 112,196,254-256                                                                                                                         
  user.js                                                  |     100 |    91.66 |     100 |     100 | 49                                                                                                                                      
  zfunction.js                                             |     100 |      100 |     100 |     100 |                                                                                                                                         
  zobject.js                                               |   98.96 |    95.66 |     100 |   98.96 | 459-463,532-533,555-556,578-579,1106-1107,1141-1142,1429-1430,1694-1695,2009-2011                                                       
  ztype.js                                                 |    99.1 |      100 |   94.73 |    99.1 | 164,284-285                                                                                                                             
 ext.wikilambda.app/store/modules/wikidata                 |     100 |    96.15 |     100 |     100 |                                                                                                                                         
  entities.js                                              |     100 |      100 |     100 |     100 |                                                                                                                                         
  lexemes.js                                               |     100 |       95 |     100 |     100 | 121                                                                                                                                     
 ext.wikilambda.app/store/modules/zobject                  |   98.94 |    96.61 |     100 |   98.94 |                                                                                                                                         
  currentPage.js                                           |     100 |      100 |     100 |     100 |                                                                                                                                         
  factory.js                                               |   98.12 |    94.59 |     100 |   98.12 | 98,152-158,775-781,799                                                                                                                  
  submission.js                                            |    99.8 |    98.57 |     100 |    99.8 | 226                                                                                                                                     
 ext.wikilambda.app/views                                  |   96.13 |    63.63 |   89.47 |   96.13 |                                                                                                                                         
  Default.vue                                              |   97.38 |       64 |    92.3 |   97.38 | 182-183,224,238-241                                                                                                                     
  FunctionEditor.vue                                       |     100 |      100 |     100 |     100 |                                                                                                                                         
  FunctionEvaluator.vue                                    |     100 |      100 |     100 |     100 |                                                                                                                                         
  FunctionViewer.vue                                       |   90.29 |       50 |      75 |   90.29 | 75-76,83-90                                                                                                                             
 ext.wikilambda.languageselector/components                |   98.03 |    93.75 |   94.11 |   98.03 |                                                                                                                                         
  LanguageSelector.vue                                     |   98.03 |    93.75 |   94.11 |   98.03 | 226-227,265-266,287-288                                                                                                                 
-----------------------------------------------------------|---------|----------|---------|---------|-----------------------------------------------------------------------------------------------------------------------------------------

--- end ---
{}
{}
Traceback (most recent call last):
  File "/venv/lib/python3.13/site-packages/runner/__init__.py", line 642, in fix_stylelint_config
    data = gf.parse_section("stylelint")
  File "/venv/lib/python3.13/site-packages/runner/grunt.py", line 136, in parse_section
    return self._inner_parse(base.group(1).splitlines()[1:])
           ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/venv/lib/python3.13/site-packages/runner/grunt.py", line 190, in _inner_parse
    raise RuntimeError("???")
RuntimeError: ???

$ package-lock-lint /src/repo/package-lock.json
--- stdout ---
Checking /src/repo/package-lock.json

--- end ---
[DNM] there are no updates
$ git add .
--- stdout ---

--- end ---
$ git commit -F /tmp/tmplze4c7bl
--- stdout ---
On branch REL1_43
Your branch is up to date with 'origin/REL1_43'.

nothing to commit, working tree clean

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