mediawiki/extensions/CodeMirror: main (log #2452738)

sourcepatches

This run took 204 seconds.

$ date
--- stdout ---
Mon Apr 27 11:27:57 UTC 2026

--- end ---
$ git clone file:///srv/git/mediawiki-extensions-CodeMirror.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 ---
4ccbe6c97f79798c68c1f7cadcf1f798023dd250 refs/heads/master

--- end ---
$ /usr/bin/npm audit --json
--- stdout ---
{
  "auditReportVersion": 2,
  "vulnerabilities": {
    "@tootallnate/once": {
      "name": "@tootallnate/once",
      "severity": "low",
      "isDirect": false,
      "via": [
        {
          "source": 1113977,
          "name": "@tootallnate/once",
          "dependency": "@tootallnate/once",
          "title": "@tootallnate/once vulnerable to Incorrect Control Flow Scoping",
          "url": "https://github.com/advisories/GHSA-vpq2-c234-7xj6",
          "severity": "low",
          "cwe": [
            "CWE-705"
          ],
          "cvss": {
            "score": 3.3,
            "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:L"
          },
          "range": "<3.0.1"
        }
      ],
      "effects": [
        "http-proxy-agent"
      ],
      "range": "<3.0.1",
      "nodes": [
        "node_modules/@tootallnate/once"
      ],
      "fixAvailable": {
        "name": "jest-environment-jsdom",
        "version": "30.3.0",
        "isSemVerMajor": true
      }
    },
    "@wdio/mocha-framework": {
      "name": "@wdio/mocha-framework",
      "severity": "high",
      "isDirect": true,
      "via": [
        "mocha"
      ],
      "effects": [],
      "range": ">=6.1.19",
      "nodes": [
        "node_modules/@wdio/mocha-framework"
      ],
      "fixAvailable": {
        "name": "@wdio/mocha-framework",
        "version": "6.1.17",
        "isSemVerMajor": true
      }
    },
    "@wikimedia/mw-node-qunit": {
      "name": "@wikimedia/mw-node-qunit",
      "severity": "low",
      "isDirect": true,
      "via": [
        "jsdom"
      ],
      "effects": [],
      "range": ">=6.3.0",
      "nodes": [
        "node_modules/@wikimedia/mw-node-qunit"
      ],
      "fixAvailable": {
        "name": "@wikimedia/mw-node-qunit",
        "version": "6.2.1",
        "isSemVerMajor": true
      }
    },
    "basic-ftp": {
      "name": "basic-ftp",
      "severity": "high",
      "isDirect": false,
      "via": [
        {
          "source": 1117083,
          "name": "basic-ftp",
          "dependency": "basic-ftp",
          "title": "basic-ftp vulnerable to denial of service via unbounded memory consumption in Client.list()",
          "url": "https://github.com/advisories/GHSA-rp42-5vxx-qpwr",
          "severity": "high",
          "cwe": [
            "CWE-400",
            "CWE-770"
          ],
          "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": "<=5.2.2"
        }
      ],
      "effects": [],
      "range": "<=5.2.2",
      "nodes": [
        "node_modules/basic-ftp"
      ],
      "fixAvailable": true
    },
    "fast-xml-parser": {
      "name": "fast-xml-parser",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        {
          "source": 1116957,
          "name": "fast-xml-parser",
          "dependency": "fast-xml-parser",
          "title": "fast-xml-parser XMLBuilder: XML Comment and CDATA Injection via Unescaped Delimiters",
          "url": "https://github.com/advisories/GHSA-gh4j-gqv2-49f6",
          "severity": "moderate",
          "cwe": [
            "CWE-91"
          ],
          "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": "<5.7.0"
        }
      ],
      "effects": [],
      "range": "<5.7.0",
      "nodes": [
        "node_modules/fast-xml-parser"
      ],
      "fixAvailable": true
    },
    "http-proxy-agent": {
      "name": "http-proxy-agent",
      "severity": "low",
      "isDirect": false,
      "via": [
        "@tootallnate/once"
      ],
      "effects": [
        "jsdom"
      ],
      "range": "4.0.1 - 5.0.0",
      "nodes": [
        "node_modules/jest-environment-jsdom/node_modules/http-proxy-agent",
        "node_modules/jsdom/node_modules/http-proxy-agent"
      ],
      "fixAvailable": {
        "name": "jest-environment-jsdom",
        "version": "30.3.0",
        "isSemVerMajor": true
      }
    },
    "jest-environment-jsdom": {
      "name": "jest-environment-jsdom",
      "severity": "low",
      "isDirect": true,
      "via": [
        "jsdom"
      ],
      "effects": [],
      "range": "27.0.1 - 30.0.0-rc.1",
      "nodes": [
        "node_modules/jest-environment-jsdom"
      ],
      "fixAvailable": {
        "name": "jest-environment-jsdom",
        "version": "30.3.0",
        "isSemVerMajor": true
      }
    },
    "jsdom": {
      "name": "jsdom",
      "severity": "low",
      "isDirect": false,
      "via": [
        "http-proxy-agent"
      ],
      "effects": [
        "@wikimedia/mw-node-qunit",
        "jest-environment-jsdom"
      ],
      "range": "16.6.0 - 22.1.0",
      "nodes": [
        "node_modules/jest-environment-jsdom/node_modules/jsdom",
        "node_modules/jsdom"
      ],
      "fixAvailable": {
        "name": "jest-environment-jsdom",
        "version": "30.3.0",
        "isSemVerMajor": true
      }
    },
    "mocha": {
      "name": "mocha",
      "severity": "high",
      "isDirect": false,
      "via": [
        "serialize-javascript"
      ],
      "effects": [
        "@wdio/mocha-framework"
      ],
      "range": "8.0.0 - 12.0.0-beta-2",
      "nodes": [
        "node_modules/mocha"
      ],
      "fixAvailable": {
        "name": "@wdio/mocha-framework",
        "version": "6.1.17",
        "isSemVerMajor": true
      }
    },
    "postcss": {
      "name": "postcss",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        {
          "source": 1117015,
          "name": "postcss",
          "dependency": "postcss",
          "title": "PostCSS has XSS via Unescaped </style> in its CSS Stringify Output",
          "url": "https://github.com/advisories/GHSA-qx2v-qp2m-jg93",
          "severity": "moderate",
          "cwe": [
            "CWE-79"
          ],
          "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": "<8.5.10"
        }
      ],
      "effects": [],
      "range": "<8.5.10",
      "nodes": [
        "node_modules/postcss"
      ],
      "fixAvailable": true
    },
    "rollup": {
      "name": "rollup",
      "severity": "high",
      "isDirect": true,
      "via": [
        {
          "source": 1113515,
          "name": "rollup",
          "dependency": "rollup",
          "title": "Rollup 4 has Arbitrary File Write via Path Traversal",
          "url": "https://github.com/advisories/GHSA-mw96-cpmx-2vgc",
          "severity": "high",
          "cwe": [
            "CWE-22"
          ],
          "cvss": {
            "score": 0,
            "vectorString": null
          },
          "range": ">=4.0.0 <4.59.0"
        }
      ],
      "effects": [],
      "range": "4.0.0 - 4.58.0",
      "nodes": [
        "node_modules/rollup"
      ],
      "fixAvailable": {
        "name": "rollup",
        "version": "4.60.2",
        "isSemVerMajor": false
      }
    },
    "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": 1115723,
          "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": "<7.0.5"
        }
      ],
      "effects": [
        "mocha"
      ],
      "range": "<=7.0.4",
      "nodes": [
        "node_modules/serialize-javascript"
      ],
      "fixAvailable": {
        "name": "@wdio/mocha-framework",
        "version": "6.1.17",
        "isSemVerMajor": true
      }
    }
  },
  "metadata": {
    "vulnerabilities": {
      "info": 0,
      "low": 5,
      "moderate": 2,
      "high": 5,
      "critical": 0,
      "total": 12
    },
    "dependencies": {
      "prod": 1,
      "dev": 1399,
      "optional": 100,
      "peer": 17,
      "peerOptional": 0,
      "total": 1399
    }
  }
}

--- end ---
$ /usr/bin/composer install
--- stderr ---
No composer.lock file present. Updating dependencies to latest instead of installing from lock file. See https://getcomposer.org/install for more information.
Loading composer repositories with package information
Updating dependencies
Lock file operations: 37 installs, 0 updates, 0 removals
  - Locking composer/pcre (3.3.2)
  - Locking composer/semver (3.4.4)
  - Locking composer/spdx-licenses (1.5.10)
  - Locking composer/xdebug-handler (3.0.5)
  - Locking danog/advanced-json-rpc (v3.2.3)
  - Locking dealerdirect/phpcodesniffer-composer-installer (v1.2.0)
  - Locking doctrine/deprecations (1.1.6)
  - Locking mediawiki/mediawiki-codesniffer (v50.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.4.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.0.1)
  - Locking squizlabs/php_codesniffer (3.13.5)
  - Locking symfony/console (v8.0.8)
  - Locking symfony/deprecation-contracts (v3.6.0)
  - Locking symfony/polyfill-ctype (v1.37.0)
  - Locking symfony/polyfill-intl-grapheme (v1.37.0)
  - Locking symfony/polyfill-intl-normalizer (v1.37.0)
  - Locking symfony/polyfill-mbstring (v1.37.0)
  - Locking symfony/service-contracts (v3.6.1)
  - Locking symfony/string (v8.0.8)
  - Locking webmozart/assert (2.3.0)
