mediawiki/extensions/ContentTranslation (main)

sourcepatches
$ date
--- stdout ---
Sun May 31 04:38:23 UTC 2026

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

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

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

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

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

--- end ---
$ git show-ref refs/heads/master
--- stdout ---
d91a72c8feeafdb52fa7ecb5eb0337877cf474f6 refs/heads/master

--- end ---
$ /usr/bin/npm audit --json
--- stdout ---
{
  "auditReportVersion": 2,
  "vulnerabilities": {
    "@wdio/mocha-framework": {
      "name": "@wdio/mocha-framework",
      "severity": "moderate",
      "isDirect": true,
      "via": [
        "mocha"
      ],
      "effects": [],
      "range": ">=7.7.4",
      "nodes": [
        "node_modules/@wdio/mocha-framework"
      ],
      "fixAvailable": {
        "name": "@wdio/mocha-framework",
        "version": "7.7.3",
        "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": [
        "pre-commit"
      ],
      "range": "<6.0.6",
      "nodes": [
        "node_modules/pre-commit/node_modules/cross-spawn"
      ],
      "fixAvailable": {
        "name": "pre-commit",
        "version": "2.0.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/form-data"
      ],
      "fixAvailable": {
        "name": "wdio-mediawiki",
        "version": "6.5.2",
        "isSemVerMajor": true
      }
    },
    "mocha": {
      "name": "mocha",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "serialize-javascript"
      ],
      "effects": [
        "@wdio/mocha-framework"
      ],
      "range": "8.2.0 - 12.0.0-beta-2",
      "nodes": [
        "node_modules/mocha"
      ],
      "fixAvailable": {
        "name": "@wdio/mocha-framework",
        "version": "7.7.3",
        "isSemVerMajor": true
      }
    },
    "mwbot": {
      "name": "mwbot",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "request"
      ],
      "effects": [
        "wdio-mediawiki"
      ],
      "range": "0.1.6 - 2.1.3",
      "nodes": [
        "node_modules/mwbot"
      ],
      "fixAvailable": {
        "name": "wdio-mediawiki",
        "version": "6.5.2",
        "isSemVerMajor": true
      }
    },
    "pre-commit": {
      "name": "pre-commit",
      "severity": "high",
      "isDirect": true,
      "via": [
        "cross-spawn"
      ],
      "effects": [],
      "range": "1.1.0 - 1.2.2",
      "nodes": [
        "node_modules/pre-commit"
      ],
      "fixAvailable": {
        "name": "pre-commit",
        "version": "2.0.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.5.2",
        "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",
        "uuid"
      ],
      "effects": [
        "mwbot"
      ],
      "range": "*",
      "nodes": [
        "node_modules/request"
      ],
      "fixAvailable": {
        "name": "wdio-mediawiki",
        "version": "6.5.2",
        "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"
        },
        {
          "source": 1119440,
          "name": "serialize-javascript",
          "dependency": "serialize-javascript",
          "title": "Serialize JavaScript has CPU Exhaustion Denial of Service via crafted array-like objects",
          "url": "https://github.com/advisories/GHSA-qj8w-gfj5-8c6v",
          "severity": "moderate",
          "cwe": [
            "CWE-400",
            "CWE-834"
          ],
          "cvss": {
            "score": 5.9,
            "vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H"
          },
          "range": ">=5.0.0 <7.0.5"
        }
      ],
      "effects": [
        "mocha"
      ],
      "range": "<=7.0.4",
      "nodes": [
        "node_modules/serialize-javascript"
      ],
      "fixAvailable": {
        "name": "@wdio/mocha-framework",
        "version": "7.7.3",
        "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/tough-cookie"
      ],
      "fixAvailable": {
        "name": "wdio-mediawiki",
        "version": "6.5.2",
        "isSemVerMajor": true
      }
    },
    "uuid": {
      "name": "uuid",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        {
          "source": 1119441,
          "name": "uuid",
          "dependency": "uuid",
          "title": "uuid: Missing buffer bounds check in v3/v5/v6 when buf is provided",
          "url": "https://github.com/advisories/GHSA-w5hq-g745-h8pq",
          "severity": "moderate",
          "cwe": [
            "CWE-787",
            "CWE-1285"
          ],
          "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": "<11.1.1"
        }
      ],
      "effects": [
        "request"
      ],
      "range": "<11.1.1",
      "nodes": [
        "node_modules/uuid"
      ],
      "fixAvailable": {
        "name": "wdio-mediawiki",
        "version": "6.5.2",
        "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.5.2",
        "isSemVerMajor": true
      }
    }
  },
  "metadata": {
    "vulnerabilities": {
      "info": 0,
      "low": 0,
      "moderate": 7,
      "high": 3,
      "critical": 2,
      "total": 12
    },
    "dependencies": {
      "prod": 1,
      "dev": 911,
      "optional": 43,
      "peer": 32,
      "peerOptional": 0,
      "total": 911
    }
  }
}

--- 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/installers (v2.3.0)
  - Locking composer/pcre (3.3.2)
  - Locking composer/semver (3.4.4)
  - Locking composer/spdx-licenses (1.6.0)
  - Locking composer/xdebug-handler (3.0.5)
  - Locking danog/advanced-json-rpc (v3.2.3)
  - Locking dealerdirect/phpcodesniffer-composer-installer (v1.2.1)
  - Locking doctrine/deprecations (1.1.6)
  - Locking firebase/php-jwt (v7.0.5)
  - Locking mediawiki/mediawiki-codesniffer (v51.0.0)
  - Locking mediawiki/mediawiki-phan-config (0.20.0)
  - Locking mediawiki/minus-x (2.0.1)
  - Locking mediawiki/phan-taint-check-plugin (9.1.0)
  - Locking netresearch/jsonmapper (v5.0.1)
  - Locking phan/phan (6.0.2)
  - Locking phan/tolerant-php-parser (v0.2.0)
  - Locking phan/var_representation_polyfill (0.1.4)
  - Locking php-parallel-lint/php-console-color (v1.0.1)
  - Locking php-parallel-lint/php-console-highlighter (v1.0.0)
  - Locking php-parallel-lint/php-parallel-lint (v1.4.0)
  - Locking phpcsstandards/phpcsextra (1.5.0)
  - Locking phpcsstandards/phpcsutils (1.2.2)
  - Locking phpdocumentor/reflection-common (2.2.0)
  - Locking phpdocumentor/reflection-docblock (6.0.3)
  - Locking phpdocumentor/type-resolver (2.0.0)
  - Locking phpstan/phpdoc-parser (2.3.2)
  - Locking psr/container (2.0.2)
  - Locking psr/log (3.0.2)
  - Locking sabre/event (6.1.0)
  - Locking squizlabs/php_codesniffer (3.13.5)
  - Locking symfony/console (v8.1.0)
  - Locking symfony/deprecation-contracts (v3.7.0)
  - Locking symfony/polyfill-ctype (v1.37.0)
  - Locking symfony/polyfill-intl-grapheme (v1.38.1)
  - Locking symfony/polyfill-intl-normalizer (v1.38.0)
  - Locking symfony/polyfill-mbstring (v1.38.1)
  - Locking symfony/polyfill-php85 (v1.38.1)
  - Locking symfony/service-contracts (v3.7.0)
  - Locking symfony/string (v8.1.0)
  - Locking webmozart/assert (2.4.0)
Writing lock file
Installing dependencies from lock file (including require-dev)
Package operations: 40 installs, 0 updates, 0 removals
    0 [>---------------------------]    0 [->--------------------------]
  - Installing composer/installers (v2.3.0): Extracting archive
  - Installing squizlabs/php_codesniffer (3.13.5): Extracting archive
  - Installing dealerdirect/phpcodesniffer-composer-installer (v1.2.1): Extracting archive
  - Installing composer/pcre (3.3.2): Extracting archive
  - Installing firebase/php-jwt (v7.0.5): Extracting archive
  - Installing phpcsstandards/phpcsutils (1.2.2): Extracting archive
  - Installing phpcsstandards/phpcsextra (1.5.0): Extracting archive
  - Installing symfony/polyfill-mbstring (v1.38.1): Extracting archive
  - Installing composer/spdx-licenses (1.6.0): Extracting archive
  - Installing composer/semver (3.4.4): Extracting archive
  - Installing mediawiki/mediawiki-codesniffer (v51.0.0): Extracting archive
  - Installing symfony/polyfill-intl-normalizer (v1.38.0): Extracting archive
  - Installing symfony/polyfill-intl-grapheme (v1.38.1): Extracting archive
  - Installing symfony/polyfill-ctype (v1.37.0): Extracting archive
  - Installing symfony/string (v8.1.0): Extracting archive
  - Installing symfony/deprecation-contracts (v3.7.0): Extracting archive
  - Installing psr/container (2.0.2): Extracting archive
  - Installing symfony/service-contracts (v3.7.0): Extracting archive
  - Installing symfony/polyfill-php85 (v1.38.1): Extracting archive
  - Installing symfony/console (v8.1.0): Extracting archive
  - Installing sabre/event (6.1.0): Extracting archive
  - Installing phan/var_representation_polyfill (0.1.4): Extracting archive
  - Installing phan/tolerant-php-parser (v0.2.0): Extracting archive
  - Installing netresearch/jsonmapper (v5.0.1): Extracting archive
  - Installing webmozart/assert (2.4.0): Extracting archive
  - Installing phpstan/phpdoc-parser (2.3.2): Extracting archive
  - Installing phpdocumentor/reflection-common (2.2.0): Extracting archive
  - Installing doctrine/deprecations (1.1.6): Extracting archive
  - Installing phpdocumentor/type-resolver (2.0.0): Extracting archive
  - Installing phpdocumentor/reflection-docblock (6.0.3): Extracting archive
  - Installing danog/advanced-json-rpc (v3.2.3): Extracting archive
  - Installing psr/log (3.0.2): Extracting archive
  - Installing composer/xdebug-handler (3.0.5): Extracting archive
  - Installing phan/phan (6.0.2): Extracting archive
  - Installing mediawiki/phan-taint-check-plugin (9.1.0): Extracting archive
  - Installing mediawiki/mediawiki-phan-config (0.20.0): Extracting archive
  - Installing mediawiki/minus-x (2.0.1): Extracting archive
  - Installing php-parallel-lint/php-console-color (v1.0.1): Extracting archive
  - Installing php-parallel-lint/php-console-highlighter (v1.0.0): Extracting archive
  - Installing php-parallel-lint/php-parallel-lint (v1.4.0): Extracting archive
  0/37 [>---------------------------]   0%
 28/37 [=====================>------]  75%
 36/37 [===========================>]  97%
 37/37 [============================] 100%