Writing lock file
Installing dependencies from lock file (including require-dev)
Package operations: 37 installs, 0 updates, 0 removals
    0 [>---------------------------]    0 [->--------------------------]
  - Installing squizlabs/php_codesniffer (3.13.5): Extracting archive
  - Installing dealerdirect/phpcodesniffer-composer-installer (v1.2.0): Extracting archive
  - Installing composer/pcre (3.3.2): Extracting archive
  - Installing phpcsstandards/phpcsutils (1.2.2): Extracting archive
  - Installing phpcsstandards/phpcsextra (1.4.0): Extracting archive
  - Installing symfony/polyfill-mbstring (v1.37.0): Extracting archive
  - Installing composer/spdx-licenses (1.5.10): Extracting archive
  - Installing composer/semver (3.4.4): Extracting archive
  - Installing mediawiki/mediawiki-codesniffer (v50.0.0): Extracting archive
  - Installing symfony/polyfill-intl-normalizer (v1.37.0): Extracting archive
  - Installing symfony/polyfill-intl-grapheme (v1.37.0): Extracting archive
  - Installing symfony/polyfill-ctype (v1.37.0): Extracting archive
  - Installing symfony/string (v8.0.8): Extracting archive
  - Installing symfony/deprecation-contracts (v3.6.0): Extracting archive
  - Installing psr/container (2.0.2): Extracting archive
  - Installing symfony/service-contracts (v3.6.1): Extracting archive
  - Installing symfony/console (v8.0.8): Extracting archive
  - Installing sabre/event (6.0.1): Extracting archive
  - Installing phan/var_representation_polyfill (0.1.4): Extracting archive
  - Installing phan/tolerant-php-parser (v0.2.0): Extracting archive
  - Installing netresearch/jsonmapper (v5.0.1): Extracting archive
  - Installing webmozart/assert (2.3.0): Extracting archive
  - Installing phpstan/phpdoc-parser (2.3.2): Extracting archive
  - Installing phpdocumentor/reflection-common (2.2.0): Extracting archive
  - Installing doctrine/deprecations (1.1.6): Extracting archive
  - Installing phpdocumentor/type-resolver (2.0.0): Extracting archive
  - Installing phpdocumentor/reflection-docblock (6.0.3): Extracting archive
  - Installing danog/advanced-json-rpc (v3.2.3): Extracting archive
  - Installing psr/log (3.0.2): Extracting archive
  - Installing composer/xdebug-handler (3.0.5): Extracting archive
  - Installing phan/phan (6.0.2): Extracting archive
  - Installing mediawiki/phan-taint-check-plugin (9.1.0): Extracting archive
  - Installing mediawiki/mediawiki-phan-config (0.20.0): Extracting archive
  - Installing mediawiki/minus-x (2.0.1): Extracting archive
  - Installing php-parallel-lint/php-console-color (v1.0.1): Extracting archive
  - Installing php-parallel-lint/php-console-highlighter (v1.0.0): Extracting archive
  - Installing php-parallel-lint/php-parallel-lint (v1.4.0): Extracting archive
  0/35 [>---------------------------]   0%
 10/35 [========>-------------------]  28%
 26/35 [====================>-------]  74%
 34/35 [===========================>]  97%
 35/35 [============================] 100%
1 package suggestions were added by new dependencies, use `composer suggest` to see details.
Generating autoload files
16 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
--- stdout ---
PHP CodeSniffer Config installed_paths set to ../../mediawiki/mediawiki-codesniffer,../../phpcsstandards/phpcsextra,../../phpcsstandards/phpcsutils

--- end ---
$ /usr/bin/npm audit --json
--- stdout ---
{
  "auditReportVersion": 2,
  "vulnerabilities": {
    "@tootallnate/once": {
      "name": "@tootallnate/once",
      "severity": "low",
      "isDirect": false,
      "via": [
        {
          "source": 1113977,
          "name": "@tootallnate/once",
          "dependency": "@tootallnate/once",
          "title": "@tootallnate/once vulnerable to Incorrect Control Flow Scoping",
          "url": "https://github.com/advisories/GHSA-vpq2-c234-7xj6",
          "severity": "low",
          "cwe": [
            "CWE-705"
          ],
          "cvss": {
            "score": 3.3,
            "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:L"
          },
          "range": "<3.0.1"
        }
      ],
      "effects": [
        "http-proxy-agent"
      ],
      "range": "<3.0.1",
      "nodes": [
        "node_modules/@tootallnate/once"
      ],
      "fixAvailable": {
        "name": "@wikimedia/mw-node-qunit",
        "version": "6.2.1",
        "isSemVerMajor": true
      }
    },
    "@wdio/mocha-framework": {
      "name": "@wdio/mocha-framework",
      "severity": "high",
      "isDirect": true,
      "via": [
        "mocha"
      ],
      "effects": [],
      "range": ">=6.1.19",
      "nodes": [
        "node_modules/@wdio/mocha-framework"
      ],
      "fixAvailable": {
        "name": "@wdio/mocha-framework",
        "version": "6.1.17",
        "isSemVerMajor": true
      }
    },
    "@wikimedia/mw-node-qunit": {
      "name": "@wikimedia/mw-node-qunit",
      "severity": "low",
      "isDirect": true,
      "via": [
        "jsdom"
      ],
      "effects": [],
      "range": ">=6.3.0",
      "nodes": [
        "node_modules/@wikimedia/mw-node-qunit"
      ],
      "fixAvailable": {
        "name": "@wikimedia/mw-node-qunit",
        "version": "6.2.1",
        "isSemVerMajor": true
      }
    },
    "basic-ftp": {
      "name": "basic-ftp",
      "severity": "high",
      "isDirect": false,
      "via": [
        {
          "source": 1117083,
          "name": "basic-ftp",
          "dependency": "basic-ftp",
          "title": "basic-ftp vulnerable to denial of service via unbounded memory consumption in Client.list()",
          "url": "https://github.com/advisories/GHSA-rp42-5vxx-qpwr",
          "severity": "high",
          "cwe": [
            "CWE-400",
            "CWE-770"
          ],
          "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": "<=5.2.2"
        }
      ],
      "effects": [],
      "range": "<=5.2.2",
      "nodes": [
        "node_modules/basic-ftp"
      ],
      "fixAvailable": true
    },
    "fast-xml-parser": {
      "name": "fast-xml-parser",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        {
          "source": 1116957,
          "name": "fast-xml-parser",
          "dependency": "fast-xml-parser",
          "title": "fast-xml-parser XMLBuilder: XML Comment and CDATA Injection via Unescaped Delimiters",
          "url": "https://github.com/advisories/GHSA-gh4j-gqv2-49f6",
          "severity": "moderate",
          "cwe": [
            "CWE-91"
          ],
          "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": "<5.7.0"
        }
      ],
      "effects": [],
      "range": "<5.7.0",
      "nodes": [
        "node_modules/fast-xml-parser"
      ],
      "fixAvailable": true
    },
    "http-proxy-agent": {
      "name": "http-proxy-agent",
      "severity": "low",
      "isDirect": false,
      "via": [
        "@tootallnate/once"
      ],
      "effects": [
        "jsdom"
      ],
      "range": "4.0.1 - 5.0.0",
      "nodes": [
        "node_modules/jest-environment-jsdom/node_modules/http-proxy-agent",
        "node_modules/jsdom/node_modules/http-proxy-agent"
      ],
      "fixAvailable": {
        "name": "@wikimedia/mw-node-qunit",
        "version": "6.2.1",
        "isSemVerMajor": true
      }
    },
    "jest-environment-jsdom": {
      "name": "jest-environment-jsdom",
      "severity": "low",
      "isDirect": true,
      "via": [
        "jsdom"
      ],
      "effects": [],
      "range": "27.0.1 - 30.0.0-rc.1",
      "nodes": [
        "node_modules/jest-environment-jsdom"
      ],
      "fixAvailable": {
        "name": "jest-environment-jsdom",
        "version": "30.3.0",
        "isSemVerMajor": true
      }
    },
    "jsdom": {
      "name": "jsdom",
      "severity": "low",
      "isDirect": false,
      "via": [
        "http-proxy-agent"
      ],
      "effects": [
        "@wikimedia/mw-node-qunit",
        "jest-environment-jsdom"
      ],
      "range": "16.6.0 - 22.1.0",
      "nodes": [
        "node_modules/jest-environment-jsdom/node_modules/jsdom",
        "node_modules/jsdom"
      ],
      "fixAvailable": {
        "name": "@wikimedia/mw-node-qunit",
        "version": "6.2.1",
        "isSemVerMajor": true
      }
    },
    "mocha": {
      "name": "mocha",
      "severity": "high",
      "isDirect": false,
      "via": [
        "serialize-javascript"
      ],
      "effects": [
        "@wdio/mocha-framework"
      ],
      "range": "8.0.0 - 12.0.0-beta-2",
      "nodes": [
        "node_modules/mocha"
      ],
      "fixAvailable": {
        "name": "@wdio/mocha-framework",
        "version": "6.1.17",
        "isSemVerMajor": true
      }
    },
    "postcss": {
      "name": "postcss",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        {
          "source": 1117015,
          "name": "postcss",
          "dependency": "postcss",
          "title": "PostCSS has XSS via Unescaped </style> in its CSS Stringify Output",
          "url": "https://github.com/advisories/GHSA-qx2v-qp2m-jg93",
          "severity": "moderate",
          "cwe": [
            "CWE-79"
          ],
          "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": "<8.5.10"
        }
      ],
      "effects": [],
      "range": "<8.5.10",
      "nodes": [
        "node_modules/postcss"
      ],
      "fixAvailable": true
    },
    "rollup": {
      "name": "rollup",
      "severity": "high",
      "isDirect": true,
      "via": [
        {
          "source": 1113515,
          "name": "rollup",
          "dependency": "rollup",
          "title": "Rollup 4 has Arbitrary File Write via Path Traversal",
          "url": "https://github.com/advisories/GHSA-mw96-cpmx-2vgc",
          "severity": "high",
          "cwe": [
            "CWE-22"
          ],
          "cvss": {
            "score": 0,
            "vectorString": null
          },
          "range": ">=4.0.0 <4.59.0"
        }
      ],
      "effects": [],
      "range": "4.0.0 - 4.58.0",
      "nodes": [
        "node_modules/rollup"
      ],
      "fixAvailable": {
        "name": "rollup",
        "version": "4.60.2",
        "isSemVerMajor": false
      }
    },
    "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": 1115723,
          "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": "<7.0.5"
        }
      ],
      "effects": [
        "mocha"
      ],
      "range": "<=7.0.4",
      "nodes": [
        "node_modules/serialize-javascript"
      ],
      "fixAvailable": {
        "name": "@wdio/mocha-framework",
        "version": "6.1.17",
        "isSemVerMajor": true
      }
    }
  },
  "metadata": {
    "vulnerabilities": {
      "info": 0,
      "low": 5,
      "moderate": 2,
      "high": 5,
      "critical": 0,
      "total": 12
    },
    "dependencies": {
      "prod": 1,
      "dev": 1399,
      "optional": 100,
      "peer": 17,
      "peerOptional": 0,
      "total": 1399
    }
  }
}

--- end ---
Attempting to npm audit fix
$ /usr/bin/npm audit fix --dry-run --only=dev --json
--- stderr ---
npm WARN invalid config only="dev" set in command line options
npm WARN invalid config Must be one of: null, prod, production
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: 'luacheck-browserify@0.10.0',
npm WARN EBADENGINE   required: { node: '>=20.19.5' },
npm WARN EBADENGINE   current: { node: 'v20.19.2', npm: '9.2.0' }
npm WARN EBADENGINE }
--- stdout ---
{
  "added": 1400,
  "removed": 0,
  "changed": 0,
  "audited": 1401,
  "funding": 225,
  "audit": {
    "auditReportVersion": 2,
    "vulnerabilities": {
      "@tootallnate/once": {
        "name": "@tootallnate/once",
        "severity": "low",
        "isDirect": false,
        "via": [
          {
            "source": 1113977,
            "name": "@tootallnate/once",
            "dependency": "@tootallnate/once",
            "title": "@tootallnate/once vulnerable to Incorrect Control Flow Scoping",
            "url": "https://github.com/advisories/GHSA-vpq2-c234-7xj6",
            "severity": "low",
            "cwe": [
              "CWE-705"
            ],
            "cvss": {
              "score": 3.3,
              "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:L"
            },
            "range": "<3.0.1"
          }
        ],
        "effects": [
          "http-proxy-agent"
        ],
        "range": "<3.0.1",
        "nodes": [
          "node_modules/@tootallnate/once"
        ],
        "fixAvailable": {
          "name": "jest-environment-jsdom",
          "version": "30.3.0",
          "isSemVerMajor": true
        }
      },
      "@wdio/mocha-framework": {
        "name": "@wdio/mocha-framework",
        "severity": "high",
        "isDirect": true,
        "via": [
          "mocha"
        ],
        "effects": [],
        "range": ">=6.1.19",
        "nodes": [
          "node_modules/@wdio/mocha-framework"
        ],
        "fixAvailable": {
          "name": "@wdio/mocha-framework",
          "version": "6.1.17",
          "isSemVerMajor": true
        }
      },
      "@wikimedia/mw-node-qunit": {
        "name": "@wikimedia/mw-node-qunit",
        "severity": "low",
        "isDirect": true,
        "via": [
          "jsdom"
        ],
        "effects": [],
        "range": ">=6.3.0",
        "nodes": [
          "node_modules/@wikimedia/mw-node-qunit"
        ],
        "fixAvailable": {
          "name": "@wikimedia/mw-node-qunit",
          "version": "6.2.1",
          "isSemVerMajor": true
        }
      },
      "basic-ftp": {
        "name": "basic-ftp",
        "severity": "high",
        "isDirect": false,
        "via": [
          {
            "source": 1117083,
            "name": "basic-ftp",
            "dependency": "basic-ftp",
            "title": "basic-ftp vulnerable to denial of service via unbounded memory consumption in Client.list()",
            "url": "https://github.com/advisories/GHSA-rp42-5vxx-qpwr",
            "severity": "high",
            "cwe": [
              "CWE-400",
              "CWE-770"
            ],
            "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": "<=5.2.2"
          }
        ],
        "effects": [],
        "range": "<=5.2.2",
        "nodes": [
          ""
        ],
        "fixAvailable": true
      },
      "fast-xml-parser": {
        "name": "fast-xml-parser",
        "severity": "moderate",
        "isDirect": false,
        "via": [
          {
            "source": 1116957,
            "name": "fast-xml-parser",
            "dependency": "fast-xml-parser",
            "title": "fast-xml-parser XMLBuilder: XML Comment and CDATA Injection via Unescaped Delimiters",
            "url": "https://github.com/advisories/GHSA-gh4j-gqv2-49f6",
            "severity": "moderate",
            "cwe": [
              "CWE-91"
            ],
            "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": "<5.7.0"
          }
        ],
        "effects": [],
        "range": "<5.7.0",
        "nodes": [
          ""
        ],
        "fixAvailable": true
      },
      "http-proxy-agent": {
        "name": "http-proxy-agent",
        "severity": "low",
        "isDirect": false,
        "via": [
          "@tootallnate/once"
        ],
        "effects": [
          "jsdom"
        ],
        "range": "4.0.1 - 5.0.0",
        "nodes": [
          "node_modules/jest-environment-jsdom/node_modules/http-proxy-agent",
          "node_modules/jsdom/node_modules/http-proxy-agent"
        ],
        "fixAvailable": {
          "name": "jest-environment-jsdom",
          "version": "30.3.0",
          "isSemVerMajor": true
        }
      },
      "jest-environment-jsdom": {
        "name": "jest-environment-jsdom",
        "severity": "low",
        "isDirect": true,
        "via": [
          "jsdom"
        ],
        "effects": [],
        "range": "27.0.1 - 30.0.0-rc.1",
        "nodes": [
          "node_modules/jest-environment-jsdom"
        ],
        "fixAvailable": {
          "name": "jest-environment-jsdom",
          "version": "30.3.0",
          "isSemVerMajor": true
        }
      },
      "jsdom": {
        "name": "jsdom",
        "severity": "low",
        "isDirect": false,
        "via": [
          "http-proxy-agent"
        ],
        "effects": [
          "@wikimedia/mw-node-qunit",
          "jest-environment-jsdom"
        ],
        "range": "16.6.0 - 22.1.0",
        "nodes": [
          "node_modules/jest-environment-jsdom/node_modules/jsdom",
          "node_modules/jsdom"
        ],
        "fixAvailable": {
          "name": "jest-environment-jsdom",
          "version": "30.3.0",
          "isSemVerMajor": true
        }
      },
      "mocha": {
        "name": "mocha",
        "severity": "high",
        "isDirect": false,
        "via": [
          "serialize-javascript"
        ],
        "effects": [
          "@wdio/mocha-framework"
        ],
        "range": "8.0.0 - 12.0.0-beta-2",
        "nodes": [
          "node_modules/mocha"
        ],
        "fixAvailable": {
          "name": "@wdio/mocha-framework",
          "version": "6.1.17",
          "isSemVerMajor": true
        }
      },
      "postcss": {
        "name": "postcss",
        "severity": "moderate",
        "isDirect": false,
        "via": [
          {
            "source": 1117015,
            "name": "postcss",
            "dependency": "postcss",
            "title": "PostCSS has XSS via Unescaped </style> in its CSS Stringify Output",
            "url": "https://github.com/advisories/GHSA-qx2v-qp2m-jg93",
            "severity": "moderate",
            "cwe": [
              "CWE-79"
            ],
            "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": "<8.5.10"
          }
        ],
        "effects": [],
        "range": "<8.5.10",
        "nodes": [
          ""
        ],
        "fixAvailable": true
      },
      "rollup": {
        "name": "rollup",
        "severity": "high",
        "isDirect": true,
        "via": [
          {
            "source": 1113515,
            "name": "rollup",
            "dependency": "rollup",
            "title": "Rollup 4 has Arbitrary File Write via Path Traversal",
            "url": "https://github.com/advisories/GHSA-mw96-cpmx-2vgc",
            "severity": "high",
            "cwe": [
              "CWE-22"
            ],
            "cvss": {
              "score": 0,
              "vectorString": null
            },
            "range": ">=4.0.0 <4.59.0"
          }
        ],
        "effects": [],
        "range": "4.0.0 - 4.58.0",
        "nodes": [
          "node_modules/rollup"
        ],
        "fixAvailable": {
          "name": "rollup",
          "version": "4.60.2",
          "isSemVerMajor": false
        }
      },
      "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": 1115723,
            "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": "<7.0.5"
          }
        ],
        "effects": [
          "mocha"
        ],
        "range": "<=7.0.4",
        "nodes": [
          "node_modules/serialize-javascript"
        ],
        "fixAvailable": {
          "name": "@wdio/mocha-framework",
          "version": "6.1.17",
          "isSemVerMajor": true
        }
      }
    },
    "metadata": {
      "vulnerabilities": {
        "info": 0,
        "low": 5,
        "moderate": 2,
        "high": 5,
        "critical": 0,
        "total": 12
      },
      "dependencies": {
        "prod": 1,
        "dev": 1400,
        "optional": 100,
        "peer": 17,
        "peerOptional": 0,
        "total": 1400
      }
    }
  }
}