2 package suggestions were added by new dependencies, use `composer suggest` to see details.
Generating autoload files
18 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": {
    "@wdio/mocha-framework": {
      "name": "@wdio/mocha-framework",
      "severity": "moderate",
      "isDirect": true,
      "via": [
        "mocha"
      ],
      "effects": [],
      "range": ">=7.7.4",
      "nodes": [
        "node_modules/@wdio/mocha-framework"
      ],
      "fixAvailable": {
        "name": "@wdio/mocha-framework",
        "version": "7.7.3",
        "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": [
        "pre-commit"
      ],
      "range": "<6.0.6",
      "nodes": [
        "node_modules/pre-commit/node_modules/cross-spawn"
      ],
      "fixAvailable": {
        "name": "pre-commit",
        "version": "2.0.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/form-data"
      ],
      "fixAvailable": {
        "name": "wdio-mediawiki",
        "version": "6.5.2",
        "isSemVerMajor": true
      }
    },
    "mocha": {
      "name": "mocha",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "serialize-javascript"
      ],
      "effects": [
        "@wdio/mocha-framework"
      ],
      "range": "8.2.0 - 12.0.0-beta-2",
      "nodes": [
        "node_modules/mocha"
      ],
      "fixAvailable": {
        "name": "@wdio/mocha-framework",
        "version": "7.7.3",
        "isSemVerMajor": true
      }
    },
    "mwbot": {
      "name": "mwbot",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "request"
      ],
      "effects": [
        "wdio-mediawiki"
      ],
      "range": "0.1.6 - 2.1.3",
      "nodes": [
        "node_modules/mwbot"
      ],
      "fixAvailable": {
        "name": "wdio-mediawiki",
        "version": "6.5.2",
        "isSemVerMajor": true
      }
    },
    "pre-commit": {
      "name": "pre-commit",
      "severity": "high",
      "isDirect": true,
      "via": [
        "cross-spawn"
      ],
      "effects": [],
      "range": "1.1.0 - 1.2.2",
      "nodes": [
        "node_modules/pre-commit"
      ],
      "fixAvailable": {
        "name": "pre-commit",
        "version": "2.0.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.5.2",
        "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",
        "uuid"
      ],
      "effects": [
        "mwbot"
      ],
      "range": "*",
      "nodes": [
        "node_modules/request"
      ],
      "fixAvailable": {
        "name": "wdio-mediawiki",
        "version": "6.5.2",
        "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"
        },
        {
          "source": 1119440,
          "name": "serialize-javascript",
          "dependency": "serialize-javascript",
          "title": "Serialize JavaScript has CPU Exhaustion Denial of Service via crafted array-like objects",
          "url": "https://github.com/advisories/GHSA-qj8w-gfj5-8c6v",
          "severity": "moderate",
          "cwe": [
            "CWE-400",
            "CWE-834"
          ],
          "cvss": {
            "score": 5.9,
            "vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H"
          },
          "range": ">=5.0.0 <7.0.5"
        }
      ],
      "effects": [
        "mocha"
      ],
      "range": "<=7.0.4",
      "nodes": [
        "node_modules/serialize-javascript"
      ],
      "fixAvailable": {
        "name": "@wdio/mocha-framework",
        "version": "7.7.3",
        "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/tough-cookie"
      ],
      "fixAvailable": {
        "name": "wdio-mediawiki",
        "version": "6.5.2",
        "isSemVerMajor": true
      }
    },
    "uuid": {
      "name": "uuid",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        {
          "source": 1119441,
          "name": "uuid",
          "dependency": "uuid",
          "title": "uuid: Missing buffer bounds check in v3/v5/v6 when buf is provided",
          "url": "https://github.com/advisories/GHSA-w5hq-g745-h8pq",
          "severity": "moderate",
          "cwe": [
            "CWE-787",
            "CWE-1285"
          ],
          "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": "<11.1.1"
        }
      ],
      "effects": [
        "request"
      ],
      "range": "<11.1.1",
      "nodes": [
        "node_modules/uuid"
      ],
      "fixAvailable": {
        "name": "wdio-mediawiki",
        "version": "6.5.2",
        "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.5.2",
        "isSemVerMajor": true
      }
    }
  },
  "metadata": {
    "vulnerabilities": {
      "info": 0,
      "low": 0,
      "moderate": 7,
      "high": 3,
      "critical": 2,
      "total": 12
    },
    "dependencies": {
      "prod": 1,
      "dev": 911,
      "optional": 43,
      "peer": 32,
      "peerOptional": 0,
      "total": 911
    }
  }
}

--- end ---
Attempting to npm audit fix
$ /usr/bin/npm audit fix --dry-run --only=dev --json
--- stderr ---
npm WARN invalid config only="dev" set in command line options
npm WARN invalid config Must be one of: null, prod, production
--- stdout ---
{
  "added": 911,
  "removed": 0,
  "changed": 0,
  "audited": 912,
  "funding": 242,
  "audit": {
    "auditReportVersion": 2,
    "vulnerabilities": {
      "@wdio/mocha-framework": {
        "name": "@wdio/mocha-framework",
        "severity": "moderate",
        "isDirect": true,
        "via": [
          "mocha"
        ],
        "effects": [],
        "range": ">=7.7.4",
        "nodes": [
          "node_modules/@wdio/mocha-framework"
        ],
        "fixAvailable": {
          "name": "@wdio/mocha-framework",
          "version": "7.7.3",
          "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": [
          "pre-commit"
        ],
        "range": "<6.0.6",
        "nodes": [
          "node_modules/pre-commit/node_modules/cross-spawn"
        ],
        "fixAvailable": {
          "name": "pre-commit",
          "version": "2.0.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/form-data"
        ],
        "fixAvailable": {
          "name": "wdio-mediawiki",
          "version": "6.5.2",
          "isSemVerMajor": true
        }
      },
      "mocha": {
        "name": "mocha",
        "severity": "moderate",
        "isDirect": false,
        "via": [
          "serialize-javascript"
        ],
        "effects": [
          "@wdio/mocha-framework"
        ],
        "range": "8.2.0 - 12.0.0-beta-2",
        "nodes": [
          "node_modules/mocha"
        ],
        "fixAvailable": {
          "name": "@wdio/mocha-framework",
          "version": "7.7.3",
          "isSemVerMajor": true
        }
      },
      "mwbot": {
        "name": "mwbot",
        "severity": "moderate",
        "isDirect": false,
        "via": [
          "request"
        ],
        "effects": [
          "wdio-mediawiki"
        ],
        "range": "0.1.6 - 2.1.3",
        "nodes": [
          "node_modules/mwbot"
        ],
        "fixAvailable": {
          "name": "wdio-mediawiki",
          "version": "6.5.2",
          "isSemVerMajor": true
        }
      },
      "pre-commit": {
        "name": "pre-commit",
        "severity": "high",
        "isDirect": true,
        "via": [
          "cross-spawn"
        ],
        "effects": [],
        "range": "1.1.0 - 1.2.2",
        "nodes": [
          "node_modules/pre-commit"
        ],
        "fixAvailable": {
          "name": "pre-commit",
          "version": "2.0.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.5.2",
          "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",
          "uuid"
        ],
        "effects": [
          "mwbot"
        ],
        "range": "*",
        "nodes": [
          "node_modules/request"
        ],
        "fixAvailable": {
          "name": "wdio-mediawiki",
          "version": "6.5.2",
          "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"
          },
          {
            "source": 1119440,
            "name": "serialize-javascript",
            "dependency": "serialize-javascript",
            "title": "Serialize JavaScript has CPU Exhaustion Denial of Service via crafted array-like objects",
            "url": "https://github.com/advisories/GHSA-qj8w-gfj5-8c6v",
            "severity": "moderate",
            "cwe": [
              "CWE-400",
              "CWE-834"
            ],
            "cvss": {
              "score": 5.9,
              "vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H"
            },
            "range": ">=5.0.0 <7.0.5"
          }
        ],
        "effects": [
          "mocha"
        ],
        "range": "<=7.0.4",
        "nodes": [
          "node_modules/serialize-javascript"
        ],
        "fixAvailable": {
          "name": "@wdio/mocha-framework",
          "version": "7.7.3",
          "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/tough-cookie"
        ],
        "fixAvailable": {
          "name": "wdio-mediawiki",
          "version": "6.5.2",
          "isSemVerMajor": true
        }
      },
      "uuid": {
        "name": "uuid",
        "severity": "moderate",
        "isDirect": false,
        "via": [
          {
            "source": 1119441,
            "name": "uuid",
            "dependency": "uuid",
            "title": "uuid: Missing buffer bounds check in v3/v5/v6 when buf is provided",
            "url": "https://github.com/advisories/GHSA-w5hq-g745-h8pq",
            "severity": "moderate",
            "cwe": [
              "CWE-787",
              "CWE-1285"
            ],
            "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": "<11.1.1"
          }
        ],
        "effects": [
          "request"
        ],
        "range": "<11.1.1",
        "nodes": [
          "node_modules/uuid"
        ],
        "fixAvailable": {
          "name": "wdio-mediawiki",
          "version": "6.5.2",
          "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.5.2",
          "isSemVerMajor": true
        }
      }
    },
    "metadata": {
      "vulnerabilities": {
        "info": 0,
        "low": 0,
        "moderate": 7,
        "high": 3,
        "critical": 2,
        "total": 12
      },
      "dependencies": {
        "prod": 1,
        "dev": 911,
        "optional": 43,
        "peer": 32,
        "peerOptional": 0,
        "total": 911
      }
    }
  }
}

--- end ---
{"added": 911, "removed": 0, "changed": 0, "audited": 912, "funding": 242, "audit": {"auditReportVersion": 2, "vulnerabilities": {"@wdio/mocha-framework": {"name": "@wdio/mocha-framework", "severity": "moderate", "isDirect": true, "via": ["mocha"], "effects": [], "range": ">=7.7.4", "nodes": ["node_modules/@wdio/mocha-framework"], "fixAvailable": {"name": "@wdio/mocha-framework", "version": "7.7.3", "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": ["pre-commit"], "range": "<6.0.6", "nodes": ["node_modules/pre-commit/node_modules/cross-spawn"], "fixAvailable": {"name": "pre-commit", "version": "2.0.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/form-data"], "fixAvailable": {"name": "wdio-mediawiki", "version": "6.5.2", "isSemVerMajor": true}}, "mocha": {"name": "mocha", "severity": "moderate", "isDirect": false, "via": ["serialize-javascript"], "effects": ["@wdio/mocha-framework"], "range": "8.2.0 - 12.0.0-beta-2", "nodes": ["node_modules/mocha"], "fixAvailable": {"name": "@wdio/mocha-framework", "version": "7.7.3", "isSemVerMajor": true}}, "mwbot": {"name": "mwbot", "severity": "moderate", "isDirect": false, "via": ["request"], "effects": ["wdio-mediawiki"], "range": "0.1.6 - 2.1.3", "nodes": ["node_modules/mwbot"], "fixAvailable": {"name": "wdio-mediawiki", "version": "6.5.2", "isSemVerMajor": true}}, "pre-commit": {"name": "pre-commit", "severity": "high", "isDirect": true, "via": ["cross-spawn"], "effects": [], "range": "1.1.0 - 1.2.2", "nodes": ["node_modules/pre-commit"], "fixAvailable": {"name": "pre-commit", "version": "2.0.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.5.2", "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", "uuid"], "effects": ["mwbot"], "range": "*", "nodes": ["node_modules/request"], "fixAvailable": {"name": "wdio-mediawiki", "version": "6.5.2", "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"}, {"source": 1119440, "name": "serialize-javascript", "dependency": "serialize-javascript", "title": "Serialize JavaScript has CPU Exhaustion Denial of Service via crafted array-like objects", "url": "https://github.com/advisories/GHSA-qj8w-gfj5-8c6v", "severity": "moderate", "cwe": ["CWE-400", "CWE-834"], "cvss": {"score": 5.9, "vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H"}, "range": ">=5.0.0 <7.0.5"}], "effects": ["mocha"], "range": "<=7.0.4", "nodes": ["node_modules/serialize-javascript"], "fixAvailable": {"name": "@wdio/mocha-framework", "version": "7.7.3", "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/tough-cookie"], "fixAvailable": {"name": "wdio-mediawiki", "version": "6.5.2", "isSemVerMajor": true}}, "uuid": {"name": "uuid", "severity": "moderate", "isDirect": false, "via": [{"source": 1119441, "name": "uuid", "dependency": "uuid", "title": "uuid: Missing buffer bounds check in v3/v5/v6 when buf is provided", "url": "https://github.com/advisories/GHSA-w5hq-g745-h8pq", "severity": "moderate", "cwe": ["CWE-787", "CWE-1285"], "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": "<11.1.1"}], "effects": ["request"], "range": "<11.1.1", "nodes": ["node_modules/uuid"], "fixAvailable": {"name": "wdio-mediawiki", "version": "6.5.2", "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.5.2", "isSemVerMajor": true}}}, "metadata": {"vulnerabilities": {"info": 0, "low": 0, "moderate": 7, "high": 3, "critical": 2, "total": 12}, "dependencies": {"prod": 1, "dev": 911, "optional": 43, "peer": 32, "peerOptional": 0, "total": 911}}}}
$ /usr/bin/npm audit fix --only=dev
--- stderr ---
npm WARN invalid config only="dev" set in command line options
npm WARN invalid config Must be one of: null, prod, production
npm WARN deprecated har-validator@5.1.5: this library is no longer supported
npm WARN deprecated glob@8.1.0: Glob versions prior to v9 are no longer supported
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
npm WARN deprecated node-domexception@1.0.0: Use your platform's native DOMException instead
npm WARN deprecated glob@10.5.0: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me
npm WARN deprecated glob@10.5.0: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me
--- stdout ---

added 885 packages, and audited 886 packages in 22s

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

# npm audit report

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 pre-commit@2.0.0, which is a breaking change
node_modules/pre-commit/node_modules/cross-spawn
  pre-commit  1.1.0 - 1.2.2
  Depends on vulnerable versions of cross-spawn
  node_modules/pre-commit

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.5.2, which is a breaking change
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
  Depends on vulnerable versions of uuid
  node_modules/request
    mwbot  0.1.6 - 2.1.3
    Depends on vulnerable versions of request
    node_modules/mwbot
      wdio-mediawiki  <=5.1.0
      Depends on vulnerable versions of mwbot
      node_modules/wdio-mediawiki

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.5.2, which is a breaking change
node_modules/qs


serialize-javascript  <=7.0.4
Severity: high
Serialize JavaScript is Vulnerable to RCE via RegExp.flags and Date.prototype.toISOString() - https://github.com/advisories/GHSA-5c6j-r48x-rmvq
Serialize JavaScript has CPU Exhaustion Denial of Service via crafted array-like objects - https://github.com/advisories/GHSA-qj8w-gfj5-8c6v
fix available via `npm audit fix --force`
Will install @wdio/mocha-framework@7.7.3, which is a breaking change
node_modules/serialize-javascript
  mocha  8.2.0 - 12.0.0-beta-2
  Depends on vulnerable versions of serialize-javascript
  node_modules/mocha
    @wdio/mocha-framework  >=7.7.4
    Depends on vulnerable versions of mocha
    node_modules/@wdio/mocha-framework

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.5.2, which is a breaking change
node_modules/tough-cookie

uuid  <11.1.1
Severity: moderate
uuid: Missing buffer bounds check in v3/v5/v6 when buf is provided - https://github.com/advisories/GHSA-w5hq-g745-h8pq
fix available via `npm audit fix --force`
Will install wdio-mediawiki@6.5.2, which is a breaking change
node_modules/uuid

12 vulnerabilities (7 moderate, 3 high, 2 critical)

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

--- end ---
Verifying that tests still pass
$ /usr/bin/npm ci
--- stderr ---
npm WARN deprecated har-validator@5.1.5: this library is no longer supported
npm WARN deprecated glob@8.1.0: Glob versions prior to v9 are no longer supported
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
npm WARN deprecated node-domexception@1.0.0: Use your platform's native DOMException instead
npm WARN deprecated glob@10.5.0: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me
npm WARN deprecated glob@10.5.0: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me
--- stdout ---

added 885 packages, and audited 886 packages in 31s

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