--- end ---
{"added": 1400, "removed": 0, "changed": 0, "audited": 1401, "funding": 225, "audit": {"auditReportVersion": 2, "vulnerabilities": {"@tootallnate/once": {"name": "@tootallnate/once", "severity": "low", "isDirect": false, "via": [{"source": 1113977, "name": "@tootallnate/once", "dependency": "@tootallnate/once", "title": "@tootallnate/once vulnerable to Incorrect Control Flow Scoping", "url": "https://github.com/advisories/GHSA-vpq2-c234-7xj6", "severity": "low", "cwe": ["CWE-705"], "cvss": {"score": 3.3, "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:L"}, "range": "<3.0.1"}], "effects": ["http-proxy-agent"], "range": "<3.0.1", "nodes": ["node_modules/@tootallnate/once"], "fixAvailable": {"name": "jest-environment-jsdom", "version": "30.3.0", "isSemVerMajor": true}}, "@wdio/mocha-framework": {"name": "@wdio/mocha-framework", "severity": "high", "isDirect": true, "via": ["mocha"], "effects": [], "range": ">=6.1.19", "nodes": ["node_modules/@wdio/mocha-framework"], "fixAvailable": {"name": "@wdio/mocha-framework", "version": "6.1.17", "isSemVerMajor": true}}, "@wikimedia/mw-node-qunit": {"name": "@wikimedia/mw-node-qunit", "severity": "low", "isDirect": true, "via": ["jsdom"], "effects": [], "range": ">=6.3.0", "nodes": ["node_modules/@wikimedia/mw-node-qunit"], "fixAvailable": {"name": "@wikimedia/mw-node-qunit", "version": "6.2.1", "isSemVerMajor": true}}, "basic-ftp": {"name": "basic-ftp", "severity": "high", "isDirect": false, "via": [{"source": 1117083, "name": "basic-ftp", "dependency": "basic-ftp", "title": "basic-ftp vulnerable to denial of service via unbounded memory consumption in Client.list()", "url": "https://github.com/advisories/GHSA-rp42-5vxx-qpwr", "severity": "high", "cwe": ["CWE-400", "CWE-770"], "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": "<=5.2.2"}], "effects": [], "range": "<=5.2.2", "nodes": [""], "fixAvailable": true}, "fast-xml-parser": {"name": "fast-xml-parser", "severity": "moderate", "isDirect": false, "via": [{"source": 1116957, "name": "fast-xml-parser", "dependency": "fast-xml-parser", "title": "fast-xml-parser XMLBuilder: XML Comment and CDATA Injection via Unescaped Delimiters", "url": "https://github.com/advisories/GHSA-gh4j-gqv2-49f6", "severity": "moderate", "cwe": ["CWE-91"], "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": "<5.7.0"}], "effects": [], "range": "<5.7.0", "nodes": [""], "fixAvailable": true}, "http-proxy-agent": {"name": "http-proxy-agent", "severity": "low", "isDirect": false, "via": ["@tootallnate/once"], "effects": ["jsdom"], "range": "4.0.1 - 5.0.0", "nodes": ["node_modules/jest-environment-jsdom/node_modules/http-proxy-agent", "node_modules/jsdom/node_modules/http-proxy-agent"], "fixAvailable": {"name": "jest-environment-jsdom", "version": "30.3.0", "isSemVerMajor": true}}, "jest-environment-jsdom": {"name": "jest-environment-jsdom", "severity": "low", "isDirect": true, "via": ["jsdom"], "effects": [], "range": "27.0.1 - 30.0.0-rc.1", "nodes": ["node_modules/jest-environment-jsdom"], "fixAvailable": {"name": "jest-environment-jsdom", "version": "30.3.0", "isSemVerMajor": true}}, "jsdom": {"name": "jsdom", "severity": "low", "isDirect": false, "via": ["http-proxy-agent"], "effects": ["@wikimedia/mw-node-qunit", "jest-environment-jsdom"], "range": "16.6.0 - 22.1.0", "nodes": ["node_modules/jest-environment-jsdom/node_modules/jsdom", "node_modules/jsdom"], "fixAvailable": {"name": "jest-environment-jsdom", "version": "30.3.0", "isSemVerMajor": true}}, "mocha": {"name": "mocha", "severity": "high", "isDirect": false, "via": ["serialize-javascript"], "effects": ["@wdio/mocha-framework"], "range": "8.0.0 - 12.0.0-beta-2", "nodes": ["node_modules/mocha"], "fixAvailable": {"name": "@wdio/mocha-framework", "version": "6.1.17", "isSemVerMajor": true}}, "postcss": {"name": "postcss", "severity": "moderate", "isDirect": false, "via": [{"source": 1117015, "name": "postcss", "dependency": "postcss", "title": "PostCSS has XSS via Unescaped </style> in its CSS Stringify Output", "url": "https://github.com/advisories/GHSA-qx2v-qp2m-jg93", "severity": "moderate", "cwe": ["CWE-79"], "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": "<8.5.10"}], "effects": [], "range": "<8.5.10", "nodes": [""], "fixAvailable": true}, "rollup": {"name": "rollup", "severity": "high", "isDirect": true, "via": [{"source": 1113515, "name": "rollup", "dependency": "rollup", "title": "Rollup 4 has Arbitrary File Write via Path Traversal", "url": "https://github.com/advisories/GHSA-mw96-cpmx-2vgc", "severity": "high", "cwe": ["CWE-22"], "cvss": {"score": 0, "vectorString": null}, "range": ">=4.0.0 <4.59.0"}], "effects": [], "range": "4.0.0 - 4.58.0", "nodes": ["node_modules/rollup"], "fixAvailable": {"name": "rollup", "version": "4.60.2", "isSemVerMajor": false}}, "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": 1115723, "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": "<7.0.5"}], "effects": ["mocha"], "range": "<=7.0.4", "nodes": ["node_modules/serialize-javascript"], "fixAvailable": {"name": "@wdio/mocha-framework", "version": "6.1.17", "isSemVerMajor": true}}}, "metadata": {"vulnerabilities": {"info": 0, "low": 5, "moderate": 2, "high": 5, "critical": 0, "total": 12}, "dependencies": {"prod": 1, "dev": 1400, "optional": 100, "peer": 17, "peerOptional": 0, "total": 1400}}}}
{}
Upgrading n:rollup from 4.22.4 -> 4.60.2
$ /usr/bin/npm audit fix --only=dev
--- stderr ---
npm WARN invalid config only="dev" set in command line options
npm WARN invalid config Must be one of: null, prod, production
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: 'luacheck-browserify@0.10.0',
npm WARN EBADENGINE   required: { node: '>=20.19.5' },
npm WARN EBADENGINE   current: { node: 'v20.19.2', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN deprecated inflight@1.0.6: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.
npm WARN deprecated lodash.get@4.4.2: This package is deprecated. Use the optional chaining (?.) operator instead.
npm WARN deprecated @humanwhocodes/config-array@0.13.0: Use @eslint/config-array instead
npm WARN deprecated whatwg-encoding@3.1.1: Use @exodus/bytes instead for a more spec-conformant and faster implementation
npm WARN deprecated whatwg-encoding@2.0.0: Use @exodus/bytes instead for a more spec-conformant and faster implementation
npm WARN deprecated rimraf@3.0.2: Rimraf versions prior to v4 are no longer supported
npm WARN deprecated abab@2.0.6: Use your platform's native atob() and btoa() methods instead
npm WARN deprecated @humanwhocodes/object-schema@2.0.3: Use @eslint/object-schema instead
npm WARN deprecated glob@7.2.3: 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@7.2.3: 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@8.1.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@7.2.3: 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@7.2.3: 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@7.2.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@7.2.3: 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 domexception@4.0.0: Use your platform's native DOMException instead
npm WARN deprecated @sinonjs/text-encoding@0.7.3: Deprecated: no longer maintained and no longer used by Sinon packages. See
npm WARN deprecated   https://github.com/sinonjs/nise/issues/243 for replacement details.
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 sinon@12.0.1: 16.1.1
npm WARN deprecated eslint@8.57.1: This version is no longer supported. Please see https://eslint.org/version-support for other options.
--- stdout ---

added 1335 packages, and audited 1336 packages in 26s

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

# npm audit report

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

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@6.1.17, which is a breaking change
node_modules/serialize-javascript
  mocha  8.0.0 - 12.0.0-beta-2
  Depends on vulnerable versions of serialize-javascript
  node_modules/mocha
    @wdio/mocha-framework  >=6.1.19
    Depends on vulnerable versions of mocha
    node_modules/@wdio/mocha-framework

8 vulnerabilities (5 low, 3 high)

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

--- end ---
Verifying that tests still pass
$ /usr/bin/npm ci
--- stderr ---
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: 'luacheck-browserify@0.10.0',
npm WARN EBADENGINE   required: { node: '>=20.19.5' },
npm WARN EBADENGINE   current: { node: 'v20.19.2', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN deprecated inflight@1.0.6: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.
npm WARN deprecated lodash.get@4.4.2: This package is deprecated. Use the optional chaining (?.) operator instead.
npm WARN deprecated @humanwhocodes/config-array@0.13.0: Use @eslint/config-array instead
npm WARN deprecated whatwg-encoding@3.1.1: Use @exodus/bytes instead for a more spec-conformant and faster implementation
npm WARN deprecated whatwg-encoding@2.0.0: Use @exodus/bytes instead for a more spec-conformant and faster implementation
npm WARN deprecated rimraf@3.0.2: Rimraf versions prior to v4 are no longer supported
npm WARN deprecated abab@2.0.6: Use your platform's native atob() and btoa() methods instead
npm WARN deprecated @humanwhocodes/object-schema@2.0.3: Use @eslint/object-schema instead
npm WARN deprecated glob@7.2.3: 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@7.2.3: 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@8.1.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@7.2.3: 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@7.2.3: 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@7.2.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@7.2.3: 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 domexception@4.0.0: Use your platform's native DOMException instead
npm WARN deprecated @sinonjs/text-encoding@0.7.3: Deprecated: no longer maintained and no longer used by Sinon packages. See
npm WARN deprecated   https://github.com/sinonjs/nise/issues/243 for replacement details.
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 sinon@12.0.1: 16.1.1
npm WARN deprecated eslint@8.57.1: This version is no longer supported. Please see https://eslint.org/version-support for other options.
--- stdout ---

added 1335 packages, and audited 1336 packages in 42s

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

8 vulnerabilities (5 low, 3 high)

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

Run `npm audit` for details.

--- end ---
$ /usr/bin/npm test
--- stderr ---
PASS tests/jest/codemirror.preferences.test.js (5.954 s)
PASS tests/jest/modes/codemirror.mediawiki.test.js (8.253 s)
PASS tests/jest/codemirror.test.js (9.109 s)
PASS tests/jest/codemirror.wikieditor.test.js
PASS tests/jest/modes/codemirror.mediawiki.parser.test.js
PASS tests/jest/modes/codemirror.mediawiki.lint.test.js
PASS tests/jest/modes/codemirror.json.lint.test.js
PASS tests/jest/codemirror.codex.test.js
PASS tests/jest/codemirror.search.test.js
PASS tests/jest/modes/codemirror.mediawiki.autocomplete.test.js
PASS tests/jest/codemirror.extensionRegistry.test.js
PASS tests/jest/codemirror.lint.test.js
PASS tests/jest/codemirror.keymap.test.js
PASS tests/jest/codemirror.matchbrackets.test.js
PASS tests/jest/codemirror.visualEditor.test.js
PASS tests/jest/modes/codemirror.mediawiki.keymap.test.js
PASS tests/jest/modes/codemirror.lua.autocomplete.test.js
PASS tests/jest/codemirror.child.test.js
PASS tests/jest/modes/codemirror.mediawiki.bidiIsolation.test.js
PASS tests/jest/codemirror.gotoLine.test.js
PASS tests/jest/modes/codemirror.mediawiki.matchTag.test.js
PASS tests/jest/modes/codemirror.css.test.js
PASS tests/jest/modes/codemirror.javascript.test.js (6.51 s)
PASS tests/jest/modes/codemirror.mediawiki.openLinks.test.js
PASS tests/jest/modes/codemirror.css.autocomplete.test.js
PASS tests/jest/modes/codemirror.javascript.autocomplete.test.js
PASS tests/jest/modes/codemirror.lua.codeFolding.test.js
PASS tests/jest/codemirror.init.test.js

Test Suites: 28 passed, 28 total
Tests:       3175 passed, 3175 total
Snapshots:   0 total
Time:        20.395 s
Ran all test suites.

resources/codemirror.bundle.lib.js → resources/lib/codemirror.bundle.lib.js...
created resources/lib/codemirror.bundle.lib.js in 2s

resources/modes/codemirror.bundle.modes.js → resources/lib/codemirror.bundle.modes.js...
(!) Conflicting re-exports
"resources/modes/codemirror.bundle.modes.js" re-exports "autoCloseTags" from both "node_modules/@codemirror/lang-javascript/dist/index.js" and "node_modules/@codemirror/lang-html/dist/index.js" (will be ignored).
created resources/lib/codemirror.bundle.modes.js in 393ms

resources/modes/codemirror.bundle.abusefilter.js → resources/lib/codemirror.bundle.abusefilter.js...
created resources/lib/codemirror.bundle.abusefilter.js in 223ms

  resources/workers/css/worker.min.js  674.4kb

⚡ Done in 175ms

  resources/workers/javascript/worker.min.js  1.1mb ⚠️

⚡ Done in 202ms

  resources/workers/lua/worker.min.js  605.1kb

⚡ Done in 59ms

  resources/workers/mediawiki/worker.min.js  122.0kb

⚡ Done in 56ms
--- stdout ---

> test
> npm run test:lint && npm run test:unit && npm run check-built-assets


> test:lint
> npm run test:lint:styles && npm run test:lint:js && npm run test:lint:i18n


> test:lint:styles
> stylelint --cache "resources/**/*.less"


> test:lint:js
> ESLINT_USE_FLAT_CONFIG=false eslint --cache .


> test:lint:i18n
> banana-checker i18n/

Checked 1 message directory.

> test:unit
> jest

----------------------------------------|---------|----------|---------|---------|--------------------------------------------------------------------------------------------------------------------------------
File                                    | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s                                                                                                              
----------------------------------------|---------|----------|---------|---------|--------------------------------------------------------------------------------------------------------------------------------
All files                               |   80.24 |    71.89 |   74.59 |   80.56 |                                                                                                                                
 resources                              |   82.58 |    69.51 |   76.52 |   82.86 |                                                                                                                                
  codemirror.bundle.lib.js              |       0 |        0 |       0 |       0 |                                                                                                                                
  codemirror.child.js                   |    87.5 |      100 |   85.71 |    87.5 | 52-53                                                                                                                          
  codemirror.codex.js                   |   97.05 |    78.72 |   78.57 |   97.05 | 283-284,389,395-396                                                                                                            
  codemirror.extensionRegistry.js       |    92.5 |    84.37 |     100 |    92.5 | 153,188-189                                                                                                                    
  codemirror.gotoLine.js                |   90.62 |    58.06 |     100 |   90.47 | 167,175-179,181                                                                                                                
  codemirror.init.js                    |   19.04 |    22.22 |       0 |   19.04 | 27-88,102-142                                                                                                                  
  codemirror.js                         |    89.2 |    81.28 |   85.13 |   89.45 | 345,450-459,711-718,801,901,915-920,950,1036,1040,1051,1056,1068,1090,1352,1354-1370                                           
  codemirror.keymap.js                  |   97.88 |    90.42 |   94.11 |   97.88 | 245,386,422                                                                                                                    
  codemirror.lint.js                    |   94.39 |    84.21 |   90.47 |   94.28 | 36,41,106-107,176-179                                                                                                          
  codemirror.matchbrackets.js           |    57.6 |    48.23 |   46.66 |   57.77 | 90-95,115,146-155,189-204,249-269                                                                                              
  codemirror.panel.js                   |     100 |      100 |   33.33 |     100 |                                                                                                                                
  codemirror.preferences.js             |   89.03 |    84.46 |   80.95 |   89.38 | 270,503-505,541,584-585,667,681,693-698,710-711,753-759,779-780                                                                
  codemirror.search.js                  |    70.5 |    36.17 |   68.75 |    70.5 | 108-135,209-219,298-303,340-341,352-353,457-496,533-547,559-562                                                                
  codemirror.textSelection.js           |   81.96 |    96.42 |   83.33 |   83.33 | 83-88,191-192,196-197,229-239                                                                                                  
  codemirror.validate.js                |   47.61 |     37.5 |   66.66 |   47.61 | 16-17,21-27,41-47                                                                                                              
  codemirror.visualEditor.js            |   67.53 |       40 |   83.33 |   68.42 | 111-112,272-354                                                                                                                
  codemirror.wikieditor.js              |   72.16 |    64.86 |   55.26 |   73.68 | 66,78,85,104-113,279,300,303,318-346,383,472-488,496,519-524                                                                   
 resources/modes                        |   57.06 |    53.09 |   60.63 |    57.1 |                                                                                                                                
  codemirror.abusefilter.js             |       0 |        0 |       0 |       0 | 1-137                                                                                                                          
  codemirror.bundle.abusefilter.js      |       0 |        0 |       0 |       0 |                                                                                                                                
  codemirror.bundle.modes.js            |       0 |        0 |       0 |       0 |                                                                                                                                
  codemirror.css.js                     |   69.09 |       56 |   57.14 |   68.51 | 39-40,86,101-120,156-158                                                                                                       
  codemirror.doctag.js                  |   43.75 |    31.25 |      80 |   41.93 | 18-44                                                                                                                          
  codemirror.javascript.js              |   63.15 |    61.29 |   81.25 |   63.15 | 94-99,103-123,189,208-209                                                                                                      
  codemirror.json.js                    |       0 |        0 |       0 |       0 | 1-73                                                                                                                           
  codemirror.lua.js                     |   75.83 |    68.23 |   77.27 |   76.06 | 346-364,398,426,437,439,444,456,466,526,535-536,554-557                                                                        
  codemirror.mode.exporter.js           |     100 |      100 |     100 |     100 |                                                                                                                                
  codemirror.mode.js                    |   84.21 |      100 |   72.72 |   83.33 | 69-78,114                                                                                                                      
  codemirror.vue.js                     |     100 |      100 |     100 |     100 |                                                                                                                                
 resources/modes/json                   |   99.41 |    99.03 |     100 |   99.41 |                                                                                                                                
  codemirror.json.lint.js               |   99.41 |    99.03 |     100 |   99.41 | 111                                                                                                                            
 resources/modes/mediawiki              |    81.1 |     74.7 |   76.05 |   81.49 |                                                                                                                                
  codemirror.mediawiki.autocomplete.js  |   71.42 |    55.29 |   58.62 |   71.42 | 50,56-62,67,93-94,101-104,107,111-114,120,135-140,157-158,188,195-201,281                                                      
  codemirror.mediawiki.bidiIsolation.js |     100 |    61.11 |     100 |     100 | 33,92-113                                                                                                                      
  codemirror.mediawiki.closeTags.js     |   17.39 |        0 |       0 |   17.39 | 6-38                                                                                                                           
  codemirror.mediawiki.codeFolding.js   |   55.55 |    49.05 |   46.15 |    56.2 | 136,147,152-161,187,193,204,234-235,249-253,272-281,308-319,331-350,374-431                                                    
  codemirror.mediawiki.config.js        |     100 |      100 |     100 |     100 |                                                                                                                                
  codemirror.mediawiki.js               |   94.85 |    94.72 |   94.28 |   94.81 | 181-200,306-307,383-384,435,519-521,531-534,629-631,1066-1068,1072-1073,1374,1404-1409,1541,1596-1600,1706,1731-1732,1746,1763 
  codemirror.mediawiki.keymap.js        |   78.94 |       70 |   72.22 |   78.94 | 211-212,228-247,312-331,383-388                                                                                                
  codemirror.mediawiki.lint.js          |   52.23 |    25.92 |    40.9 |   53.33 | 25,142,162-189,199-211                                                                                                         
  codemirror.mediawiki.matchTag.js      |   70.49 |    42.85 |   71.42 |   70.68 | 59-63,136-154                                                                                                                  
  codemirror.mediawiki.openLinks.js     |   26.47 |    13.84 |      80 |   26.47 | 61-129                                                                                                                         
----------------------------------------|---------|----------|---------|---------|--------------------------------------------------------------------------------------------------------------------------------

> check-built-assets
> { git status resources/lib/ | grep "nothing to commit, working tree clean"; } && { echo 'CHECKING BUILD SOURCES ARE COMMITTED' && npm run build && git status resources/lib/ | grep "nothing to commit, working tree clean" || { npm run node-debug; false; }; }

nothing to commit, working tree clean
CHECKING BUILD SOURCES ARE COMMITTED

> build
> rollup -c && npm run build:stylelint && npm run build:eslint && npm run build:luacheck && npm run build:wikilint


> build:stylelint
> esbuild resources/workers/css/worker.js --charset=utf8 --bundle --minify --target=es2017 --format=iife --outfile=resources/workers/css/worker.min.js


> build:eslint
> esbuild resources/workers/javascript/worker.js --charset=utf8 --bundle --minify --target=es2017 --format=iife --outfile=resources/workers/javascript/worker.min.js


> build:luacheck
> esbuild resources/workers/lua/worker.js --charset=utf8 --bundle --minify --target=es2017 --format=iife --outfile=resources/workers/lua/worker.min.js


> build:wikilint
> esbuild resources/workers/mediawiki/worker.js --charset=utf8 --bundle --minify --target=es2017 --format=iife --outfile=resources/workers/mediawiki/worker.min.js


> node-debug
> node -v && npm -v && echo 'ERROR: Please ensure that production assets have been built with `npm run build` and committed. For the recommended Node.js version, see .nvmrc.'

v20.19.2
9.2.0
ERROR: Please ensure that production assets have been built with `npm run build` and committed. For the recommended Node.js version, see .nvmrc.

--- end ---
$ node_modules/.bin/jest -u
--- stderr ---
PASS tests/jest/modes/codemirror.mediawiki.test.js (5.287 s)
PASS tests/jest/codemirror.preferences.test.js
PASS tests/jest/modes/codemirror.javascript.test.js (5.874 s)
PASS tests/jest/codemirror.test.js (6.741 s)
PASS tests/jest/modes/codemirror.css.test.js
PASS tests/jest/modes/codemirror.mediawiki.lint.test.js
PASS tests/jest/modes/codemirror.mediawiki.parser.test.js
PASS tests/jest/codemirror.wikieditor.test.js
PASS tests/jest/modes/codemirror.mediawiki.keymap.test.js
PASS tests/jest/codemirror.child.test.js
PASS tests/jest/codemirror.matchbrackets.test.js
PASS tests/jest/codemirror.search.test.js
PASS tests/jest/modes/codemirror.json.lint.test.js
PASS tests/jest/modes/codemirror.javascript.autocomplete.test.js
PASS tests/jest/modes/codemirror.lua.autocomplete.test.js
PASS tests/jest/modes/codemirror.mediawiki.autocomplete.test.js
PASS tests/jest/modes/codemirror.mediawiki.openLinks.test.js
PASS tests/jest/codemirror.visualEditor.test.js
PASS tests/jest/modes/codemirror.css.autocomplete.test.js
PASS tests/jest/codemirror.keymap.test.js
PASS tests/jest/modes/codemirror.mediawiki.matchTag.test.js
PASS tests/jest/modes/codemirror.mediawiki.bidiIsolation.test.js
PASS tests/jest/codemirror.codex.test.js
PASS tests/jest/modes/codemirror.lua.codeFolding.test.js
PASS tests/jest/codemirror.gotoLine.test.js
PASS tests/jest/codemirror.lint.test.js
PASS tests/jest/codemirror.init.test.js
PASS tests/jest/codemirror.extensionRegistry.test.js

Test Suites: 28 passed, 28 total
Tests:       3175 passed, 3175 total
Snapshots:   0 total
Time:        13.383 s, estimated 17 s
Ran all test suites.
--- stdout ---
----------------------------------------|---------|----------|---------|---------|--------------------------------------------------------------------------------------------------------------------------------
File                                    | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s                                                                                                              
----------------------------------------|---------|----------|---------|---------|--------------------------------------------------------------------------------------------------------------------------------
All files                               |   80.24 |    71.89 |   74.59 |   80.56 |                                                                                                                                
 resources                              |   82.58 |    69.51 |   76.52 |   82.86 |                                                                                                                                
  codemirror.bundle.lib.js              |       0 |        0 |       0 |       0 |                                                                                                                                
  codemirror.child.js                   |    87.5 |      100 |   85.71 |    87.5 | 52-53                                                                                                                          
  codemirror.codex.js                   |   97.05 |    78.72 |   78.57 |   97.05 | 283-284,389,395-396                                                                                                            
  codemirror.extensionRegistry.js       |    92.5 |    84.37 |     100 |    92.5 | 153,188-189                                                                                                                    
  codemirror.gotoLine.js                |   90.62 |    58.06 |     100 |   90.47 | 167,175-179,181                                                                                                                
  codemirror.init.js                    |   19.04 |    22.22 |       0 |   19.04 | 27-88,102-142                                                                                                                  
  codemirror.js                         |    89.2 |    81.28 |   85.13 |   89.45 | 345,450-459,711-718,801,901,915-920,950,1036,1040,1051,1056,1068,1090,1352,1354-1370                                           
  codemirror.keymap.js                  |   97.88 |    90.42 |   94.11 |   97.88 | 245,386,422                                                                                                                    
  codemirror.lint.js                    |   94.39 |    84.21 |   90.47 |   94.28 | 36,41,106-107,176-179                                                                                                          
  codemirror.matchbrackets.js           |    57.6 |    48.23 |   46.66 |   57.77 | 90-95,115,146-155,189-204,249-269                                                                                              
  codemirror.panel.js                   |     100 |      100 |   33.33 |     100 |                                                                                                                                
  codemirror.preferences.js             |   89.03 |    84.46 |   80.95 |   89.38 | 270,503-505,541,584-585,667,681,693-698,710-711,753-759,779-780                                                                
  codemirror.search.js                  |    70.5 |    36.17 |   68.75 |    70.5 | 108-135,209-219,298-303,340-341,352-353,457-496,533-547,559-562                                                                
  codemirror.textSelection.js           |   81.96 |    96.42 |   83.33 |   83.33 | 83-88,191-192,196-197,229-239                                                                                                  
  codemirror.validate.js                |   47.61 |     37.5 |   66.66 |   47.61 | 16-17,21-27,41-47                                                                                                              
  codemirror.visualEditor.js            |   67.53 |       40 |   83.33 |   68.42 | 111-112,272-354                                                                                                                
  codemirror.wikieditor.js              |   72.16 |    64.86 |   55.26 |   73.68 | 66,78,85,104-113,279,300,303,318-346,383,472-488,496,519-524                                                                   
 resources/modes                        |   57.06 |    53.09 |   60.63 |    57.1 |                                                                                                                                
  codemirror.abusefilter.js             |       0 |        0 |       0 |       0 | 1-137                                                                                                                          
  codemirror.bundle.abusefilter.js      |       0 |        0 |       0 |       0 |                                                                                                                                
  codemirror.bundle.modes.js            |       0 |        0 |       0 |       0 |                                                                                                                                
  codemirror.css.js                     |   69.09 |       56 |   57.14 |   68.51 | 39-40,86,101-120,156-158                                                                                                       
  codemirror.doctag.js                  |   43.75 |    31.25 |      80 |   41.93 | 18-44                                                                                                                          
  codemirror.javascript.js              |   63.15 |    61.29 |   81.25 |   63.15 | 94-99,103-123,189,208-209                                                                                                      
  codemirror.json.js                    |       0 |        0 |       0 |       0 | 1-73                                                                                                                           
  codemirror.lua.js                     |   75.83 |    68.23 |   77.27 |   76.06 | 346-364,398,426,437,439,444,456,466,526,535-536,554-557                                                                        
  codemirror.mode.exporter.js           |     100 |      100 |     100 |     100 |                                                                                                                                
  codemirror.mode.js                    |   84.21 |      100 |   72.72 |   83.33 | 69-78,114                                                                                                                      
  codemirror.vue.js                     |     100 |      100 |     100 |     100 |                                                                                                                                
 resources/modes/json                   |   99.41 |    99.03 |     100 |   99.41 |                                                                                                                                
  codemirror.json.lint.js               |   99.41 |    99.03 |     100 |   99.41 | 111                                                                                                                            
 resources/modes/mediawiki              |    81.1 |     74.7 |   76.05 |   81.49 |                                                                                                                                
  codemirror.mediawiki.autocomplete.js  |   71.42 |    55.29 |   58.62 |   71.42 | 50,56-62,67,93-94,101-104,107,111-114,120,135-140,157-158,188,195-201,281                                                      
  codemirror.mediawiki.bidiIsolation.js |     100 |    61.11 |     100 |     100 | 33,92-113                                                                                                                      
  codemirror.mediawiki.closeTags.js     |   17.39 |        0 |       0 |   17.39 | 6-38                                                                                                                           
  codemirror.mediawiki.codeFolding.js   |   55.55 |    49.05 |   46.15 |    56.2 | 136,147,152-161,187,193,204,234-235,249-253,272-281,308-319,331-350,374-431                                                    
  codemirror.mediawiki.config.js        |     100 |      100 |     100 |     100 |                                                                                                                                
  codemirror.mediawiki.js               |   94.85 |    94.72 |   94.28 |   94.81 | 181-200,306-307,383-384,435,519-521,531-534,629-631,1066-1068,1072-1073,1374,1404-1409,1541,1596-1600,1706,1731-1732,1746,1763 
  codemirror.mediawiki.keymap.js        |   78.94 |       70 |   72.22 |   78.94 | 211-212,228-247,312-331,383-388                                                                                                
  codemirror.mediawiki.lint.js          |   52.23 |    25.92 |    40.9 |   53.33 | 25,142,162-189,199-211                                                                                                         
  codemirror.mediawiki.matchTag.js      |   70.49 |    42.85 |   71.42 |   70.68 | 59-63,136-154                                                                                                                  
  codemirror.mediawiki.openLinks.js     |   26.47 |    13.84 |      80 |   26.47 | 61-129                                                                                                                         
----------------------------------------|---------|----------|---------|---------|--------------------------------------------------------------------------------------------------------------------------------

--- end ---
$ /usr/bin/npm test
--- stderr ---
PASS tests/jest/modes/codemirror.mediawiki.test.js
PASS tests/jest/modes/codemirror.javascript.test.js
PASS tests/jest/codemirror.test.js
PASS tests/jest/codemirror.wikieditor.test.js
PASS tests/jest/codemirror.matchbrackets.test.js
PASS tests/jest/modes/codemirror.mediawiki.parser.test.js
PASS tests/jest/codemirror.child.test.js
PASS tests/jest/modes/codemirror.css.test.js
PASS tests/jest/modes/codemirror.mediawiki.lint.test.js
PASS tests/jest/codemirror.search.test.js
PASS tests/jest/modes/codemirror.mediawiki.keymap.test.js
PASS tests/jest/modes/codemirror.lua.codeFolding.test.js
PASS tests/jest/codemirror.keymap.test.js
PASS tests/jest/codemirror.visualEditor.test.js
PASS tests/jest/modes/codemirror.mediawiki.openLinks.test.js
PASS tests/jest/modes/codemirror.mediawiki.autocomplete.test.js
PASS tests/jest/codemirror.preferences.test.js
PASS tests/jest/modes/codemirror.lua.autocomplete.test.js
PASS tests/jest/modes/codemirror.mediawiki.bidiIsolation.test.js
PASS tests/jest/modes/codemirror.mediawiki.matchTag.test.js
PASS tests/jest/modes/codemirror.javascript.autocomplete.test.js
PASS tests/jest/modes/codemirror.css.autocomplete.test.js
PASS tests/jest/modes/codemirror.json.lint.test.js
PASS tests/jest/codemirror.extensionRegistry.test.js
PASS tests/jest/codemirror.gotoLine.test.js
PASS tests/jest/codemirror.codex.test.js
PASS tests/jest/codemirror.init.test.js
PASS tests/jest/codemirror.lint.test.js

Test Suites: 28 passed, 28 total
Tests:       3175 passed, 3175 total
Snapshots:   0 total
Time:        10.217 s, estimated 11 s
Ran all test suites.
--- stdout ---

> test
> npm run test:lint && npm run test:unit && npm run check-built-assets


> test:lint
> npm run test:lint:styles && npm run test:lint:js && npm run test:lint:i18n


> test:lint:styles
> stylelint --cache "resources/**/*.less"


> test:lint:js
> ESLINT_USE_FLAT_CONFIG=false eslint --cache .


> test:lint:i18n
> banana-checker i18n/

Checked 1 message directory.

> test:unit
> jest

----------------------------------------|---------|----------|---------|---------|--------------------------------------------------------------------------------------------------------------------------------
File                                    | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s                                                                                                              
----------------------------------------|---------|----------|---------|---------|--------------------------------------------------------------------------------------------------------------------------------
All files                               |   80.24 |    71.89 |   74.59 |   80.56 |                                                                                                                                
 resources                              |   82.58 |    69.51 |   76.52 |   82.86 |                                                                                                                                
  codemirror.bundle.lib.js              |       0 |        0 |       0 |       0 |                                                                                                                                
  codemirror.child.js                   |    87.5 |      100 |   85.71 |    87.5 | 52-53                                                                                                                          
  codemirror.codex.js                   |   97.05 |    78.72 |   78.57 |   97.05 | 283-284,389,395-396                                                                                                            
  codemirror.extensionRegistry.js       |    92.5 |    84.37 |     100 |    92.5 | 153,188-189                                                                                                                    
  codemirror.gotoLine.js                |   90.62 |    58.06 |     100 |   90.47 | 167,175-179,181                                                                                                                
  codemirror.init.js                    |   19.04 |    22.22 |       0 |   19.04 | 27-88,102-142                                                                                                                  
  codemirror.js                         |    89.2 |    81.28 |   85.13 |   89.45 | 345,450-459,711-718,801,901,915-920,950,1036,1040,1051,1056,1068,1090,1352,1354-1370                                           
  codemirror.keymap.js                  |   97.88 |    90.42 |   94.11 |   97.88 | 245,386,422                                                                                                                    
  codemirror.lint.js                    |   94.39 |    84.21 |   90.47 |   94.28 | 36,41,106-107,176-179                                                                                                          
  codemirror.matchbrackets.js           |    57.6 |    48.23 |   46.66 |   57.77 | 90-95,115,146-155,189-204,249-269                                                                                              
  codemirror.panel.js                   |     100 |      100 |   33.33 |     100 |                                                                                                                                
  codemirror.preferences.js             |   89.03 |    84.46 |   80.95 |   89.38 | 270,503-505,541,584-585,667,681,693-698,710-711,753-759,779-780                                                                
  codemirror.search.js                  |    70.5 |    36.17 |   68.75 |    70.5 | 108-135,209-219,298-303,340-341,352-353,457-496,533-547,559-562                                                                
  codemirror.textSelection.js           |   81.96 |    96.42 |   83.33 |   83.33 | 83-88,191-192,196-197,229-239                                                                                                  
  codemirror.validate.js                |   47.61 |     37.5 |   66.66 |   47.61 | 16-17,21-27,41-47                                                                                                              
  codemirror.visualEditor.js            |   67.53 |       40 |   83.33 |   68.42 | 111-112,272-354                                                                                                                
  codemirror.wikieditor.js              |   72.16 |    64.86 |   55.26 |   73.68 | 66,78,85,104-113,279,300,303,318-346,383,472-488,496,519-524                                                                   
 resources/modes                        |   57.06 |    53.09 |   60.63 |    57.1 |                                                                                                                                
  codemirror.abusefilter.js             |       0 |        0 |       0 |       0 | 1-137                                                                                                                          
  codemirror.bundle.abusefilter.js      |       0 |        0 |       0 |       0 |                                                                                                                                
  codemirror.bundle.modes.js            |       0 |        0 |       0 |       0 |                                                                                                                                
  codemirror.css.js                     |   69.09 |       56 |   57.14 |   68.51 | 39-40,86,101-120,156-158                                                                                                       
  codemirror.doctag.js                  |   43.75 |    31.25 |      80 |   41.93 | 18-44                                                                                                                          
  codemirror.javascript.js              |   63.15 |    61.29 |   81.25 |   63.15 | 94-99,103-123,189,208-209                                                                                                      
  codemirror.json.js                    |       0 |        0 |       0 |       0 | 1-73                                                                                                                           
  codemirror.lua.js                     |   75.83 |    68.23 |   77.27 |   76.06 | 346-364,398,426,437,439,444,456,466,526,535-536,554-557                                                                        
  codemirror.mode.exporter.js           |     100 |      100 |     100 |     100 |                                                                                                                                
  codemirror.mode.js                    |   84.21 |      100 |   72.72 |   83.33 | 69-78,114                                                                                                                      
  codemirror.vue.js                     |     100 |      100 |     100 |     100 |                                                                                                                                
 resources/modes/json                   |   99.41 |    99.03 |     100 |   99.41 |                                                                                                                                
  codemirror.json.lint.js               |   99.41 |    99.03 |     100 |   99.41 | 111                                                                                                                            
 resources/modes/mediawiki              |    81.1 |     74.7 |   76.05 |   81.49 |                                                                                                                                
  codemirror.mediawiki.autocomplete.js  |   71.42 |    55.29 |   58.62 |   71.42 | 50,56-62,67,93-94,101-104,107,111-114,120,135-140,157-158,188,195-201,281                                                      
  codemirror.mediawiki.bidiIsolation.js |     100 |    61.11 |     100 |     100 | 33,92-113                                                                                                                      
  codemirror.mediawiki.closeTags.js     |   17.39 |        0 |       0 |   17.39 | 6-38                                                                                                                           
  codemirror.mediawiki.codeFolding.js   |   55.55 |    49.05 |   46.15 |    56.2 | 136,147,152-161,187,193,204,234-235,249-253,272-281,308-319,331-350,374-431                                                    
  codemirror.mediawiki.config.js        |     100 |      100 |     100 |     100 |                                                                                                                                
  codemirror.mediawiki.js               |   94.85 |    94.72 |   94.28 |   94.81 | 181-200,306-307,383-384,435,519-521,531-534,629-631,1066-1068,1072-1073,1374,1404-1409,1541,1596-1600,1706,1731-1732,1746,1763 
  codemirror.mediawiki.keymap.js        |   78.94 |       70 |   72.22 |   78.94 | 211-212,228-247,312-331,383-388                                                                                                
  codemirror.mediawiki.lint.js          |   52.23 |    25.92 |    40.9 |   53.33 | 25,142,162-189,199-211                                                                                                         
  codemirror.mediawiki.matchTag.js      |   70.49 |    42.85 |   71.42 |   70.68 | 59-63,136-154                                                                                                                  
  codemirror.mediawiki.openLinks.js     |   26.47 |    13.84 |      80 |   26.47 | 61-129                                                                                                                         
----------------------------------------|---------|----------|---------|---------|--------------------------------------------------------------------------------------------------------------------------------

> check-built-assets
> { git status resources/lib/ | grep "nothing to commit, working tree clean"; } && { echo 'CHECKING BUILD SOURCES ARE COMMITTED' && npm run build && git status resources/lib/ | grep "nothing to commit, working tree clean" || { npm run node-debug; false; }; }


--- end ---
Traceback (most recent call last):
  File "/venv/lib/python3.13/site-packages/runner/__init__.py", line 289, in npm_test
    self.check_call(["npm", "test"])
    ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
  File "/venv/lib/python3.13/site-packages/runner/shell2.py", line 66, in check_call
    res.check_returncode()
    ~~~~~~~~~~~~~~~~~~~~^^
  File "/usr/lib/python3.13/subprocess.py", line 508, in check_returncode
    raise CalledProcessError(self.returncode, self.args, self.stdout,
                             self.stderr)
subprocess.CalledProcessError: Command '['/usr/bin/npm', 'test']' returned non-zero exit status 1.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/venv/lib/python3.13/site-packages/runner/__init__.py", line 1268, in main
    libup.run()
    ~~~~~~~~~^^
  File "/venv/lib/python3.13/site-packages/runner/__init__.py", line 1208, in run
    self.npm_audit_fix(new_npm_audit)
    ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^
  File "/venv/lib/python3.13/site-packages/runner/__init__.py", line 239, in npm_audit_fix
    self.npm_test()
    ~~~~~~~~~~~~~^^
  File "/venv/lib/python3.13/site-packages/runner/__init__.py", line 303, in npm_test
    self.check_call(["npm", "test"])
    ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
  File "/venv/lib/python3.13/site-packages/runner/shell2.py", line 66, in check_call
    res.check_returncode()
    ~~~~~~~~~~~~~~~~~~~~^^
  File "/usr/lib/python3.13/subprocess.py", line 508, in check_returncode
    raise CalledProcessError(self.returncode, self.args, self.stdout,
                             self.stderr)
subprocess.CalledProcessError: Command '['/usr/bin/npm', 'test']' returned non-zero exit status 1.
Source code is licensed under the AGPL.