12 vulnerabilities (7 moderate, 3 high, 2 critical)

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

Run `npm audit` for details.

--- end ---
$ /usr/bin/npm test
--- stderr ---
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: '@wikimedia/codex@2.5.0',
npm WARN EBADENGINE   required: { node: '>=20.20.2', npm: '>=10.8.2' },
npm WARN EBADENGINE   current: { node: 'v20.19.2', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: '@wikimedia/codex-design-tokens@2.5.0',
npm WARN EBADENGINE   required: { node: '>=20.20.2', npm: '>=10.8.1' },
npm WARN EBADENGINE   current: { node: 'v20.19.2', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: '@wikimedia/codex-icons@2.5.0',
npm WARN EBADENGINE   required: { node: '>=20.20.2', npm: '>=10.8.2' },
npm WARN EBADENGINE   current: { node: 'v20.19.2', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN deprecated sourcemap-codec@1.4.8: Please use @jridgewell/sourcemap-codec instead
PASS src/composables/useFiltersValidator.test.js
PASS src/components/SXPublisher/useTranslationPublish.test.js
PASS src/composables/useFeaturedCollectionFlag.test.js
PASS src/components/SXTranslationConfirmer/useActionPanel.test.js
PASS src/utils/publishHelper.test.js
PASS src/components/SXPublisher/SXPublisher.test.js
PASS src/components/SXArticleSearch/SXArticleSearch.test.js
PASS src/composables/useSuggestionsFetch.test.js
PASS src/components/CXDashboard/useSuggestionFiltersInstrument.test.js
PASS src/composables/useArticleSearch.test.js
PASS src/composables/useTranslationSave.test.js
PASS src/composables/useTranslationSize.test.js
PASS src/wiki/cx/api/suggestions.test.js
PASS src/components/SXArticleSearch/useLanguageHistory.test.js
PASS src/components/SXPublisher/useEditTranslation.test.js
PASS src/components/SXContentComparator/SXContentComparatorHeader.test.js
PASS src/components/SXSentenceSelector/tests/SubSection.test.js
PASS src/utils/translationDifficulty.test.js
PASS src/composables/useApplicationLanguagesInitialize.test.js
PASS src/components/SXContentComparator/SXContentComparatorHeaderMappedSection.test.js
PASS src/components/SXTranslationConfirmer/SXTranslationConfirmerActionPanel.test.js
PASS src/components/SXPublisher/SXPublisherReviewInfo.test.js
PASS src/components/SXContentComparator/findNextSectionForPlaceholder.test.js
PASS src/components/SXSentenceSelector/tests/SXSentenceSelector.test.js
PASS src/composables/useEventLogging.test.js
PASS src/components/SXArticleSearch/sourceLanguageOptions.test.js
PASS src/utils/extractTitleFromPublishedUrl.test.js
PASS src/components/SXSentenceSelector/tests/ProposedTranslationCard.test.js
PASS src/wiki/cx/models/subSection.test.js
PASS src/components/SXPublisher/useMtValidate.test.js
PASS src/utils/segmentedContentConverter.test.js
PASS src/components/SXPublisher/usePublishingComplete.test.js
PASS src/utils/dateHelper.test.js
PASS src/components/SXSentenceSelector/tests/ProposedTranslationActionButtons.test.js
PASS src/components/SXTranslationConfirmer/SXTranslationConfirmerArticleInformation.test.js
PASS src/lib/mediawiki.ui/components/MWButton/MWButton.test.js
PASS src/composables/useCXServerToken.test.js
PASS src/components/SXArticleSearch/useSuggestedSourceLanguages.test.js
PASS src/components/SXSectionSelector/SXSectionSelectorSectionList.test.js
PASS src/utils/userEditCountBucket.test.js
PASS src/components/SXContentComparator/SXContentComparatorHeaderNavigation.test.js
PASS src/store/modules/mediawiki/actions.test.js
PASS src/components/SXArticleSearch/ArticleSuggestionsCard.test.js
PASS src/components/SXSentenceSelector/tests/ProposedTranslationHeader.test.js
PASS src/components/SXArticleSearch/SearchResultsCard.test.js
PASS src/lib/mediawiki.ui/components/MWSelect/MWSelect.test.js
PASS src/utils/debounce.test.js
PASS src/components/SXSectionSelector/SXSectionSelectorSectionListPresent.test.js
PASS src/composables/usePublishTarget.test.js
PASS src/lib/mediawiki.ui/components/MWInput/MWInput.test.js
PASS src/components/SXSentenceSelector/tests/SXSentenceSelectorContentHeader.test.js
PASS src/utils/eventlogging/logEvent.test.js
PASS src/utils/mtValidator.test.js
PASS src/components/SXArticleSearch/SXSearchArticleSuggestion.test.js
PASS src/lib/mediawiki.ui/components/MWExpandableContent/MWExpandableContent.test.js
PASS src/lib/mediawiki.ui/components/MWButtonGroup/MWButtonGroup.test.js
PASS src/store/modules/suggestions/suggestions.test.js
PASS src/lib/mediawiki.ui/components/MWIcon/MWIcon.test.js
PASS src/lib/mediawiki.ui/components/MWRadioGroup/MWRadioGroup.test.js
PASS src/lib/mediawiki.ui/components/MWCircularProgressBar/MWCircleProgressBar.test.js
PASS src/components/CXDashboard/MWBottomNavigation.test.js
PASS src/components/SXSectionSelector/SXSectionSelectorViewArticleItem.test.js
PASS src/lib/mediawiki.ui/components/MWThumbnail/MWThumbnail.test.js
PASS src/lib/mediawiki.ui/components/MWRadioGroup/MWRadio.test.js
PASS src/utils/translationTimeEstimator.test.js
PASS src/lib/mediawiki.ui/components/MWCard/MWcard.test.js
PASS src/lib/mediawiki.ui/components/MWDialog/MWDialog.test.js
PASS src/wiki/cx/models/sectionSuggestion.test.js
PASS src/utils/eventlogging/translationSessionPosition.test.js
PASS src/utils/mediawikiHelper.test.js
PASS src/components/SXSentenceSelector/tests/RetryMtCard.test.js

Test Suites: 71 passed, 71 total
Tests:       285 passed, 285 total
Snapshots:   39 passed, 39 total
Time:        33.324 s
Ran all test suites.
--- stdout ---

> test
> npm run test:cx2 && npm run test:cx3


> test:cx2
> npm -s run lint

Checked 3 message directories.

/src/repo/modules/entrypoints/ext.cx.interlanguagelink.js
  63:27  warning  OOUI button has no label. Even icon-only buttons should set a label with invisibleLabel set to true  mediawiki/no-unlabeled-buttonwidget

/src/repo/modules/eventlogging/mw.cx.stats.eventlogging.js
  10:1  warning  Missing JSDoc @param "isMobile" type  jsdoc/require-param-type
  24:1  warning  Missing JSDoc @param "isMobile" type  jsdoc/require-param-type

/src/repo/modules/mw.cx.TranslationController.js
  327:3  warning  Prefer .then to .fail  no-jquery/no-done-fail

/src/repo/modules/mw.cx.init.Translation.js
  276:1   warning  Missing JSDoc @param "error" type  jsdoc/require-param-type
  404:3   warning  Prefer .then to .fail              no-jquery/no-done-fail
  546:10  warning  Prefer .then to .done              no-jquery/no-done-fail

/src/repo/modules/mw.cx.init.js
  35:17  warning  Object.fromEntries() is not supported in Safari 11.1, iOS Safari 11.3-11.4  compat/compat

/src/repo/modules/tools/mw.cx.tools.IssueTrackingTool.js
  26:22  warning  OOUI button has no label. Even icon-only buttons should set a label with invisibleLabel set to true  mediawiki/no-unlabeled-buttonwidget
  30:24  warning  OOUI button has no label. Even icon-only buttons should set a label with invisibleLabel set to true  mediawiki/no-unlabeled-buttonwidget
  35:24  warning  OOUI button has no label. Even icon-only buttons should set a label with invisibleLabel set to true  mediawiki/no-unlabeled-buttonwidget
  40:20  warning  OOUI button has no label. Even icon-only buttons should set a label with invisibleLabel set to true  mediawiki/no-unlabeled-buttonwidget
  52:23  warning  OOUI button has no label. Even icon-only buttons should set a label with invisibleLabel set to true  mediawiki/no-unlabeled-buttonwidget
  56:21  warning  OOUI button has no label. Even icon-only buttons should set a label with invisibleLabel set to true  mediawiki/no-unlabeled-buttonwidget

/src/repo/modules/ui/widgets/mw.cx.ui.CategoryInputWidget.js
  34:2  warning  Prefer .then to .done  no-jquery/no-done-fail

/src/repo/modules/ve-cx/dm/ve.dm.CXPlaceholderNode.js
  55:1  warning  Missing JSDoc @return declaration  jsdoc/require-returns

/src/repo/modules/ve-cx/ui/ve.ui.CXPublishSettingsDialog.js
  102:19  warning  OOUI button has no label. Even icon-only buttons should set a label with invisibleLabel set to true  mediawiki/no-unlabeled-buttonwidget

/src/repo/tests/selenium/utils/InterceptorService.js
  3:9  warning  'WdioInterceptorService' is assigned a value but never used  no-unused-vars

✖ 18 problems (0 errors, 18 warnings)


> test:cx3
> cd app && npm run test


> cx3@1.0.0+20260521 test
> npm install && npm run lint && npm run test:unit


added 853 packages, and audited 854 packages in 7s

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

7 vulnerabilities (2 low, 3 moderate, 2 high)

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.

> cx3@1.0.0+20260521 lint
> npm -s run lint:js && npm -s run lint:css


/src/repo/app/src/components/CXDashboard/CustomInfoChip.vue
  39:25  warning  The "click" event has been triggered but not declared on `defineEmits`  vue/require-explicit-emits

/src/repo/app/src/components/SXSentenceSelector/SXTranslationSelector.vue
  163:11  warning  'v-html' directive can lead to XSS attack  vue/no-v-html

✖ 2 problems (0 errors, 2 warnings)


> cx3@1.0.0+20260521 test:unit
> jest -c config/jest/jest.config.js --coverage

-------------------------------------------------------|---------|----------|---------|---------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
File                                                   | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s                                                                                                                                                                        
-------------------------------------------------------|---------|----------|---------|---------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
All files                                              |   71.77 |    78.98 |   47.12 |   71.77 |                                                                                                                                                                                          
 config/jest                                           |     100 |      100 |     100 |     100 |                                                                                                                                                                                          
  snapshotResolver.js                                  |     100 |      100 |     100 |     100 |                                                                                                                                                                                          
  svg-stub.js                                          |     100 |      100 |     100 |     100 |                                                                                                                                                                                          
 src/components                                        |     100 |      100 |     100 |     100 |                                                                                                                                                                                          
  CommunityPriorityBadge.vue                           |     100 |      100 |     100 |     100 |                                                                                                                                                                                          
 src/components/CXDashboard                            |   94.69 |      100 |      90 |   94.69 |                                                                                                                                                                                          
  MWBottomNavigation.vue                               |   97.67 |      100 |       0 |   97.67 | 28-29                                                                                                                                                                                    
  useDashboardTabSelectInstrument.js                   |   54.54 |      100 |     100 |   54.54 | 9-18                                                                                                                                                                                     
  useSuggestionFiltersInstrument.js                    |     100 |      100 |     100 |     100 |                                                                                                                                                                                          
 src/components/MWLanguageSelector                     |   82.39 |      100 |       0 |   82.39 |                                                                                                                                                                                          
  MWLanguageSelector.vue                               |     100 |      100 |     100 |     100 |                                                                                                                                                                                          
  autocompletion.js                                    |   16.12 |      100 |       0 |   16.12 | 4-29                                                                                                                                                                                     
  index.js                                             |     100 |      100 |     100 |     100 |                                                                                                                                                                                          
  languagesearch.js                                    |   31.25 |      100 |       0 |   31.25 | 9-24,32-38,45-52,54-62,64-78                                                                                                                                                             
 src/components/SXArticleSearch                        |   93.59 |    71.91 |    60.6 |   93.59 |                                                                                                                                                                                          
  ArticleSuggestionsCard.vue                           |     100 |       80 |   33.33 |     100 | 33                                                                                                                                                                                       
  SXArticleSearch.vue                                  |    90.6 |    73.91 |    37.5 |    90.6 | 79,85-86,90-96,102-109,113,121-122,192-204,228,232-235                                                                                                                                   
  SXSearchArticleSuggestion.vue                        |     100 |      100 |     100 |     100 |                                                                                                                                                                                          
  SearchResultsCard.vue                                |     100 |       50 |   33.33 |     100 | 38                                                                                                                                                                                       
  articleSearchMockStore.js                            |   96.72 |      100 |   42.85 |   96.72 | 29-30                                                                                                                                                                                    
  sourceLanguageOptions.js                             |     100 |      100 |     100 |     100 |                                                                                                                                                                                          
  useFeaturedCollectionSearchSuggestions.js            |   77.98 |       40 |     100 |   77.98 | 32,66-85,96-98                                                                                                                                                                           
  useLanguageHistory.js                                |     100 |      100 |     100 |     100 |                                                                                                                                                                                          
  useSuggestedSourceLanguages.js                       |   98.27 |     62.5 |     100 |   98.27 | 33                                                                                                                                                                                       
 src/components/SXContentComparator                    |     100 |       80 |     100 |     100 |                                                                                                                                                                                          
  SXContentComparatorHeader.vue                        |     100 |    55.55 |     100 |     100 | 26-29,37                                                                                                                                                                                 
  SXContentComparatorHeaderMappedSection.vue           |     100 |      100 |     100 |     100 |                                                                                                                                                                                          
  SXContentComparatorHeaderNavigation.vue              |     100 |      100 |     100 |     100 |                                                                                                                                                                                          
  findNextSectionForPlaceholder.js                     |     100 |      100 |     100 |     100 |                                                                                                                                                                                          
 src/components/SXPublisher                            |   95.12 |    61.72 |   72.72 |   95.12 |                                                                                                                                                                                          
  SXPublishOptionSelector.vue                          |     100 |      100 |     100 |     100 |                                                                                                                                                                                          
  SXPublisher.vue                                      |   88.07 |    34.78 |      50 |   88.07 | 40,50-52,54-56,58-60,62,90-91,97-109,116-121,143,154                                                                                                                                     
  SXPublisherAnimationDialog.vue                       |     100 |      100 |     100 |     100 |                                                                                                                                                                                          
  SXPublisherCaptchaDialog.vue                         |     100 |      100 |     100 |     100 |                                                                                                                                                                                          
  SXPublisherHeader.vue                                |     100 |      100 |     100 |     100 |                                                                                                                                                                                          
  SXPublisherReviewInfo.vue                            |   97.61 |       70 |      50 |   97.61 | 50,61-62                                                                                                                                                                                 
  useEditTranslation.js                                |     100 |       80 |     100 |     100 | 24                                                                                                                                                                                       
  useMtValidate.js                                     |     100 |      100 |     100 |     100 |                                                                                                                                                                                          
  usePublishingComplete.js                             |   88.88 |    66.66 |     100 |   88.88 | 45-46,51-55                                                                                                                                                                              
  useTranslationPublish.js                             |   92.17 |    63.15 |      75 |   92.17 | 33,110-112,157-166                                                                                                                                                                       
 src/components/SXSectionSelector                      |     100 |      100 |     100 |     100 |                                                                                                                                                                                          
  SXSectionSelectorSectionList.vue                     |     100 |      100 |     100 |     100 |                                                                                                                                                                                          
  SXSectionSelectorSectionListPresent.vue              |     100 |      100 |     100 |     100 |                                                                                                                                                                                          
  SXSectionSelectorViewArticleItem.vue                 |     100 |      100 |     100 |     100 |                                                                                                                                                                                          
 src/components/SXSentenceSelector                     |   88.41 |    66.21 |      40 |   88.41 |                                                                                                                                                                                          
  BlockTemplateAdaptationCard.vue                      |     100 |      100 |     100 |     100 |                                                                                                                                                                                          
  BlockTemplateStatusIndicator.vue                     |     100 |      100 |     100 |     100 |                                                                                                                                                                                          
  ProposedTranslationActionButtons.vue                 |     100 |    66.66 |     100 |     100 | 20                                                                                                                                                                                       
  ProposedTranslationCard.vue                          |   97.43 |    85.71 |     100 |   97.43 | 29-30,57-58                                                                                                                                                                              
  ProposedTranslationHeader.vue                        |     100 |      100 |     100 |     100 |                                                                                                                                                                                          
  RetryMtCard.vue                                      |     100 |      100 |     100 |     100 |                                                                                                                                                                                          
  SXBlockTemplateStatusDialog.vue                      |     100 |      100 |     100 |     100 |                                                                                                                                                                                          
  SXConfirmBackNavigationDialog.vue                    |     100 |      100 |     100 |     100 |                                                                                                                                                                                          
  SXSentenceSelector.vue                               |   85.29 |    60.86 |   27.27 |   85.29 | 116-117,151-152,156-157,161-166,194-196,203-204,216-225,232-244,252-257,264-275,281-288,307-309,318                                                                                      
  SXSentenceSelectorContentHeader.vue                  |   96.46 |    45.45 |       0 |   96.46 | 37,44-45,55                                                                                                                                                                              
  SXTranslationSelector.vue                            |     100 |      100 |     100 |     100 |                                                                                                                                                                                          
  SubSection.vue                                       |   97.19 |       75 |     100 |   97.19 | 24,35-36                                                                                                                                                                                 
  TranslatedSegmentCard.vue                            |     100 |      100 |     100 |     100 |                                                                                                                                                                                          
  TranslatedSegmentCardActionButtons.vue               |     100 |      100 |     100 |     100 |                                                                                                                                                                                          
  TranslatedSegmentCardHeader.vue                      |     100 |      100 |     100 |     100 |                                                                                                                                                                                          
  useDraftTranslationStart.js                          |   39.62 |      100 |     100 |   39.62 | 18-49                                                                                                                                                                                    
  useMTProviderUpdate.js                               |      28 |      100 |       0 |      28 | 6-23                                                                                                                                                                                     
  usePendingSaveRequestsClear.js                       |   85.71 |      100 |     100 |   85.71 | 9-10                                                                                                                                                                                     
  useProposedTranslationApply.js                       |   70.37 |      100 |     100 |   70.37 | 16-23                                                                                                                                                                                    
  useSelectedContentTranslationUnitScroll.js           |   48.33 |       50 |      50 |   48.33 | 9-36,46-47,56                                                                                                                                                                            
  useSubSectionContent.js                              |   83.72 |    57.14 |     100 |   83.72 | 10-13,30-31,34                                                                                                                                                                           
  useTranslationUnitSelect.js                          |   63.15 |      100 |      25 |   63.15 | 21-30,40-46,56-66                                                                                                                                                                        
  useTranslationUnitTranslate.js                       |   38.59 |      100 |      20 |   38.59 | 22-38,51-74,88-142,154-162                                                                                                                                                               
 src/components/SXTranslationConfirmer                 |   84.92 |    59.67 |   28.57 |   84.92 |                                                                                                                                                                                          
  SXTranslationConfirmerActionPanel.vue                |   82.47 |     62.5 |       0 |   82.47 | 39-54,58-64,68-73,79-81,97-102,108,123-124                                                                                                                                               
  SXTranslationConfirmerArticleInformation.vue         |   83.33 |    45.83 |   33.33 |   83.33 | 39-41,49-52,56-61,91-97,118-119,135-155                                                                                                                                                  
  UnreviewedTranslationDialog.vue                      |   93.65 |      100 |       0 |   93.65 | 32-35                                                                                                                                                                                    
  useActionPanel.js                                    |   94.16 |    68.96 |     100 |   94.16 | 30-31,60-64                                                                                                                                                                              
  useConfirmationButtonClickHandlers.js                |      75 |      100 |   33.33 |      75 | 27-28,47-61                                                                                                                                                                              
 src/composables                                       |   49.94 |    88.42 |   57.14 |   49.94 |                                                                                                                                                                                          
  createSharedComposable.js                            |   85.18 |      100 |      50 |   85.18 | 8-11                                                                                                                                                                                     
  useAppendixSectionTitlesFetch.js                     |   27.27 |      100 |       0 |   27.27 | 5-20                                                                                                                                                                                     
  useApplicationLanguagesInitialize.js                 |     100 |      100 |     100 |     100 |                                                                                                                                                                                          
  useApplicationState.js                               |   96.96 |      100 |     100 |   96.96 | 16                                                                                                                                                                                       
  useArticleSearch.js                                  |    92.5 |    83.33 |     100 |    92.5 | 35-36,42-45                                                                                                                                                                              
  useCXServerToken.js                                  |   94.91 |    72.72 |     100 |   94.91 | 25-27                                                                                                                                                                                    
  useContentReferencesResolve.js                       |      48 |      100 |     100 |      48 | 21-46                                                                                                                                                                                    
  useCurrentDraftTranslation.js                        |   21.87 |      100 |       0 |   21.87 | 6-30                                                                                                                                                                                     
  useCurrentPageRevision.js                            |   94.44 |      100 |     100 |   94.44 | 14                                                                                                                                                                                       
  useCurrentPageSection.js                             |   90.19 |       50 |     100 |   90.19 | 19-20,38-40                                                                                                                                                                              
  useCurrentPages.js                                   |      75 |      100 |     100 |      75 | 18-21,26-27,31-34                                                                                                                                                                        
  useCurrentSectionSuggestion.js                       |   66.66 |      100 |     100 |   66.66 | 20-24,28-36                                                                                                                                                                              
  useDashboardTranslationContinueInstrument.js         |    28.3 |      100 |     100 |    28.3 | 12-49                                                                                                                                                                                    
  useDashboardTranslationStartInstrument.js            |   69.23 |      100 |      50 |   69.23 | 65-96                                                                                                                                                                                    
  useDashboardTranslationStartInstrumentState.js       |      60 |      100 |       0 |      60 | 7-14,17-18                                                                                                                                                                               
  useDebouncedSave.js                                  |   66.07 |      100 |      50 |   66.07 | 29-47                                                                                                                                                                                    
  useEditorNavigation.js                               |   38.28 |      100 |      25 |   38.28 | 34-46,53-74,78-101,105-124                                                                                                                                                               
  useEventLogging.js                                   |     100 |      100 |     100 |     100 |                                                                                                                                                                                          
  useFeaturedCollectionFilter.js                       |   66.42 |       60 |      50 |   66.42 | 43-62,65-70,93-94,101-107,110-116,124-127                                                                                                                                                
  useFeaturedCollectionFlag.js                         |     100 |      100 |     100 |     100 |                                                                                                                                                                                          
  useFeaturedCollectionMembership.js                   |   62.96 |       40 |     100 |   62.96 | 28-47                                                                                                                                                                                    
  useFiltersValidator.js                               |   98.93 |    97.87 |    87.5 |   98.93 | 169-170                                                                                                                                                                                  
  useKeyboardNavigation.js                             |   56.94 |      100 |   33.33 |   56.94 | 21-25,29-35,39-43,47,51-53,57-66                                                                                                                                                         
  useLanguageHelper.js                                 |   32.58 |      100 |   33.33 |   32.58 | 22-37,40-83                                                                                                                                                                              
  useLanguageTitleGroup.js                             |   94.87 |    66.66 |     100 |   94.87 | 22-23                                                                                                                                                                                    
  usePageCollections.js                                |   47.45 |      100 |   33.33 |   47.45 | 15-40,44-48                                                                                                                                                                              
  usePageContentFetch.js                               |   22.44 |      100 |     100 |   22.44 | 8-45                                                                                                                                                                                     
  usePageMetadataFetch.js                              |     100 |      100 |     100 |     100 |                                                                                                                                                                                          
  usePageSectionSelect.js                              |   54.45 |      100 |      25 |   54.45 | 22-45,59-66,79-92                                                                                                                                                                        
  usePublishTarget.js                                  |   96.07 |    83.33 |     100 |   96.07 | 37-38                                                                                                                                                                                    
  usePublishWarnings.js                                |   88.57 |      100 |      20 |   88.57 | 12,16,20,24                                                                                                                                                                              
  useSectionPresenceStatus.js                          |   89.18 |    66.66 |     100 |   89.18 | 24-27                                                                                                                                                                                    
  useSuggestionFetchByCollections.js                   |    9.29 |      100 |       0 |    9.29 | 16-21,24-35,38-224                                                                                                                                                                       
  useSuggestionFetchByCountries.js                     |    9.82 |      100 |       0 |    9.82 | 10-110                                                                                                                                                                                   
  useSuggestionFetchByMostPopular.js                   |    9.03 |      100 |       0 |    9.03 | 15-175                                                                                                                                                                                   
  useSuggestionFetchBySeed.js                          |    8.84 |      100 |       0 |    8.84 | 9-111                                                                                                                                                                                    
  useSuggestionLoad.js                                 |   48.71 |      100 |   33.33 |   48.71 | 43-97,107-111                                                                                                                                                                            
  useSuggestionPreviousEditsSeeds.js                   |   16.35 |      100 |       0 |   16.35 | 34-212                                                                                                                                                                                   
  useSuggestionProvider.js                             |   23.52 |      100 |       0 |   23.52 | 19-83                                                                                                                                                                                    
  useSuggestionValidator.js                            |    6.59 |      100 |       0 |    6.59 | 5-89                                                                                                                                                                                     
  useSuggestionsFetch.js                               |   98.63 |       90 |      75 |   98.63 | 72-73                                                                                                                                                                                    
  useSuggestionsFetchByEdits.js                        |   11.11 |      100 |       0 |   11.11 | 13-124                                                                                                                                                                                   
  useSuggestionsFetchByTopics.js                       |     9.6 |      100 |       0 |     9.6 | 11-123                                                                                                                                                                                   
  useSuggestionsFilters.js                             |    9.43 |      100 |       0 |    9.43 | 28-39,43-337                                                                                                                                                                             
  useSuggestionsInitialize.js                          |   40.67 |      100 |       0 |   40.67 | 23-57                                                                                                                                                                                    
  useSuggestionsStore.js                               |    5.64 |      100 |       0 |    5.64 | 6-122                                                                                                                                                                                    
  useSupportedLanguageCodes.js                         |    92.3 |    66.66 |     100 |    92.3 | 35-36,42-43                                                                                                                                                                              
  useTitleForPublishing.js                             |      85 |      100 |     100 |      85 | 12-14                                                                                                                                                                                    
  useTranslationSave.js                                |     100 |      100 |     100 |     100 |                                                                                                                                                                                          
  useTranslationSize.js                                |   98.18 |    86.36 |     100 |   98.18 | 88-89                                                                                                                                                                                    
  useURLHandler.js                                     |   69.09 |       75 |      40 |   69.09 | 32-33,54-79,82-84,87-88,91-92,95-96,132-133,137-143,149,158-161,175-187,190-193                                                                                                          
 src/lib/mediawiki.ui                                  |      50 |    33.33 |      50 |      50 |                                                                                                                                                                                          
  index.js                                             |      50 |    33.33 |      50 |      50 | 2                                                                                                                                                                                        
 src/lib/mediawiki.ui/components                       |     100 |      100 |     100 |     100 |                                                                                                                                                                                          
  icons.js                                             |     100 |      100 |     100 |     100 |                                                                                                                                                                                          
  index.js                                             |     100 |      100 |     100 |     100 |                                                                                                                                                                                          
 src/lib/mediawiki.ui/components/MWButton              |     100 |    83.33 |     100 |     100 |                                                                                                                                                                                          
  MWButton.vue                                         |     100 |    83.33 |     100 |     100 | 121,124                                                                                                                                                                                  
  index.js                                             |     100 |      100 |     100 |     100 |                                                                                                                                                                                          
 src/lib/mediawiki.ui/components/MWButtonGroup         |     100 |      100 |     100 |     100 |                                                                                                                                                                                          
  MWButtonGroup.vue                                    |     100 |      100 |     100 |     100 |                                                                                                                                                                                          
  index.js                                             |     100 |      100 |     100 |     100 |                                                                                                                                                                                          
 src/lib/mediawiki.ui/components/MWCard                |     100 |      100 |     100 |     100 |                                                                                                                                                                                          
  MWCard.vue                                           |     100 |      100 |     100 |     100 |                                                                                                                                                                                          
  index.js                                             |     100 |      100 |     100 |     100 |                                                                                                                                                                                          
 src/lib/mediawiki.ui/components/MWCircularProgressBar |     100 |      100 |     100 |     100 |                                                                                                                                                                                          
  MWCircleProgressBar.vue                              |     100 |      100 |     100 |     100 |                                                                                                                                                                                          
  index.js                                             |     100 |      100 |     100 |     100 |                                                                                                                                                                                          
 src/lib/mediawiki.ui/components/MWDialog              |   94.75 |      100 |      50 |   94.75 |                                                                                                                                                                                          
  MWDialog.vue                                         |   94.69 |      100 |      50 |   94.69 | 127-129,133,138-146                                                                                                                                                                      
  index.js                                             |     100 |      100 |     100 |     100 |                                                                                                                                                                                          
 src/lib/mediawiki.ui/components/MWDivider             |     100 |      100 |     100 |     100 |                                                                                                                                                                                          
  MWDivider.vue                                        |     100 |      100 |     100 |     100 |                                                                                                                                                                                          
  index.js                                             |     100 |      100 |     100 |     100 |                                                                                                                                                                                          
 src/lib/mediawiki.ui/components/MWExpandableContent   |   75.37 |     87.5 |   44.44 |   75.37 |                                                                                                                                                                                          
  MWExpandableContent.vue                              |   89.14 |       80 |      25 |   89.14 | 100-118,133-137                                                                                                                                                                          
  index.js                                             |     100 |      100 |     100 |     100 |                                                                                                                                                                                          
  useDrag.js                                           |   29.85 |      100 |     100 |   29.85 | 3-49                                                                                                                                                                                     
  useScroll.js                                         |   73.91 |      100 |   33.33 |   73.91 | 17,21-22,26-34                                                                                                                                                                           
 src/lib/mediawiki.ui/components/MWIcon                |   97.97 |      100 |      75 |   97.97 |                                                                                                                                                                                          
  MWIcon.vue                                           |   97.91 |      100 |      75 |   97.91 | 64-65                                                                                                                                                                                    
  index.js                                             |     100 |      100 |     100 |     100 |                                                                                                                                                                                          
 src/lib/mediawiki.ui/components/MWInput               |   95.34 |      100 |      50 |   95.34 |                                                                                                                                                                                          
  MWInput.vue                                          |   95.29 |      100 |      50 |   95.29 | 114,117-122,125-126,129-131                                                                                                                                                              
  index.js                                             |     100 |      100 |     100 |     100 |                                                                                                                                                                                          
 src/lib/mediawiki.ui/components/MWLayout              |   97.83 |    73.33 |     100 |   97.83 |                                                                                                                                                                                          
  MWCol.vue                                            |   97.84 |       70 |     100 |   97.84 | 71-72                                                                                                                                                                                    
  MWGrid.vue                                           |     100 |      100 |     100 |     100 |                                                                                                                                                                                          
  MWRow.vue                                            |   97.01 |       80 |     100 |   97.01 | 60-61                                                                                                                                                                                    
  index.js                                             |     100 |      100 |     100 |     100 |                                                                                                                                                                                          
 src/lib/mediawiki.ui/components/MWProgressBar         |   93.84 |      100 |       0 |   93.84 |                                                                                                                                                                                          
  MWProgressBar.vue                                    |    93.7 |      100 |       0 |    93.7 | 62-64,67,70-71,75-76                                                                                                                                                                     
  index.js                                             |     100 |      100 |     100 |     100 |                                                                                                                                                                                          
 src/lib/mediawiki.ui/components/MWRadioGroup          |   96.74 |     90.9 |   66.66 |   96.74 |                                                                                                                                                                                          
  MWRadio.vue                                          |   98.87 |      100 |      80 |   98.87 | 95-96                                                                                                                                                                                    
  MWRadioGroup.vue                                     |   90.62 |       80 |      50 |   90.62 | 38-41,58-59                                                                                                                                                                              
  index.js                                             |     100 |      100 |     100 |     100 |                                                                                                                                                                                          
 src/lib/mediawiki.ui/components/MWSelect              |   84.65 |    73.68 |    40.9 |   84.65 |                                                                                                                                                                                          
  MWSelect.vue                                         |   84.54 |    73.68 |    40.9 |   84.54 | 169-170,175,190-194,211-223,226-228,231-234,237,240-241,248,251-252,255-256,268-270,273-275,278-288,291-301,304-305                                                                      
  index.js                                             |     100 |      100 |     100 |     100 |                                                                                                                                                                                          
 src/lib/mediawiki.ui/components/MWSpinner             |     100 |      100 |     100 |     100 |                                                                                                                                                                                          
  MWSpinner.vue                                        |     100 |      100 |     100 |     100 |                                                                                                                                                                                          
  index.js                                             |     100 |      100 |     100 |     100 |                                                                                                                                                                                          
 src/lib/mediawiki.ui/components/MWThumbnail           |     100 |      100 |      50 |     100 |                                                                                                                                                                                          
  MWThumbnail.vue                                      |     100 |      100 |      50 |     100 |                                                                                                                                                                                          
  index.js                                             |     100 |      100 |     100 |     100 |                                                                                                                                                                                          
 src/lib/mediawiki.ui/plugins                          |      97 |    93.75 |     100 |      97 |                                                                                                                                                                                          
  breakpoints.js                                       |   96.47 |    93.33 |     100 |   96.47 | 54-56                                                                                                                                                                                    
  colors.js                                            |     100 |      100 |     100 |     100 |                                                                                                                                                                                          
  index.js                                             |     100 |      100 |     100 |     100 |                                                                                                                                                                                          
 src/lib/mediawiki.ui/variables                        |     100 |      100 |     100 |     100 |                                                                                                                                                                                          
  colors.js                                            |     100 |      100 |     100 |     100 |                                                                                                                                                                                          
 src/plugins/ve                                        |      80 |      100 |       0 |      80 |                                                                                                                                                                                          
  index.js                                             |      80 |      100 |       0 |      80 | 9-10                                                                                                                                                                                     
 src/plugins/ve/components                             |    44.6 |      100 |       0 |    44.6 |                                                                                                                                                                                          
  VisualEditor.vue                                     |    44.6 |      100 |       0 |    44.6 | 16-34,65-122                                                                                                                                                                             
 src/plugins/ve/target                                 |   37.03 |      100 |       0 |   37.03 |                                                                                                                                                                                          
  integration.js                                       |   37.03 |      100 |       0 |   37.03 | 3-9,19-35,43-52                                                                                                                                                                          
 src/store/modules/mediawiki                           |   86.29 |    93.33 |   36.36 |   86.29 |                                                                                                                                                                                          
  actions.js                                           |     100 |      100 |     100 |     100 |                                                                                                                                                                                          
  getters.js                                           |      80 |       90 |      40 |      80 | 34-38,42-44,56-59                                                                                                                                                                        
  mutations.js                                         |   86.84 |      100 |      20 |   86.84 | 7,15,24,36-37                                                                                                                                                                            
 src/store/modules/suggestions                         |   62.99 |      100 |    4.16 |   62.99 |                                                                                                                                                                                          
  getters.js                                           |   35.51 |      100 |       0 |   35.51 | 4-9,12-16,19-23,31-35,38,41-57,61-77,86-91,100-106                                                                                                                                       
  index.js                                             |     100 |      100 |     100 |     100 |                                                                                                                                                                                          
  mutations.js                                         |   71.26 |      100 |    6.66 |   71.26 | 7,10,18-20,28-30,44,47,50,53,56,59,66,73-79,82,85-86                                                                                                                                     
  state.js                                             |     100 |      100 |     100 |     100 |                                                                                                                                                                                          
 src/utils                                             |   68.84 |    88.46 |   55.76 |   68.84 |                                                                                                                                                                                          
  dateHelper.js                                        |     100 |      100 |     100 |     100 |                                                                                                                                                                                          
  debounce.js                                          |     100 |      100 |      75 |     100 |                                                                                                                                                                                          
  extractTitleFromPublishedUrl.js                      |   95.55 |    83.33 |     100 |   95.55 | 25-26                                                                                                                                                                                    
  htmlHelper.js                                        |   39.13 |      100 |       0 |   39.13 | 8-21                                                                                                                                                                                     
  loadTestComposable.js                                |     100 |      100 |     100 |     100 |                                                                                                                                                                                          
  mediawikiHelper.js                                   |   84.61 |       50 |     100 |   84.61 | 17-20                                                                                                                                                                                    
  mtValidator.js                                       |   94.73 |      100 |      60 |   94.73 | 53-56                                                                                                                                                                                    
  parallelCorporaValidator.js                          |   76.74 |    57.14 |     100 |   76.74 | 15-18,29-30,37-40                                                                                                                                                                        
  publishHelper.js                                     |   90.27 |    69.23 |     100 |   90.27 | 47-51,65-66                                                                                                                                                                              
  retry.js                                             |   52.94 |      100 |       0 |   52.94 | 8-15                                                                                                                                                                                     
  segmentedContentConverter.js                         |     100 |      100 |     100 |     100 |                                                                                                                                                                                          
  shuffleArray.js                                      |   18.18 |      100 |       0 |   18.18 | 3-11                                                                                                                                                                                     
  suggestionFilterProviders.js                         |     100 |      100 |     100 |     100 |                                                                                                                                                                                          
  templateHelper.js                                    |   45.02 |    66.66 |   14.28 |   45.02 | 10-13,26-29,42-44,57-77,88-152,164-167,179-182                                                                                                                                           
  templateRenderer.js                                  |   45.16 |      100 |       0 |   45.16 | 26-49,65-91                                                                                                                                                                              
  translationDifficulty.js                             |   92.47 |      100 |   83.33 |   92.47 | 65-71                                                                                                                                                                                    
  translationRestorer.js                               |   24.46 |      100 |       0 |   24.46 | 10-40,47-69,78-90,100-137                                                                                                                                                                
  translationTimeEstimator.js                          |     100 |      100 |     100 |     100 |                                                                                                                                                                                          
  userEditCountBucket.js                               |   89.65 |      100 |   66.66 |   89.65 | 77-85                                                                                                                                                                                    
  userPublishingPermissions.js                         |      75 |       50 |     100 |      75 | 22-32                                                                                                                                                                                    
  visualEditorHelper.js                                |   29.21 |      100 |       0 |   29.21 | 6-18,30-51,60-87                                                                                                                                                                         
 src/utils/errors                                      |     100 |      100 |     100 |     100 |                                                                                                                                                                                          
  assertUserError.js                                   |     100 |      100 |     100 |     100 |                                                                                                                                                                                          
 src/utils/eventlogging                                |   89.89 |    83.33 |     100 |   89.89 |                                                                                                                                                                                          
  logEvent.js                                          |   82.45 |       50 |     100 |   82.45 | 15-20,41-44                                                                                                                                                                              
  translationSessionPosition.js                        |     100 |      100 |     100 |     100 |                                                                                                                                                                                          
 src/wiki/cx/api                                       |   33.51 |    73.68 |   11.42 |   33.51 |                                                                                                                                                                                          
  suggestions.js                                       |   33.44 |    77.77 |   18.18 |   33.44 | 25-45,47-48,80-81,99-124,134-155,161-190,199-231,312-362,375-432,440-464,472-507,517-550,560-596,606-639,649-685,687-720,722-742,751-771,780-794,803-817,823-847                         
  translator.js                                        |   33.62 |        0 |       0 |   33.62 | 16-19,26-70,76-99,112-155,168-186,201-224,260-346,374-432,439-450,462-476,491-504,518-532,538-548                                                                                        
 src/wiki/cx/models                                    |   68.47 |    76.54 |   35.96 |   68.47 |                                                                                                                                                                                          
  articleSuggestion.js                                 |    88.7 |      100 |   33.33 |    88.7 | 50-51,57-61                                                                                                                                                                              
  captchaDetails.js                                    |    37.5 |      100 |       0 |    37.5 | 3-7                                                                                                                                                                                      
  collectionArticleSuggestion.js                       |   47.91 |      100 |       0 |   47.91 | 18-40,46-47                                                                                                                                                                              
  collectionSectionSuggestion.js                       |   45.61 |      100 |       0 |   45.61 | 21-49,55-56                                                                                                                                                                              
  corporaRestoredUnit.js                               |   39.28 |      100 |       0 |   39.28 | 6-22,33-37,43-47,53-54,57-58,64-83                                                                                                                                                       
  draftTranslation.js                                  |   85.29 |      100 |      20 |   85.29 | 67-71,81-82,92-93,96-101                                                                                                                                                                 
  favoriteSuggestion.js                                |   21.42 |      100 |       0 |   21.42 | 3-13                                                                                                                                                                                     
  featuredCollection.js                                |     100 |      100 |     100 |     100 |                                                                                                                                                                                          
  pageCollection.js                                    |   45.45 |      100 |       0 |   45.45 | 10-21                                                                                                                                                                                    
  pageSection.js                                       |   56.95 |    88.88 |   29.41 |   56.95 | 43-55,58-64,71-72,89-102,121-125,131-135,141-142,148-149,156-157,165-170,176-180,186-189,195-199,202-225,246-253,259-260,263-275,278-281,284-292,295-309,325-337,346-357,366-382,425-430 
  publishFeedbackMessage.js                            |      90 |       50 |   33.33 |      90 | 34-35,38-39                                                                                                                                                                              
  publishedTranslation.js                              |    40.9 |      100 |       0 |    40.9 | 18-43                                                                                                                                                                                    
  sectionSentence.js                                   |   77.27 |      100 |   57.14 |   77.27 | 34-41,67-68,78-87                                                                                                                                                                        
  sectionSuggestion.js                                 |   92.56 |    68.75 |      70 |   92.56 | 65-68,81-82,143-147                                                                                                                                                                      
  subSection.js                                        |   70.72 |    67.64 |   54.54 |   70.72 | 53-61,76-96,136,152-176,180-181,243-246,255-260,271-278,292-295,306-314,326-331,354-357,400,405-410,419-420,427,435-438,440-463                                                          
  suggestionFilter.js                                  |   70.31 |      100 |       0 |   70.31 | 35-39,42-43,46-49,52-55,58-59,62-63                                                                                                                                                      
  suggestionFilterGroup.js                             |   64.28 |      100 |       0 |   64.28 | 9-13                                                                                                                                                                                     
  suggestionSeedCollection.js                          |   70.83 |      100 |       0 |   70.83 | 16-20,30-34,42-43,46-47                                                                                                                                                                  
  translation.js                                       |     100 |      100 |     100 |     100 |                                                                                                                                                                                          
  translationUnitPayload.js                            |     100 |      100 |     100 |     100 |                                                                                                                                                                                          
 src/wiki/mw/api                                       |   26.93 |      100 |       0 |   26.93 |                                                                                                                                                                                          
  page.js                                              |   26.71 |      100 |       0 |   26.71 | 20-71,81-126,145-156,170-203,216-274,286-317,327-355,369-414                                                                                                                             
  site.js                                              |   27.73 |      100 |       0 |   27.73 | 8-37,46-58,60-65,76-112                                                                                                                                                                  
 src/wiki/mw/models                                    |    71.9 |    73.68 |   56.25 |    71.9 |                                                                                                                                                                                          
  languageTitleGroup.js                                |     100 |    83.33 |     100 |     100 | 16                                                                                                                                                                                       
  mtProviderGroup.js                                   |   74.66 |      100 |   57.14 |   74.66 | 20-27,48-49,66-74                                                                                                                                                                        
  page.js                                              |   65.24 |    55.55 |   33.33 |   65.24 | 64-65,71-72,80-81,92-103,110-140                                                                                                                                                         
-------------------------------------------------------|---------|----------|---------|---------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

--- end ---
$ 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/tmpiudfjmaf
--- stderr ---
pre-commit: 
pre-commit: No changes detected.
pre-commit: Skipping the pre-commit hook.
pre-commit:
--- stdout ---
On branch master
Your branch is up to date with 'origin/master'.

nothing to commit, working tree clean

--- end ---

composer dependencies

Dependencies
Development dependencies

npm dependencies

Development dependencies

Logs

Source code is licensed under the AGPL.