VisualEditor/VisualEditor (REL1_35)

sourcepatches
$ date
--- stdout ---
Thu Mar 23 18:38:30 UTC 2023

--- end ---
$ git clone file:///srv/git/VisualEditor-VisualEditor.git repo --depth=1 -b REL1_35
--- stderr ---
Cloning into 'repo'...
--- stdout ---

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

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

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

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

--- end ---
$ git show-ref refs/heads/REL1_35
--- stdout ---
9208da11345f71c4f56bae2ace6319bd482d8745 refs/heads/REL1_35

--- end ---
$ /usr/bin/npm audit --json --legacy-peer-deps
--- stdout ---
{
  "auditReportVersion": 2,
  "vulnerabilities": {
    "body-parser": {
      "name": "body-parser",
      "severity": "high",
      "isDirect": false,
      "via": [
        "qs"
      ],
      "effects": [],
      "range": "1.19.0",
      "nodes": [
        "node_modules/body-parser"
      ],
      "fixAvailable": true
    },
    "css-select": {
      "name": "css-select",
      "severity": "high",
      "isDirect": false,
      "via": [
        "nth-check"
      ],
      "effects": [
        "svgo"
      ],
      "range": "<=3.1.0",
      "nodes": [
        "node_modules/css-select"
      ],
      "fixAvailable": {
        "name": "grunt-svgmin",
        "version": "7.0.0",
        "isSemVerMajor": true
      }
    },
    "engine.io": {
      "name": "engine.io",
      "severity": "high",
      "isDirect": false,
      "via": [
        {
          "source": 1089484,
          "name": "engine.io",
          "dependency": "engine.io",
          "title": "Resource exhaustion in engine.io",
          "url": "https://github.com/advisories/GHSA-j4f2-536g-r55m",
          "severity": "high",
          "cwe": [
            "CWE-400"
          ],
          "cvss": {
            "score": 7.5,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
          },
          "range": "<3.6.0"
        },
        {
          "source": 1089526,
          "name": "engine.io",
          "dependency": "engine.io",
          "title": "Uncaught exception in engine.io",
          "url": "https://github.com/advisories/GHSA-r7qp-cfhv-p84w",
          "severity": "moderate",
          "cwe": [
            "CWE-248"
          ],
          "cvss": {
            "score": 6.5,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H"
          },
          "range": "<3.6.1"
        }
      ],
      "effects": [
        "socket.io"
      ],
      "range": "<=3.6.0",
      "nodes": [
        "node_modules/engine.io"
      ],
      "fixAvailable": true
    },
    "grunt-css-url-embed": {
      "name": "grunt-css-url-embed",
      "severity": "moderate",
      "isDirect": true,
      "via": [
        "request"
      ],
      "effects": [],
      "range": ">=1.1.0",
      "nodes": [
        "node_modules/grunt-css-url-embed"
      ],
      "fixAvailable": {
        "name": "grunt-css-url-embed",
        "version": "1.0.4",
        "isSemVerMajor": true
      }
    },
    "grunt-svgmin": {
      "name": "grunt-svgmin",
      "severity": "high",
      "isDirect": true,
      "via": [
        "svgo"
      ],
      "effects": [],
      "range": "5.0.0 - 6.0.1",
      "nodes": [
        "node_modules/grunt-svgmin"
      ],
      "fixAvailable": {
        "name": "grunt-svgmin",
        "version": "7.0.0",
        "isSemVerMajor": true
      }
    },
    "json5": {
      "name": "json5",
      "severity": "high",
      "isDirect": false,
      "via": [
        {
          "source": 1091148,
          "name": "json5",
          "dependency": "json5",
          "title": "Prototype Pollution in JSON5 via Parse Method",
          "url": "https://github.com/advisories/GHSA-9c47-m6qq-7p4h",
          "severity": "high",
          "cwe": [
            "CWE-1321"
          ],
          "cvss": {
            "score": 7.1,
            "vectorString": "CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:L/A:H"
          },
          "range": ">=2.0.0 <2.2.2"
        }
      ],
      "effects": [],
      "range": "2.0.0 - 2.2.1",
      "nodes": [
        "node_modules/json5"
      ],
      "fixAvailable": true
    },
    "karma": {
      "name": "karma",
      "severity": "high",
      "isDirect": true,
      "via": [
        {
          "source": 1090418,
          "name": "karma",
          "dependency": "karma",
          "title": "Open redirect in karma",
          "url": "https://github.com/advisories/GHSA-rc3x-jf5g-xvc5",
          "severity": "moderate",
          "cwe": [
            "CWE-601"
          ],
          "cvss": {
            "score": 5.4,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:L/A:N"
          },
          "range": "<6.3.16"
        },
        {
          "source": 1090439,
          "name": "karma",
          "dependency": "karma",
          "title": "Cross-site Scripting in karma",
          "url": "https://github.com/advisories/GHSA-7x7c-qm48-pq9c",
          "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": "<6.3.14"
        },
        "ua-parser-js"
      ],
      "effects": [],
      "range": "<=6.3.15",
      "nodes": [
        "node_modules/karma"
      ],
      "fixAvailable": {
        "name": "karma",
        "version": "6.4.1",
        "isSemVerMajor": true
      }
    },
    "minimatch": {
      "name": "minimatch",
      "severity": "high",
      "isDirect": false,
      "via": [
        {
          "source": 1091174,
          "name": "minimatch",
          "dependency": "minimatch",
          "title": "minimatch ReDoS vulnerability",
          "url": "https://github.com/advisories/GHSA-f8q6-p94x-37v3",
          "severity": "high",
          "cwe": [
            "CWE-400"
          ],
          "cvss": {
            "score": 7.5,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
          },
          "range": "<3.0.5"
        }
      ],
      "effects": [
        "qunit"
      ],
      "range": "<3.0.5",
      "nodes": [
        "node_modules/minimatch"
      ],
      "fixAvailable": {
        "name": "qunit",
        "version": "2.19.4",
        "isSemVerMajor": false
      }
    },
    "nth-check": {
      "name": "nth-check",
      "severity": "high",
      "isDirect": false,
      "via": [
        {
          "source": 1091236,
          "name": "nth-check",
          "dependency": "nth-check",
          "title": "Inefficient Regular Expression Complexity in nth-check",
          "url": "https://github.com/advisories/GHSA-rp65-9cf3-cjxr",
          "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": "<2.0.1"
        }
      ],
      "effects": [
        "css-select"
      ],
      "range": "<2.0.1",
      "nodes": [
        "node_modules/nth-check"
      ],
      "fixAvailable": {
        "name": "grunt-svgmin",
        "version": "7.0.0",
        "isSemVerMajor": true
      }
    },
    "qs": {
      "name": "qs",
      "severity": "high",
      "isDirect": false,
      "via": [
        {
          "source": 1090135,
          "name": "qs",
          "dependency": "qs",
          "title": "qs vulnerable to Prototype Pollution",
          "url": "https://github.com/advisories/GHSA-hrpp-h998-j3pp",
          "severity": "high",
          "cwe": [
            "CWE-1321"
          ],
          "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.5.0 <6.5.3"
        },
        {
          "source": 1090137,
          "name": "qs",
          "dependency": "qs",
          "title": "qs vulnerable to Prototype Pollution",
          "url": "https://github.com/advisories/GHSA-hrpp-h998-j3pp",
          "severity": "high",
          "cwe": [
            "CWE-1321"
          ],
          "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.7.0 <6.7.3"
        },
        {
          "source": 1090139,
          "name": "qs",
          "dependency": "qs",
          "title": "qs vulnerable to Prototype Pollution",
          "url": "https://github.com/advisories/GHSA-hrpp-h998-j3pp",
          "severity": "high",
          "cwe": [
            "CWE-1321"
          ],
          "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.9.0 <6.9.7"
        }
      ],
      "effects": [
        "body-parser"
      ],
      "range": "6.5.0 - 6.5.2 || 6.7.0 - 6.7.2 || 6.9.0 - 6.9.6",
      "nodes": [
        "node_modules/body-parser/node_modules/qs",
        "node_modules/qs",
        "node_modules/request/node_modules/qs"
      ],
      "fixAvailable": true
    },
    "qunit": {
      "name": "qunit",
      "severity": "high",
      "isDirect": true,
      "via": [
        "minimatch"
      ],
      "effects": [],
      "range": "2.9.0 - 2.11.0",
      "nodes": [
        "node_modules/qunit"
      ],
      "fixAvailable": {
        "name": "qunit",
        "version": "2.19.4",
        "isSemVerMajor": false
      }
    },
    "request": {
      "name": "request",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        {
          "source": 1091459,
          "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"
        }
      ],
      "effects": [
        "grunt-css-url-embed"
      ],
      "range": "*",
      "nodes": [
        "node_modules/request"
      ],
      "fixAvailable": {
        "name": "grunt-css-url-embed",
        "version": "1.0.4",
        "isSemVerMajor": true
      }
    },
    "socket.io": {
      "name": "socket.io",
      "severity": "high",
      "isDirect": false,
      "via": [
        "engine.io"
      ],
      "effects": [],
      "range": "1.0.0-pre - 2.4.1",
      "nodes": [
        "node_modules/socket.io"
      ],
      "fixAvailable": true
    },
    "socket.io-parser": {
      "name": "socket.io-parser",
      "severity": "critical",
      "isDirect": false,
      "via": [
        {
          "source": 1091362,
          "name": "socket.io-parser",
          "dependency": "socket.io-parser",
          "title": "Insufficient validation when decoding a Socket.IO packet",
          "url": "https://github.com/advisories/GHSA-qm95-pgcg-qqfq",
          "severity": "critical",
          "cwe": [
            "CWE-20",
            "CWE-1287"
          ],
          "cvss": {
            "score": 9.8,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H"
          },
          "range": ">=3.4.0 <3.4.2"
        },
        {
          "source": 1091363,
          "name": "socket.io-parser",
          "dependency": "socket.io-parser",
          "title": "Insufficient validation when decoding a Socket.IO packet",
          "url": "https://github.com/advisories/GHSA-qm95-pgcg-qqfq",
          "severity": "critical",
          "cwe": [
            "CWE-20",
            "CWE-1287"
          ],
          "cvss": {
            "score": 9.8,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H"
          },
          "range": "<3.3.3"
        }
      ],
      "effects": [],
      "range": ">=3.4.0 <3.4.2 || <3.3.3",
      "nodes": [
        "node_modules/socket.io-client/node_modules/socket.io-parser",
        "node_modules/socket.io-parser"
      ],
      "fixAvailable": true
    },
    "svgo": {
      "name": "svgo",
      "severity": "high",
      "isDirect": false,
      "via": [
        "css-select"
      ],
      "effects": [
        "grunt-svgmin"
      ],
      "range": "1.0.0 - 1.3.2",
      "nodes": [
        "node_modules/svgo"
      ],
      "fixAvailable": {
        "name": "grunt-svgmin",
        "version": "7.0.0",
        "isSemVerMajor": true
      }
    },
    "ua-parser-js": {
      "name": "ua-parser-js",
      "severity": "high",
      "isDirect": false,
      "via": [
        {
          "source": 1088697,
          "name": "ua-parser-js",
          "dependency": "ua-parser-js",
          "title": "ReDoS Vulnerability in ua-parser-js version ",
          "url": "https://github.com/advisories/GHSA-fhg7-m89q-25r3",
          "severity": "high",
          "cwe": [
            "CWE-400",
            "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": "<0.7.33"
        },
        {
          "source": 1089491,
          "name": "ua-parser-js",
          "dependency": "ua-parser-js",
          "title": "Regular Expression Denial of Service in ua-parser-js",
          "url": "https://github.com/advisories/GHSA-662x-fhqg-9p8v",
          "severity": "high",
          "cwe": [
            "CWE-400"
          ],
          "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": "<0.7.22"
        },
        {
          "source": 1089914,
          "name": "ua-parser-js",
          "dependency": "ua-parser-js",
          "title": "ua-parser-js Regular Expression Denial of Service vulnerability",
          "url": "https://github.com/advisories/GHSA-394c-5j6w-4xmx",
          "severity": "high",
          "cwe": [
            "CWE-400"
          ],
          "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": "<0.7.23"
        },
        {
          "source": 1089977,
          "name": "ua-parser-js",
          "dependency": "ua-parser-js",
          "title": "Regular Expression Denial of Service (ReDoS) in ua-parser-js",
          "url": "https://github.com/advisories/GHSA-78cj-fxph-m83p",
          "severity": "high",
          "cwe": [
            "CWE-400"
          ],
          "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": ">=0.7.14 <0.7.24"
        }
      ],
      "effects": [
        "karma"
      ],
      "range": "<=0.7.32",
      "nodes": [
        "node_modules/ua-parser-js"
      ],
      "fixAvailable": {
        "name": "karma",
        "version": "6.4.1",
        "isSemVerMajor": true
      }
    }
  },
  "metadata": {
    "vulnerabilities": {
      "info": 0,
      "low": 0,
      "moderate": 2,
      "high": 13,
      "critical": 1,
      "total": 16
    },
    "dependencies": {
      "prod": 1,
      "dev": 833,
      "optional": 3,
      "peer": 0,
      "peerOptional": 0,
      "total": 833
    }
  }
}

--- end ---
$ /usr/bin/npm audit --json --legacy-peer-deps
--- stdout ---
{
  "auditReportVersion": 2,
  "vulnerabilities": {
    "body-parser": {
      "name": "body-parser",
      "severity": "high",
      "isDirect": false,
      "via": [
        "qs"
      ],
      "effects": [],
      "range": "1.19.0",
      "nodes": [
        "node_modules/body-parser"
      ],
      "fixAvailable": true
    },
    "css-select": {
      "name": "css-select",
      "severity": "high",
      "isDirect": false,
      "via": [
        "nth-check"
      ],
      "effects": [
        "svgo"
      ],
      "range": "<=3.1.0",
      "nodes": [
        "node_modules/css-select"
      ],
      "fixAvailable": {
        "name": "grunt-svgmin",
        "version": "7.0.0",
        "isSemVerMajor": true
      }
    },
    "engine.io": {
      "name": "engine.io",
      "severity": "high",
      "isDirect": false,
      "via": [
        {
          "source": 1089484,
          "name": "engine.io",
          "dependency": "engine.io",
          "title": "Resource exhaustion in engine.io",
          "url": "https://github.com/advisories/GHSA-j4f2-536g-r55m",
          "severity": "high",
          "cwe": [
            "CWE-400"
          ],
          "cvss": {
            "score": 7.5,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
          },
          "range": "<3.6.0"
        },
        {
          "source": 1089526,
          "name": "engine.io",
          "dependency": "engine.io",
          "title": "Uncaught exception in engine.io",
          "url": "https://github.com/advisories/GHSA-r7qp-cfhv-p84w",
          "severity": "moderate",
          "cwe": [
            "CWE-248"
          ],
          "cvss": {
            "score": 6.5,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H"
          },
          "range": "<3.6.1"
        }
      ],
      "effects": [
        "socket.io"
      ],
      "range": "<=3.6.0",
      "nodes": [
        "node_modules/engine.io"
      ],
      "fixAvailable": true
    },
    "grunt-css-url-embed": {
      "name": "grunt-css-url-embed",
      "severity": "moderate",
      "isDirect": true,
      "via": [
        "request"
      ],
      "effects": [],
      "range": ">=1.1.0",
      "nodes": [
        "node_modules/grunt-css-url-embed"
      ],
      "fixAvailable": {
        "name": "grunt-css-url-embed",
        "version": "1.0.4",
        "isSemVerMajor": true
      }
    },
    "grunt-svgmin": {
      "name": "grunt-svgmin",
      "severity": "high",
      "isDirect": true,
      "via": [
        "svgo"
      ],
      "effects": [],
      "range": "5.0.0 - 6.0.1",
      "nodes": [
        "node_modules/grunt-svgmin"
      ],
      "fixAvailable": {
        "name": "grunt-svgmin",
        "version": "7.0.0",
        "isSemVerMajor": true
      }
    },
    "json5": {
      "name": "json5",
      "severity": "high",
      "isDirect": false,
      "via": [
        {
          "source": 1091148,
          "name": "json5",
          "dependency": "json5",
          "title": "Prototype Pollution in JSON5 via Parse Method",
          "url": "https://github.com/advisories/GHSA-9c47-m6qq-7p4h",
          "severity": "high",
          "cwe": [
            "CWE-1321"
          ],
          "cvss": {
            "score": 7.1,
            "vectorString": "CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:L/A:H"
          },
          "range": ">=2.0.0 <2.2.2"
        }
      ],
      "effects": [],
      "range": "2.0.0 - 2.2.1",
      "nodes": [
        "node_modules/json5"
      ],
      "fixAvailable": true
    },
    "karma": {
      "name": "karma",
      "severity": "high",
      "isDirect": true,
      "via": [
        {
          "source": 1090418,
          "name": "karma",
          "dependency": "karma",
          "title": "Open redirect in karma",
          "url": "https://github.com/advisories/GHSA-rc3x-jf5g-xvc5",
          "severity": "moderate",
          "cwe": [
            "CWE-601"
          ],
          "cvss": {
            "score": 5.4,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:L/A:N"
          },
          "range": "<6.3.16"
        },
        {
          "source": 1090439,
          "name": "karma",
          "dependency": "karma",
          "title": "Cross-site Scripting in karma",
          "url": "https://github.com/advisories/GHSA-7x7c-qm48-pq9c",
          "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": "<6.3.14"
        },
        "ua-parser-js"
      ],
      "effects": [],
      "range": "<=6.3.15",
      "nodes": [
        "node_modules/karma"
      ],
      "fixAvailable": {
        "name": "karma",
        "version": "6.4.1",
        "isSemVerMajor": true
      }
    },
    "minimatch": {
      "name": "minimatch",
      "severity": "high",
      "isDirect": false,
      "via": [
        {
          "source": 1091174,
          "name": "minimatch",
          "dependency": "minimatch",
          "title": "minimatch ReDoS vulnerability",
          "url": "https://github.com/advisories/GHSA-f8q6-p94x-37v3",
          "severity": "high",
          "cwe": [
            "CWE-400"
          ],
          "cvss": {
            "score": 7.5,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
          },
          "range": "<3.0.5"
        }
      ],
      "effects": [
        "qunit"
      ],
      "range": "<3.0.5",
      "nodes": [
        "node_modules/minimatch"
      ],
      "fixAvailable": {
        "name": "qunit",
        "version": "2.19.4",
        "isSemVerMajor": false
      }
    },
    "nth-check": {
      "name": "nth-check",
      "severity": "high",
      "isDirect": false,
      "via": [
        {
          "source": 1091236,
          "name": "nth-check",
          "dependency": "nth-check",
          "title": "Inefficient Regular Expression Complexity in nth-check",
          "url": "https://github.com/advisories/GHSA-rp65-9cf3-cjxr",
          "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": "<2.0.1"
        }
      ],
      "effects": [
        "css-select"
      ],
      "range": "<2.0.1",
      "nodes": [
        "node_modules/nth-check"
      ],
      "fixAvailable": {
        "name": "grunt-svgmin",
        "version": "7.0.0",
        "isSemVerMajor": true
      }
    },
    "qs": {
      "name": "qs",
      "severity": "high",
      "isDirect": false,
      "via": [
        {
          "source": 1090135,
          "name": "qs",
          "dependency": "qs",
          "title": "qs vulnerable to Prototype Pollution",
          "url": "https://github.com/advisories/GHSA-hrpp-h998-j3pp",
          "severity": "high",
          "cwe": [
            "CWE-1321"
          ],
          "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.5.0 <6.5.3"
        },
        {
          "source": 1090137,
          "name": "qs",
          "dependency": "qs",
          "title": "qs vulnerable to Prototype Pollution",
          "url": "https://github.com/advisories/GHSA-hrpp-h998-j3pp",
          "severity": "high",
          "cwe": [
            "CWE-1321"
          ],
          "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.7.0 <6.7.3"
        },
        {
          "source": 1090139,
          "name": "qs",
          "dependency": "qs",
          "title": "qs vulnerable to Prototype Pollution",
          "url": "https://github.com/advisories/GHSA-hrpp-h998-j3pp",
          "severity": "high",
          "cwe": [
            "CWE-1321"
          ],
          "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.9.0 <6.9.7"
        }
      ],
      "effects": [
        "body-parser"
      ],
      "range": "6.5.0 - 6.5.2 || 6.7.0 - 6.7.2 || 6.9.0 - 6.9.6",
      "nodes": [
        "node_modules/body-parser/node_modules/qs",
        "node_modules/qs",
        "node_modules/request/node_modules/qs"
      ],
      "fixAvailable": true
    },
    "qunit": {
      "name": "qunit",
      "severity": "high",
      "isDirect": true,
      "via": [
        "minimatch"
      ],
      "effects": [],
      "range": "2.9.0 - 2.11.0",
      "nodes": [
        "node_modules/qunit"
      ],
      "fixAvailable": {
        "name": "qunit",
        "version": "2.19.4",
        "isSemVerMajor": false
      }
    },
    "request": {
      "name": "request",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        {
          "source": 1091459,
          "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"
        }
      ],
      "effects": [
        "grunt-css-url-embed"
      ],
      "range": "*",
      "nodes": [
        "node_modules/request"
      ],
      "fixAvailable": {
        "name": "grunt-css-url-embed",
        "version": "1.0.4",
        "isSemVerMajor": true
      }
    },
    "socket.io": {
      "name": "socket.io",
      "severity": "high",
      "isDirect": false,
      "via": [
        "engine.io"
      ],
      "effects": [],
      "range": "1.0.0-pre - 2.4.1",
      "nodes": [
        "node_modules/socket.io"
      ],
      "fixAvailable": true
    },
    "socket.io-parser": {
      "name": "socket.io-parser",
      "severity": "critical",
      "isDirect": false,
      "via": [
        {
          "source": 1091362,
          "name": "socket.io-parser",
          "dependency": "socket.io-parser",
          "title": "Insufficient validation when decoding a Socket.IO packet",
          "url": "https://github.com/advisories/GHSA-qm95-pgcg-qqfq",
          "severity": "critical",
          "cwe": [
            "CWE-20",
            "CWE-1287"
          ],
          "cvss": {
            "score": 9.8,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H"
          },
          "range": ">=3.4.0 <3.4.2"
        },
        {
          "source": 1091363,
          "name": "socket.io-parser",
          "dependency": "socket.io-parser",
          "title": "Insufficient validation when decoding a Socket.IO packet",
          "url": "https://github.com/advisories/GHSA-qm95-pgcg-qqfq",
          "severity": "critical",
          "cwe": [
            "CWE-20",
            "CWE-1287"
          ],
          "cvss": {
            "score": 9.8,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H"
          },
          "range": "<3.3.3"
        }
      ],
      "effects": [],
      "range": ">=3.4.0 <3.4.2 || <3.3.3",
      "nodes": [
        "node_modules/socket.io-client/node_modules/socket.io-parser",
        "node_modules/socket.io-parser"
      ],
      "fixAvailable": true
    },
    "svgo": {
      "name": "svgo",
      "severity": "high",
      "isDirect": false,
      "via": [
        "css-select"
      ],
      "effects": [
        "grunt-svgmin"
      ],
      "range": "1.0.0 - 1.3.2",
      "nodes": [
        "node_modules/svgo"
      ],
      "fixAvailable": {
        "name": "grunt-svgmin",
        "version": "7.0.0",
        "isSemVerMajor": true
      }
    },
    "ua-parser-js": {
      "name": "ua-parser-js",
      "severity": "high",
      "isDirect": false,
      "via": [
        {
          "source": 1088697,
          "name": "ua-parser-js",
          "dependency": "ua-parser-js",
          "title": "ReDoS Vulnerability in ua-parser-js version ",
          "url": "https://github.com/advisories/GHSA-fhg7-m89q-25r3",
          "severity": "high",
          "cwe": [
            "CWE-400",
            "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": "<0.7.33"
        },
        {
          "source": 1089491,
          "name": "ua-parser-js",
          "dependency": "ua-parser-js",
          "title": "Regular Expression Denial of Service in ua-parser-js",
          "url": "https://github.com/advisories/GHSA-662x-fhqg-9p8v",
          "severity": "high",
          "cwe": [
            "CWE-400"
          ],
          "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": "<0.7.22"
        },
        {
          "source": 1089914,
          "name": "ua-parser-js",
          "dependency": "ua-parser-js",
          "title": "ua-parser-js Regular Expression Denial of Service vulnerability",
          "url": "https://github.com/advisories/GHSA-394c-5j6w-4xmx",
          "severity": "high",
          "cwe": [
            "CWE-400"
          ],
          "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": "<0.7.23"
        },
        {
          "source": 1089977,
          "name": "ua-parser-js",
          "dependency": "ua-parser-js",
          "title": "Regular Expression Denial of Service (ReDoS) in ua-parser-js",
          "url": "https://github.com/advisories/GHSA-78cj-fxph-m83p",
          "severity": "high",
          "cwe": [
            "CWE-400"
          ],
          "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": ">=0.7.14 <0.7.24"
        }
      ],
      "effects": [
        "karma"
      ],
      "range": "<=0.7.32",
      "nodes": [
        "node_modules/ua-parser-js"
      ],
      "fixAvailable": {
        "name": "karma",
        "version": "6.4.1",
        "isSemVerMajor": true
      }
    }
  },
  "metadata": {
    "vulnerabilities": {
      "info": 0,
      "low": 0,
      "moderate": 2,
      "high": 13,
      "critical": 1,
      "total": 16
    },
    "dependencies": {
      "prod": 1,
      "dev": 833,
      "optional": 3,
      "peer": 0,
      "peerOptional": 0,
      "total": 833
    }
  }
}

--- end ---
Attempting to npm audit fix
$ /usr/bin/npm audit fix --dry-run --only=dev --json --legacy-peer-deps
--- 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": 780,
  "removed": 0,
  "changed": 0,
  "audited": 781,
  "funding": 11,
  "audit": {
    "auditReportVersion": 2,
    "vulnerabilities": {
      "body-parser": {
        "name": "body-parser",
        "severity": "high",
        "isDirect": false,
        "via": [
          "qs"
        ],
        "effects": [],
        "range": "1.19.0",
        "nodes": [
          ""
        ],
        "fixAvailable": true
      },
      "css-select": {
        "name": "css-select",
        "severity": "high",
        "isDirect": false,
        "via": [
          "nth-check"
        ],
        "effects": [
          "svgo"
        ],
        "range": "<=3.1.0",
        "nodes": [
          "node_modules/css-select"
        ],
        "fixAvailable": {
          "name": "grunt-svgmin",
          "version": "7.0.0",
          "isSemVerMajor": true
        }
      },
      "engine.io": {
        "name": "engine.io",
        "severity": "high",
        "isDirect": false,
        "via": [
          {
            "source": 1089484,
            "name": "engine.io",
            "dependency": "engine.io",
            "title": "Resource exhaustion in engine.io",
            "url": "https://github.com/advisories/GHSA-j4f2-536g-r55m",
            "severity": "high",
            "cwe": [
              "CWE-400"
            ],
            "cvss": {
              "score": 7.5,
              "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
            },
            "range": "<3.6.0"
          },
          {
            "source": 1089526,
            "name": "engine.io",
            "dependency": "engine.io",
            "title": "Uncaught exception in engine.io",
            "url": "https://github.com/advisories/GHSA-r7qp-cfhv-p84w",
            "severity": "moderate",
            "cwe": [
              "CWE-248"
            ],
            "cvss": {
              "score": 6.5,
              "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H"
            },
            "range": "<3.6.1"
          }
        ],
        "effects": [
          "socket.io"
        ],
        "range": "<=3.6.0",
        "nodes": [
          ""
        ],
        "fixAvailable": true
      },
      "grunt-css-url-embed": {
        "name": "grunt-css-url-embed",
        "severity": "moderate",
        "isDirect": true,
        "via": [
          "request"
        ],
        "effects": [],
        "range": ">=1.1.0",
        "nodes": [
          "node_modules/grunt-css-url-embed"
        ],
        "fixAvailable": {
          "name": "grunt-css-url-embed",
          "version": "1.0.4",
          "isSemVerMajor": true
        }
      },
      "grunt-svgmin": {
        "name": "grunt-svgmin",
        "severity": "high",
        "isDirect": true,
        "via": [
          "svgo"
        ],
        "effects": [],
        "range": "5.0.0 - 6.0.1",
        "nodes": [
          "node_modules/grunt-svgmin"
        ],
        "fixAvailable": {
          "name": "grunt-svgmin",
          "version": "7.0.0",
          "isSemVerMajor": true
        }
      },
      "json5": {
        "name": "json5",
        "severity": "high",
        "isDirect": false,
        "via": [
          {
            "source": 1091148,
            "name": "json5",
            "dependency": "json5",
            "title": "Prototype Pollution in JSON5 via Parse Method",
            "url": "https://github.com/advisories/GHSA-9c47-m6qq-7p4h",
            "severity": "high",
            "cwe": [
              "CWE-1321"
            ],
            "cvss": {
              "score": 7.1,
              "vectorString": "CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:L/A:H"
            },
            "range": ">=2.0.0 <2.2.2"
          }
        ],
        "effects": [],
        "range": "2.0.0 - 2.2.1",
        "nodes": [
          ""
        ],
        "fixAvailable": true
      },
      "karma": {
        "name": "karma",
        "severity": "high",
        "isDirect": true,
        "via": [
          {
            "source": 1090418,
            "name": "karma",
            "dependency": "karma",
            "title": "Open redirect in karma",
            "url": "https://github.com/advisories/GHSA-rc3x-jf5g-xvc5",
            "severity": "moderate",
            "cwe": [
              "CWE-601"
            ],
            "cvss": {
              "score": 5.4,
              "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:L/A:N"
            },
            "range": "<6.3.16"
          },
          {
            "source": 1090439,
            "name": "karma",
            "dependency": "karma",
            "title": "Cross-site Scripting in karma",
            "url": "https://github.com/advisories/GHSA-7x7c-qm48-pq9c",
            "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": "<6.3.14"
          },
          "ua-parser-js"
        ],
        "effects": [],
        "range": "<=6.3.15",
        "nodes": [
          "node_modules/karma"
        ],
        "fixAvailable": {
          "name": "karma",
          "version": "6.4.1",
          "isSemVerMajor": true
        }
      },
      "minimatch": {
        "name": "minimatch",
        "severity": "high",
        "isDirect": false,
        "via": [
          {
            "source": 1091174,
            "name": "minimatch",
            "dependency": "minimatch",
            "title": "minimatch ReDoS vulnerability",
            "url": "https://github.com/advisories/GHSA-f8q6-p94x-37v3",
            "severity": "high",
            "cwe": [
              "CWE-400"
            ],
            "cvss": {
              "score": 7.5,
              "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
            },
            "range": "<3.0.5"
          }
        ],
        "effects": [
          "qunit"
        ],
        "range": "<3.0.5",
        "nodes": [
          "node_modules/minimatch"
        ],
        "fixAvailable": {
          "name": "qunit",
          "version": "2.19.4",
          "isSemVerMajor": false
        }
      },
      "nth-check": {
        "name": "nth-check",
        "severity": "high",
        "isDirect": false,
        "via": [
          {
            "source": 1091236,
            "name": "nth-check",
            "dependency": "nth-check",
            "title": "Inefficient Regular Expression Complexity in nth-check",
            "url": "https://github.com/advisories/GHSA-rp65-9cf3-cjxr",
            "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": "<2.0.1"
          }
        ],
        "effects": [
          "css-select"
        ],
        "range": "<2.0.1",
        "nodes": [
          "node_modules/nth-check"
        ],
        "fixAvailable": {
          "name": "grunt-svgmin",
          "version": "7.0.0",
          "isSemVerMajor": true
        }
      },
      "qs": {
        "name": "qs",
        "severity": "high",
        "isDirect": false,
        "via": [
          {
            "source": 1090135,
            "name": "qs",
            "dependency": "qs",
            "title": "qs vulnerable to Prototype Pollution",
            "url": "https://github.com/advisories/GHSA-hrpp-h998-j3pp",
            "severity": "high",
            "cwe": [
              "CWE-1321"
            ],
            "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.5.0 <6.5.3"
          },
          {
            "source": 1090137,
            "name": "qs",
            "dependency": "qs",
            "title": "qs vulnerable to Prototype Pollution",
            "url": "https://github.com/advisories/GHSA-hrpp-h998-j3pp",
            "severity": "high",
            "cwe": [
              "CWE-1321"
            ],
            "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.7.0 <6.7.3"
          },
          {
            "source": 1090139,
            "name": "qs",
            "dependency": "qs",
            "title": "qs vulnerable to Prototype Pollution",
            "url": "https://github.com/advisories/GHSA-hrpp-h998-j3pp",
            "severity": "high",
            "cwe": [
              "CWE-1321"
            ],
            "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.9.0 <6.9.7"
          }
        ],
        "effects": [
          "body-parser"
        ],
        "range": "6.5.0 - 6.5.2 || 6.7.0 - 6.7.2 || 6.9.0 - 6.9.6",
        "nodes": [
          "",
          "",
          ""
        ],
        "fixAvailable": true
      },
      "qunit": {
        "name": "qunit",
        "severity": "high",
        "isDirect": true,
        "via": [
          "minimatch"
        ],
        "effects": [],
        "range": "2.9.0 - 2.11.0",
        "nodes": [
          "node_modules/qunit"
        ],
        "fixAvailable": {
          "name": "qunit",
          "version": "2.19.4",
          "isSemVerMajor": false
        }
      },
      "request": {
        "name": "request",
        "severity": "moderate",
        "isDirect": false,
        "via": [
          {
            "source": 1091459,
            "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"
          }
        ],
        "effects": [
          "grunt-css-url-embed"
        ],
        "range": "*",
        "nodes": [
          "node_modules/request"
        ],
        "fixAvailable": {
          "name": "grunt-css-url-embed",
          "version": "1.0.4",
          "isSemVerMajor": true
        }
      },
      "socket.io": {
        "name": "socket.io",
        "severity": "high",
        "isDirect": false,
        "via": [
          "engine.io"
        ],
        "effects": [],
        "range": "1.0.0-pre - 2.4.1",
        "nodes": [
          ""
        ],
        "fixAvailable": true
      },
      "socket.io-parser": {
        "name": "socket.io-parser",
        "severity": "critical",
        "isDirect": false,
        "via": [
          {
            "source": 1091362,
            "name": "socket.io-parser",
            "dependency": "socket.io-parser",
            "title": "Insufficient validation when decoding a Socket.IO packet",
            "url": "https://github.com/advisories/GHSA-qm95-pgcg-qqfq",
            "severity": "critical",
            "cwe": [
              "CWE-20",
              "CWE-1287"
            ],
            "cvss": {
              "score": 9.8,
              "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H"
            },
            "range": ">=3.4.0 <3.4.2"
          },
          {
            "source": 1091363,
            "name": "socket.io-parser",
            "dependency": "socket.io-parser",
            "title": "Insufficient validation when decoding a Socket.IO packet",
            "url": "https://github.com/advisories/GHSA-qm95-pgcg-qqfq",
            "severity": "critical",
            "cwe": [
              "CWE-20",
              "CWE-1287"
            ],
            "cvss": {
              "score": 9.8,
              "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H"
            },
            "range": "<3.3.3"
          }
        ],
        "effects": [],
        "range": ">=3.4.0 <3.4.2 || <3.3.3",
        "nodes": [
          "",
          "node_modules/socket.io-parser"
        ],
        "fixAvailable": true
      },
      "svgo": {
        "name": "svgo",
        "severity": "high",
        "isDirect": false,
        "via": [
          "css-select"
        ],
        "effects": [
          "grunt-svgmin"
        ],
        "range": "1.0.0 - 1.3.2",
        "nodes": [
          "node_modules/svgo"
        ],
        "fixAvailable": {
          "name": "grunt-svgmin",
          "version": "7.0.0",
          "isSemVerMajor": true
        }
      },
      "ua-parser-js": {
        "name": "ua-parser-js",
        "severity": "high",
        "isDirect": false,
        "via": [
          {
            "source": 1088697,
            "name": "ua-parser-js",
            "dependency": "ua-parser-js",
            "title": "ReDoS Vulnerability in ua-parser-js version ",
            "url": "https://github.com/advisories/GHSA-fhg7-m89q-25r3",
            "severity": "high",
            "cwe": [
              "CWE-400",
              "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": "<0.7.33"
          },
          {
            "source": 1089491,
            "name": "ua-parser-js",
            "dependency": "ua-parser-js",
            "title": "Regular Expression Denial of Service in ua-parser-js",
            "url": "https://github.com/advisories/GHSA-662x-fhqg-9p8v",
            "severity": "high",
            "cwe": [
              "CWE-400"
            ],
            "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": "<0.7.22"
          },
          {
            "source": 1089914,
            "name": "ua-parser-js",
            "dependency": "ua-parser-js",
            "title": "ua-parser-js Regular Expression Denial of Service vulnerability",
            "url": "https://github.com/advisories/GHSA-394c-5j6w-4xmx",
            "severity": "high",
            "cwe": [
              "CWE-400"
            ],
            "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": "<0.7.23"
          },
          {
            "source": 1089977,
            "name": "ua-parser-js",
            "dependency": "ua-parser-js",
            "title": "Regular Expression Denial of Service (ReDoS) in ua-parser-js",
            "url": "https://github.com/advisories/GHSA-78cj-fxph-m83p",
            "severity": "high",
            "cwe": [
              "CWE-400"
            ],
            "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": ">=0.7.14 <0.7.24"
          }
        ],
        "effects": [
          "karma"
        ],
        "range": "<=0.7.32",
        "nodes": [
          "node_modules/ua-parser-js"
        ],
        "fixAvailable": {
          "name": "karma",
          "version": "6.4.1",
          "isSemVerMajor": true
        }
      }
    },
    "metadata": {
      "vulnerabilities": {
        "info": 0,
        "low": 0,
        "moderate": 2,
        "high": 13,
        "critical": 1,
        "total": 16
      },
      "dependencies": {
        "prod": 1,
        "dev": 780,
        "optional": 3,
        "peer": 0,
        "peerOptional": 0,
        "total": 780
      }
    }
  }
}

--- end ---
{"added": 780, "removed": 0, "changed": 0, "audited": 781, "funding": 11, "audit": {"auditReportVersion": 2, "vulnerabilities": {"body-parser": {"name": "body-parser", "severity": "high", "isDirect": false, "via": ["qs"], "effects": [], "range": "1.19.0", "nodes": [""], "fixAvailable": true}, "css-select": {"name": "css-select", "severity": "high", "isDirect": false, "via": ["nth-check"], "effects": ["svgo"], "range": "<=3.1.0", "nodes": ["node_modules/css-select"], "fixAvailable": {"name": "grunt-svgmin", "version": "7.0.0", "isSemVerMajor": true}}, "engine.io": {"name": "engine.io", "severity": "high", "isDirect": false, "via": [{"source": 1089484, "name": "engine.io", "dependency": "engine.io", "title": "Resource exhaustion in engine.io", "url": "https://github.com/advisories/GHSA-j4f2-536g-r55m", "severity": "high", "cwe": ["CWE-400"], "cvss": {"score": 7.5, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"}, "range": "<3.6.0"}, {"source": 1089526, "name": "engine.io", "dependency": "engine.io", "title": "Uncaught exception in engine.io", "url": "https://github.com/advisories/GHSA-r7qp-cfhv-p84w", "severity": "moderate", "cwe": ["CWE-248"], "cvss": {"score": 6.5, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H"}, "range": "<3.6.1"}], "effects": ["socket.io"], "range": "<=3.6.0", "nodes": [""], "fixAvailable": true}, "grunt-css-url-embed": {"name": "grunt-css-url-embed", "severity": "moderate", "isDirect": true, "via": ["request"], "effects": [], "range": ">=1.1.0", "nodes": ["node_modules/grunt-css-url-embed"], "fixAvailable": {"name": "grunt-css-url-embed", "version": "1.0.4", "isSemVerMajor": true}}, "grunt-svgmin": {"name": "grunt-svgmin", "severity": "high", "isDirect": true, "via": ["svgo"], "effects": [], "range": "5.0.0 - 6.0.1", "nodes": ["node_modules/grunt-svgmin"], "fixAvailable": {"name": "grunt-svgmin", "version": "7.0.0", "isSemVerMajor": true}}, "json5": {"name": "json5", "severity": "high", "isDirect": false, "via": [{"source": 1091148, "name": "json5", "dependency": "json5", "title": "Prototype Pollution in JSON5 via Parse Method", "url": "https://github.com/advisories/GHSA-9c47-m6qq-7p4h", "severity": "high", "cwe": ["CWE-1321"], "cvss": {"score": 7.1, "vectorString": "CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:L/A:H"}, "range": ">=2.0.0 <2.2.2"}], "effects": [], "range": "2.0.0 - 2.2.1", "nodes": [""], "fixAvailable": true}, "karma": {"name": "karma", "severity": "high", "isDirect": true, "via": [{"source": 1090418, "name": "karma", "dependency": "karma", "title": "Open redirect in karma", "url": "https://github.com/advisories/GHSA-rc3x-jf5g-xvc5", "severity": "moderate", "cwe": ["CWE-601"], "cvss": {"score": 5.4, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:L/A:N"}, "range": "<6.3.16"}, {"source": 1090439, "name": "karma", "dependency": "karma", "title": "Cross-site Scripting in karma", "url": "https://github.com/advisories/GHSA-7x7c-qm48-pq9c", "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": "<6.3.14"}, "ua-parser-js"], "effects": [], "range": "<=6.3.15", "nodes": ["node_modules/karma"], "fixAvailable": {"name": "karma", "version": "6.4.1", "isSemVerMajor": true}}, "minimatch": {"name": "minimatch", "severity": "high", "isDirect": false, "via": [{"source": 1091174, "name": "minimatch", "dependency": "minimatch", "title": "minimatch ReDoS vulnerability", "url": "https://github.com/advisories/GHSA-f8q6-p94x-37v3", "severity": "high", "cwe": ["CWE-400"], "cvss": {"score": 7.5, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"}, "range": "<3.0.5"}], "effects": ["qunit"], "range": "<3.0.5", "nodes": ["node_modules/minimatch"], "fixAvailable": {"name": "qunit", "version": "2.19.4", "isSemVerMajor": false}}, "nth-check": {"name": "nth-check", "severity": "high", "isDirect": false, "via": [{"source": 1091236, "name": "nth-check", "dependency": "nth-check", "title": "Inefficient Regular Expression Complexity in nth-check", "url": "https://github.com/advisories/GHSA-rp65-9cf3-cjxr", "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": "<2.0.1"}], "effects": ["css-select"], "range": "<2.0.1", "nodes": ["node_modules/nth-check"], "fixAvailable": {"name": "grunt-svgmin", "version": "7.0.0", "isSemVerMajor": true}}, "qs": {"name": "qs", "severity": "high", "isDirect": false, "via": [{"source": 1090135, "name": "qs", "dependency": "qs", "title": "qs vulnerable to Prototype Pollution", "url": "https://github.com/advisories/GHSA-hrpp-h998-j3pp", "severity": "high", "cwe": ["CWE-1321"], "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.5.0 <6.5.3"}, {"source": 1090137, "name": "qs", "dependency": "qs", "title": "qs vulnerable to Prototype Pollution", "url": "https://github.com/advisories/GHSA-hrpp-h998-j3pp", "severity": "high", "cwe": ["CWE-1321"], "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.7.0 <6.7.3"}, {"source": 1090139, "name": "qs", "dependency": "qs", "title": "qs vulnerable to Prototype Pollution", "url": "https://github.com/advisories/GHSA-hrpp-h998-j3pp", "severity": "high", "cwe": ["CWE-1321"], "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.9.0 <6.9.7"}], "effects": ["body-parser"], "range": "6.5.0 - 6.5.2 || 6.7.0 - 6.7.2 || 6.9.0 - 6.9.6", "nodes": ["", "", ""], "fixAvailable": true}, "qunit": {"name": "qunit", "severity": "high", "isDirect": true, "via": ["minimatch"], "effects": [], "range": "2.9.0 - 2.11.0", "nodes": ["node_modules/qunit"], "fixAvailable": {"name": "qunit", "version": "2.19.4", "isSemVerMajor": false}}, "request": {"name": "request", "severity": "moderate", "isDirect": false, "via": [{"source": 1091459, "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"}], "effects": ["grunt-css-url-embed"], "range": "*", "nodes": ["node_modules/request"], "fixAvailable": {"name": "grunt-css-url-embed", "version": "1.0.4", "isSemVerMajor": true}}, "socket.io": {"name": "socket.io", "severity": "high", "isDirect": false, "via": ["engine.io"], "effects": [], "range": "1.0.0-pre - 2.4.1", "nodes": [""], "fixAvailable": true}, "socket.io-parser": {"name": "socket.io-parser", "severity": "critical", "isDirect": false, "via": [{"source": 1091362, "name": "socket.io-parser", "dependency": "socket.io-parser", "title": "Insufficient validation when decoding a Socket.IO packet", "url": "https://github.com/advisories/GHSA-qm95-pgcg-qqfq", "severity": "critical", "cwe": ["CWE-20", "CWE-1287"], "cvss": {"score": 9.8, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H"}, "range": ">=3.4.0 <3.4.2"}, {"source": 1091363, "name": "socket.io-parser", "dependency": "socket.io-parser", "title": "Insufficient validation when decoding a Socket.IO packet", "url": "https://github.com/advisories/GHSA-qm95-pgcg-qqfq", "severity": "critical", "cwe": ["CWE-20", "CWE-1287"], "cvss": {"score": 9.8, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H"}, "range": "<3.3.3"}], "effects": [], "range": ">=3.4.0 <3.4.2 || <3.3.3", "nodes": ["", "node_modules/socket.io-parser"], "fixAvailable": true}, "svgo": {"name": "svgo", "severity": "high", "isDirect": false, "via": ["css-select"], "effects": ["grunt-svgmin"], "range": "1.0.0 - 1.3.2", "nodes": ["node_modules/svgo"], "fixAvailable": {"name": "grunt-svgmin", "version": "7.0.0", "isSemVerMajor": true}}, "ua-parser-js": {"name": "ua-parser-js", "severity": "high", "isDirect": false, "via": [{"source": 1088697, "name": "ua-parser-js", "dependency": "ua-parser-js", "title": "ReDoS Vulnerability in ua-parser-js version ", "url": "https://github.com/advisories/GHSA-fhg7-m89q-25r3", "severity": "high", "cwe": ["CWE-400", "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": "<0.7.33"}, {"source": 1089491, "name": "ua-parser-js", "dependency": "ua-parser-js", "title": "Regular Expression Denial of Service in ua-parser-js", "url": "https://github.com/advisories/GHSA-662x-fhqg-9p8v", "severity": "high", "cwe": ["CWE-400"], "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": "<0.7.22"}, {"source": 1089914, "name": "ua-parser-js", "dependency": "ua-parser-js", "title": "ua-parser-js Regular Expression Denial of Service vulnerability", "url": "https://github.com/advisories/GHSA-394c-5j6w-4xmx", "severity": "high", "cwe": ["CWE-400"], "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": "<0.7.23"}, {"source": 1089977, "name": "ua-parser-js", "dependency": "ua-parser-js", "title": "Regular Expression Denial of Service (ReDoS) in ua-parser-js", "url": "https://github.com/advisories/GHSA-78cj-fxph-m83p", "severity": "high", "cwe": ["CWE-400"], "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": ">=0.7.14 <0.7.24"}], "effects": ["karma"], "range": "<=0.7.32", "nodes": ["node_modules/ua-parser-js"], "fixAvailable": {"name": "karma", "version": "6.4.1", "isSemVerMajor": true}}}, "metadata": {"vulnerabilities": {"info": 0, "low": 0, "moderate": 2, "high": 13, "critical": 1, "total": 16}, "dependencies": {"prod": 1, "dev": 780, "optional": 3, "peer": 0, "peerOptional": 0, "total": 780}}}}
{}
Upgrading n:qunit from 2.10.0 -> 2.19.4
$ /usr/bin/npm audit fix --only=dev --legacy-peer-deps
--- 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 780 packages, and audited 781 packages in 14s

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

# npm audit report

karma  <=6.3.15
Severity: high
Open redirect in karma - https://github.com/advisories/GHSA-rc3x-jf5g-xvc5
Cross-site Scripting in karma - https://github.com/advisories/GHSA-7x7c-qm48-pq9c
Depends on vulnerable versions of ua-parser-js
fix available via `npm audit fix --force`
Will install karma@6.4.1, which is a breaking change
node_modules/karma

nth-check  <2.0.1
Severity: high
Inefficient Regular Expression Complexity in nth-check - https://github.com/advisories/GHSA-rp65-9cf3-cjxr
fix available via `npm audit fix --force`
Will install grunt-svgmin@7.0.0, which is a breaking change
node_modules/nth-check
  css-select  <=3.1.0
  Depends on vulnerable versions of nth-check
  node_modules/css-select
    svgo  1.0.0 - 1.3.2
    Depends on vulnerable versions of css-select
    node_modules/svgo
      grunt-svgmin  5.0.0 - 6.0.1
      Depends on vulnerable versions of svgo
      node_modules/grunt-svgmin

request  *
Severity: moderate
Server-Side Request Forgery in Request - https://github.com/advisories/GHSA-p8p7-x288-28g6
fix available via `npm audit fix --force`
Will install grunt-css-url-embed@1.0.4, which is a breaking change
node_modules/request
  grunt-css-url-embed  >=1.1.0
  Depends on vulnerable versions of request
  node_modules/grunt-css-url-embed

socket.io-parser  3.4.0 - 3.4.1
Severity: critical
Insufficient validation when decoding a Socket.IO packet - https://github.com/advisories/GHSA-qm95-pgcg-qqfq
fix available via `npm audit fix`
node_modules/socket.io-parser

ua-parser-js  <=0.7.32
Severity: high
ReDoS Vulnerability in ua-parser-js version  - https://github.com/advisories/GHSA-fhg7-m89q-25r3
Regular Expression Denial of Service in ua-parser-js - https://github.com/advisories/GHSA-662x-fhqg-9p8v
ua-parser-js Regular Expression Denial of Service vulnerability - https://github.com/advisories/GHSA-394c-5j6w-4xmx
Regular Expression Denial of Service (ReDoS) in ua-parser-js - https://github.com/advisories/GHSA-78cj-fxph-m83p
fix available via `npm audit fix --force`
Will install karma@6.4.1, which is a breaking change
node_modules/ua-parser-js

9 vulnerabilities (2 moderate, 6 high, 1 critical)

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

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

--- end ---
$ package-lock-lint package-lock.json
--- stdout ---
Checking package-lock.json

--- end ---
Verifying that tests still pass
$ /usr/bin/npm ci --legacy-peer-deps
--- stderr ---
npm WARN old lockfile 
npm WARN old lockfile The package-lock.json file was created with an old version of npm,
npm WARN old lockfile so supplemental metadata must be fetched from the registry.
npm WARN old lockfile 
npm WARN old lockfile This is a one-time fix-up, please be patient...
npm WARN old lockfile 
npm WARN deprecated kad-fs@0.0.4: This package is no longer maintained.
npm WARN deprecated kad-memstore@0.0.1: This package is no longer maintained.
npm WARN deprecated debug@4.1.1: Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)
npm WARN deprecated debug@4.1.1: Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)
npm WARN deprecated debug@4.1.1: Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)
npm WARN deprecated debug@4.1.1: Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)
npm WARN deprecated debug@4.1.1: Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)
npm WARN deprecated mkdirp@0.5.1: Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.)
npm WARN deprecated bson@1.1.3: Fixed a critical issue with BSON serialization documented in CVE-2019-2391, see https://bit.ly/2KcpXdo for more details
--- stdout ---

> visualeditor@0.0.0 postinstall
> cd rebaser && npm ci


added 194 packages, and audited 261 packages in 22s

28 vulnerabilities (7 moderate, 15 high, 6 critical)

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

To address all issues, run:
  npm audit fix --force

Run `npm audit` for details.

> visualeditor@0.0.0 prepare
> grunt build

Running "clean:dist" (clean) task
>> 0 paths cleaned.

Running "concat:rebaser.build" (concat) task

Running "concat:visualEditor.rebase.scripts" (concat) task

Running "concat:visualEditor.rebase.styles" (concat) task

Running "concat:js" (concat) task

Running "concat:css-apex" (concat) task

Running "concat:css-wikimediaui" (concat) task

Running "concat:jquery.i18n" (concat) task

Running "concat:jquery.uls.data" (concat) task

Running "cssjanus:apex" (cssjanus) task
File "dist/visualEditor-apex.rtl.css" created.

Running "cssjanus:wikimediaui" (cssjanus) task
File "dist/visualEditor-wikimediaui.rtl.css" created.

Running "cssUrlEmbed:dist" (cssUrlEmbed) task

Processing source file "dist/visualEditor-apex.css"
2 embeddable URLs found

Processing source file "dist/visualEditor-apex.rtl.css"
2 embeddable URLs found

Processing source file "dist/visualEditor-wikimediaui.css"
2 embeddable URLs found

Processing source file "dist/visualEditor-wikimediaui.rtl.css"
2 embeddable URLs found
>> "../../../ui/styles/images/resize-nw-se.svg" embedded
>> "../../../ui/styles/images/resize-nw-se.svg" embedded
>> "../../../ui/styles/images/resize-nw-se.svg" embedded
>> "../../../ui/styles/images/resize-nw-se.svg" embedded
>> "../../../ui/styles/images/resize-ne-sw.svg" embedded
File "dist/visualEditor-apex.css" created
>> "../../../ui/styles/images/resize-ne-sw.svg" embedded
File "dist/visualEditor-apex.rtl.css" created
>> "../../../ui/styles/images/resize-ne-sw.svg" embedded
File "dist/visualEditor-wikimediaui.css" created
>> "../../../ui/styles/images/resize-ne-sw.svg" embedded
File "dist/visualEditor-wikimediaui.rtl.css" created

Running "copy:i18n" (copy) task
Copied 201 files

Running "copy:lib" (copy) task
Created 28 directories, copied 1315 files

Running "buildloader:iframe" (buildloader) task
>> File ".jsduck/eg-iframe.html" written.

Running "buildloader:desktopDemoApex" (buildloader) task
>> File "demos/ve/desktop.html" written.

Running "buildloader:desktopDemoApexDist" (buildloader) task
>> File "demos/ve/desktop-dist.html" written.

Running "buildloader:desktopDemoWikimediaUI" (buildloader) task
>> File "demos/ve/desktop-wikimediaui.html" written.

Running "buildloader:desktopDemoWikimediaUIDist" (buildloader) task
>> File "demos/ve/desktop-wikimediaui-dist.html" written.

Running "buildloader:mobileDemo" (buildloader) task
>> File "demos/ve/mobile.html" written.

Running "buildloader:mobileDemoDist" (buildloader) task
>> File "demos/ve/mobile-dist.html" written.

Running "buildloader:minimalDemo" (buildloader) task
>> File "demos/ve/minimal.html" written.

Running "buildloader:minimalDemoRtl" (buildloader) task
>> File "demos/ve/minimal-rtl.html" written.

Running "buildloader:test" (buildloader) task
>> File "tests/index.html" written.

Done.

added 780 packages, and audited 781 packages in 40s

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

9 vulnerabilities (2 moderate, 6 high, 1 critical)

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

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

Run `npm audit` for details.

--- end ---
$ /usr/bin/npm test
--- stderr ---
(node:1375) [log4js-node-DEP0004] DeprecationWarning: Pattern %d{DATE} is deprecated due to the confusion it causes when used. Please use %d{DATETIME} instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:1375) [log4js-node-DEP0004] DeprecationWarning: Pattern %d{DATE} is deprecated due to the confusion it causes when used. Please use %d{DATETIME} instead.
(node:1375) [log4js-node-DEP0004] DeprecationWarning: Pattern %d{DATE} is deprecated due to the confusion it causes when used. Please use %d{DATETIME} instead.
(node:1375) [log4js-node-DEP0004] DeprecationWarning: Pattern %d{DATE} is deprecated due to the confusion it causes when used. Please use %d{DATETIME} instead.
(node:1375) [log4js-node-DEP0004] DeprecationWarning: Pattern %d{DATE} is deprecated due to the confusion it causes when used. Please use %d{DATETIME} instead.
(node:1375) [log4js-node-DEP0004] DeprecationWarning: Pattern %d{DATE} is deprecated due to the confusion it causes when used. Please use %d{DATETIME} instead.
(node:1375) [log4js-node-DEP0004] DeprecationWarning: Pattern %d{DATE} is deprecated due to the confusion it causes when used. Please use %d{DATETIME} instead.
(node:1375) [log4js-node-DEP0004] DeprecationWarning: Pattern %d{DATE} is deprecated due to the confusion it causes when used. Please use %d{DATETIME} instead.
(node:1375) [log4js-node-DEP0004] DeprecationWarning: Pattern %d{DATE} is deprecated due to the confusion it causes when used. Please use %d{DATETIME} instead.
(node:1375) [log4js-node-DEP0004] DeprecationWarning: Pattern %d{DATE} is deprecated due to the confusion it causes when used. Please use %d{DATETIME} instead.
(node:1375) [log4js-node-DEP0004] DeprecationWarning: Pattern %d{DATE} is deprecated due to the confusion it causes when used. Please use %d{DATETIME} instead.
(node:1375) [log4js-node-DEP0004] DeprecationWarning: Pattern %d{DATE} is deprecated due to the confusion it causes when used. Please use %d{DATETIME} instead.
--- stdout ---

> visualeditor@0.0.0 test
> grunt test

Running "tyops:src" (tyops) task
>> No typos found; 602 files checked for 18 typos.

Running "eslint:main" (eslint) task

Running "eslint:html" (eslint) task

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

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

Running "git-build" task

Running "clean:dist" (clean) task
>> 12 paths cleaned.

Running "concat:rebaser.build" (concat) task

Running "concat:visualEditor.rebase.scripts" (concat) task

Running "concat:visualEditor.rebase.styles" (concat) task

Running "concat:js" (concat) task

Running "concat:css-apex" (concat) task

Running "concat:css-wikimediaui" (concat) task

Running "concat:jquery.i18n" (concat) task

Running "concat:jquery.uls.data" (concat) task

Running "cssjanus:apex" (cssjanus) task
File "dist/visualEditor-apex.rtl.css" created.

Running "cssjanus:wikimediaui" (cssjanus) task
File "dist/visualEditor-wikimediaui.rtl.css" created.

Running "cssUrlEmbed:dist" (cssUrlEmbed) task

Processing source file "dist/visualEditor-apex.css"
2 embeddable URLs found

Processing source file "dist/visualEditor-apex.rtl.css"
2 embeddable URLs found

Processing source file "dist/visualEditor-wikimediaui.css"
2 embeddable URLs found

Processing source file "dist/visualEditor-wikimediaui.rtl.css"
2 embeddable URLs found
>> "../../../ui/styles/images/resize-nw-se.svg" embedded
>> "../../../ui/styles/images/resize-nw-se.svg" embedded
>> "../../../ui/styles/images/resize-nw-se.svg" embedded
>> "../../../ui/styles/images/resize-nw-se.svg" embedded
>> "../../../ui/styles/images/resize-ne-sw.svg" embedded
File "dist/visualEditor-apex.css" created
>> "../../../ui/styles/images/resize-ne-sw.svg" embedded
File "dist/visualEditor-apex.rtl.css" created
>> "../../../ui/styles/images/resize-ne-sw.svg" embedded
File "dist/visualEditor-wikimediaui.css" created
>> "../../../ui/styles/images/resize-ne-sw.svg" embedded
File "dist/visualEditor-wikimediaui.rtl.css" created

Running "copy:i18n" (copy) task
Copied 201 files

Running "copy:lib" (copy) task
Created 28 directories, copied 1315 files

Running "buildloader:iframe" (buildloader) task
>> File ".jsduck/eg-iframe.html" written.

Running "buildloader:desktopDemoApex" (buildloader) task
>> File "demos/ve/desktop.html" written.

Running "buildloader:desktopDemoApexDist" (buildloader) task
>> File "demos/ve/desktop-dist.html" written.

Running "buildloader:desktopDemoWikimediaUI" (buildloader) task
>> File "demos/ve/desktop-wikimediaui.html" written.

Running "buildloader:desktopDemoWikimediaUIDist" (buildloader) task
>> File "demos/ve/desktop-wikimediaui-dist.html" written.

Running "buildloader:mobileDemo" (buildloader) task
>> File "demos/ve/mobile.html" written.

Running "buildloader:mobileDemoDist" (buildloader) task
>> File "demos/ve/mobile-dist.html" written.

Running "buildloader:minimalDemo" (buildloader) task
>> File "demos/ve/minimal.html" written.

Running "buildloader:minimalDemoRtl" (buildloader) task
>> File "demos/ve/minimal-rtl.html" written.

Running "buildloader:test" (buildloader) task
>> File "tests/index.html" written.

Running "karma:chrome" (karma) task

START:
23 03 2023 18:40:13.423:WARN [filelist]: All files matched by "/src/repo/node_modules/qunit/qunit/qunit.js" were excluded or matched by prior matchers.
23 03 2023 18:40:23.549:INFO [karma-server]: Karma v5.0.9 server started at http://0.0.0.0:9876/
23 03 2023 18:40:23.549:INFO [launcher]: Launching browsers ChromeCustom with concurrency unlimited
23 03 2023 18:40:23.553:INFO [launcher]: Starting browser ChromeHeadless
23 03 2023 18:40:26.783:INFO [Chrome Headless 109.0.5414.119 (Linux x86_64)]: Connected on socket f8_abZ93qEvJKrXmAAAA with id 47066381
  ve
    ✔ compareClassLists
    ✔ isInstanceOfAny
    ✔ getDomAttributes
    ✔ setDomAttributes
    ✔ sparseSplice
    ✔ batchSplice
    ✔ batchPush
    ✔ insertIntoArray
    ✔ escapeHtml
    ✔ createDocumentFromHtml
    ✔ resolveUrl
    ✔ resolveAttributes
    ✔ fixBase
    ✔ isUriComponentValid
    ✔ safeDecodeURIComponent
    ✔ isBlockElement/isVoidElement
    ✔ graphemeSafeSubstring
    ✔ transformStyleAttributes
    ✔ normalizeNode
    ✔ getCommonAncestor
    ✔ getCommonStartSequenceLength
    ✔ adjacentDomPosition
    ✔ deepFreeze
    ✔ deepFreeze (on cyclic structure)
    ✔ deepFreeze (recursive, aliased)
  ve.EventSequencer
    ✔ EventSequencer
  ve.Scheduler
    ✔ Call with no real async
    ✔ Call with delay
    ✔ Test that throws an exception
    ✔ Test that never succeeds
  ve.Range
    ✔ Basic usage (isCollapsed, isBackwards, getLength, equals, equalsSelection, containsOffset, containsRange, touchesRange)
    ✔ Modification (flip, truncate, expand, translate)
    ✔ Factory methods & serialization (newCoveringRange, newFromJSON, toJSON)
  ve.Document
    ✔ getDocumentNode
  ve.Node
    ✔ getType
    ✔ getParent
    ✔ getRoot
  ve.BranchNode
    ✔ getChildren
    ✔ indexOf
    ✔ setDocument
  ve.dm.Annotation
    ✔ getHashObject
  ve.dm.AnnotationSet
    ✔ Basic usage
    ✔ Comparable
  ve.dm.LinkAnnotation
    ✔ getFragment
  ve.dm.NodeFactory
    ✔ getChildNodeTypes
    ✔ getParentNodeTypes
    ✔ canNodeHaveChildren
    ✔ canNodeTakeAnnotation
    ✔ canNodeHaveChildrenNotContent
    ✔ initialization
  ve.dm.Node
    ✔ canHaveChildren
    ✔ canHaveChildrenNotContent
    ✔ getLength
    ✔ getOuterLength
    ✔ setLength
    ✔ adjustLength
    ✔ getAttribute
    ✔ setRoot
    ✔ attach
    ✔ detach
    ✔ canBeMergedWith
    ✔ getClonedElement
  ve.dm.Converter
    ✔ getModelFromDom
    ✔ getModelFromDom with store argument
    ✔ getDomFromModel
    ✔ getFullData
    ✔ roundTripMetadata
  ve.dm.SourceConverter
    ✔ conversion
  ve.dm.BranchNode
    ✔ canHaveChildren
    ✔ canHaveChildrenNotContent
    ✔ setRoot
    ✔ setDocument
    ✔ push
    ✔ pop
    ✔ unshift
    ✔ shift
    ✔ splice
  ve.dm.LeafNode
    ✔ canHaveChildren
    ✔ canHaveChildrenNotContent
    ✔ getAnnotations
  ve.dm.TextNode
    ✔ getOuterLength
  ve.dm.Document
    ✔ constructor
    ✔ newBlankDocument
    ✔ getData
    ✔ getFullData
    ✔ cloneFromRange
    ✔ getRelativeOffset
    ✔ getRelativeRange
    ✔ getBranchNodeFromOffset
    ✔ hasSlugAtOffset
    ✔ getDataFromNode
    ✔ getOuterLength
    ✔ rebuildNodes
    ✔ selectNodes
    ✔ rangeInsideOneLeafNode
    ✔ shallowCloneFromRange
    ✔ protection against double application of transactions
    ✔ getNearestCursorOffset
    ✔ Selection equality
    ✔ findText (plain text)
    ✔ findText (non-text content)
    ✔ fixupInsertion
  ve.dm.HashValueStore
    ✔ hash(es)
    ✔ value(s)
    ✔ slice
  ve.dm.InternalList
    ✔ getDocument
    ✔ queueItemHtml/getItemHtmlQueue
    ✔ convertToData
    ✔ clone
  ve.dm.LinearData
    ✔ basic usage
    ✔ slice(Object)/splice(Object)/batchSplice
  ve.dm.Transaction
    ✔ translateOffset
    ✔ translateRange
    ✔ getModifiedRange
    ✔ Metadata transactions
  ve.dm.TransactionBuilder
    ✔ newFromInsertion
    ✔ newFromRemoval
    ✔ newFromReplacement
    ✔ newFromDocumentInsertion
    ✔ newFromAttributeChanges
    ✔ newFromAnnotation
    ✔ newFromContentBranchConversion
    ✔ newFromWrap
    ✔ pushRetain
    ✔ pushReplacement
    ✔ pushReplaceElementAttribute
    ✔ isNoOp
    ✔ operations/build from operations
    ✔ newFromRemoval preserving metadata
  ve.dm.TransactionSquasher
    ✔ squash
  ve.dm.Change
    ✔ rebaseTransactions
    ✔ Change operations
    ✔ Rebase with conflicting annotations
    ✔ toJSON/deserialize/unsafeDeserialize
    ✔ Minified serialization
    ✔ Same-offset typing
  ve.dm.RebaseServer
    ✔ Rebase
  ve.dm.DocumentStore
    ✔ Create
  ve.dm.TransportServer
    ✔ Create
  ve.dm.TreeModifier
    ✔ treeDiff
    ✔ modify
    ✔ bare content
    ✔ applyTreeOperation: ensureNotText
    ✔ setupBlockSlugs
    ✔ checkEqualData
    ✔ TreeCursor#crossIgnoredNodes
    ✔ TreeCursor#normalizeCursor
  ve.dm.TransactionProcessor
    ✔ commit
    ✔ undo clear annotation
  ve.dm.Surface
    ✔ getDocument
    ✔ getSelection
    ✔ setSelection out of range
    ✔ contextChange events
    ✔ documentUpdate/select events
    ✔ breakpoint/undo/redo
    ✔ multi-user undo
    ✔ change rollback
    ✔ range translation
    ✔ staging
    ✔ getOffsetFromSourceOffset / getSourceOffsetFromOffset / getRangeFromSourceOffsets
    ✔ autosave
  ve.dm.SurfaceFragment
    ✔ constructor
    ✔ update
    ✔ getSelectedModels
    ✔ getAnnotations
    ✔ hasAnnotations
    ✔ adjustLinearSelection
    ✔ truncateLinearSelection
    ✔ collapseToStart/End
    ✔ expandLinearSelection (annotation)
    ✔ expandLinearSelection (closest)
    ✔ expandLinearSelection (word)
    ✔ removeContent
    ✔ delete
    ✔ insertContent/insertDocument
    ✔ changeAttributes
    ✔ wrapNodes/unwrapNodes
    ✔ rewrapNodes
    ✔ wrapAllNodes
    ✔ rewrapAllNodes
    ✔ isolateAndUnwrap
  ve.dm.SourceSurfaceFragment
    ✔ insertContent/insertDocument
  ve.dm.ModelRegistry
    ✔ register/unregister/matchElement
    ✔ isAnnotation
  ve.dm.MetaList
    ✔ constructor
    ✔ onTransact
  ve.dm.Scalable
    ✔ construction/clone/getters/setters/toggleDefault/clearers
    ✔ getBoundedDimensions/getCurrentScale/isCurrentDimensionsValid/isTooSmall/isTooLarge
    ✔ isDefault/toggleDefault
    ✔ isDimensionsObjectValid
    ✔ getDimensionsFromValue
  ve.dm.LinearSelection
    ✔ Construction and getters (getRange(s))
    ✔ Basic methods (collapse*, isCollased, equals, isNull)
    ✔ Factory methods & serialization (newFromJSON, toJSON, getDescription)
  ve.dm.NullSelection
    ✔ Construction and getters (getDocument, getRanges)
    ✔ Basic methods (collapse*, isCollased, equals, isNull)
    ✔ Factory methods & serialization (newFromJSON, toJSON, getDescription)
  ve.dm.TableSelection
    ✔ Construction and getters (getDocument, getRanges, getOuterRanges, getTableNode)
    ✔ Basic methods (expand, collapse*, getRange(s), isCollased, isSingleCell, equals, isNull, isFullRow/Col, getRow/ColCount)
    ✔ Factory methods & serialization (newFromJSON, toJSON, getDescription)
  ve.dm.FlatLinearData
    ✔ getType/isOpenElementData/isCloseElementData
    ✔ isElementData
    ✔ containsElementData
  ve.dm.ElementLinearData
    ✔ getAnnotationsFromOffset
    ✔ getAnnotationsFromRange
    ✔ getInsertionAnnotationsFromRange
    ✔ getAnnotatedRangeFromOffset
    ✔ trimOuterSpaceFromRange
    ✔ isContentOffset
    ✔ isStructuralOffset
    ✔ getCharacterData
    ✔ isPlainText
    ✔ getText
    ✔ getSourceText
    ✔ isContentData
    ✔ getRelativeOffset
    ✔ getRelativeContentOffset
    ✔ getNearestContentOffset
    ✔ getRelativeStructuralOffset
    ✔ getNearestStructuralOffset
    ✔ getWordRange
    ✔ sanitize
    ✔ countNonInternalElements
    ✔ hasContent
    ✔ getAnnotationHashesFromOffset
    ✔ getUsedStoreValues
    ✔ compareElements and compareElementsUnannotated
  ve.ce
    ✔ getDomHash/getDomText (with ve.dm.Converter)
    ✔ getDomHash/getDomText (without ve.dm.Converter)
    ✔ getOffset
    ✔ isShortcutKey
    ✔ nextCursorOffset
    ✔ resolveTestOffset
    ✔ fakeImes
    ✔ isAfterAnnotationBoundary
  ve.ce.Document
    ✔ Converter tests
    ✔ getNodeAndOffset
    ✔ attachedRoot
  ve.ce.Surface
    ✔ handleObservedChanges (content changes)
    ✔ handleDataTransfer/handleDataTransferItems
    ✔ getClipboardHash
    ✔ onCopy
    ✔ beforePaste/afterPaste
    ✔ onDocumentDragStart/onDocumentDrop
    ✔ getSelectionState
    ✔ findBlockSlug
  ve.ce.RangeState
    ✔ Basic tests
  ve.ce.TextState
    ✔ getChangeTransaction
  ve.ce.NodeFactory
    ✔ splitNodeOnEnter/getDescription
    ✔ initialization
  ve.ce.AnnotationFactory
    ✔ canAnnotationBeActive/getDescription
    ✔ initialization
  ve.ce.Node
    ✔ getModel
    ✔ getParent
    ✔ attach
    ✔ detach
  ve.ce.BranchNode
    ✔ splitOnEnter
    ✔ canHaveChildren
    ✔ canHaveChildrenNotContent
    ✔ updateTagName
    ✔ getDomPosition
    ✔ onSplice
  ve.ce.ContentBranchNode
    ✔ getRenderedContents
  ve.ce.LeafNode
    ✔ splitOnEnter
    ✔ canHaveChildren
    ✔ canHaveChildrenNotContent
  ve.ce.Selection
    ✔ Rects
    ✔ getDirectionality
    ✔ equals
  ve.ce.LinearArrowKeyDownHandler
    ✔ special key down: linear arrow keys
  ve.ce.LinearDeleteKeyDownHandler
    ✔ special key down: linear backspace/delete
  ve.ce.LinearEnterKeyDownHandler
    ✔ special key down: linear enter
  ve.ce.LinearEscapeKeyDownHandler
    ✔ special key down: linear escape
  ve.ce.TableArrowKeyDownHandler
    ✔ special key down: table arrow keys (complex movements)
    ✔ special key down: table arrow keys (simple movements)
  ve.ce.TableDeleteKeyDownHandler
    ✔ special key down: table backspace/delete
  ve.ce.TableEnterKeyDownHandler
    ✔ special key down: table enter
  ve.ce.TableF2KeyDownHandler
    ✔ special key down: table f2
  ve.ce.ResizableNode
    ✔ updateSizeLabel
    ✔ resize events
    ✔ notResizable
  ve.ce.TextNode
    ✔ getAnnotatedHtml
  ve.ce.TableNode
    ✔ getNearestCellNode
    ✔ getFirstSectionNode
    ✔ onTableMouseDown/onTableMouseMove/onTableMouseUp/onTableDblClick
    ✔ onTableMouseDown
  ve.init.sa.Platform
    ✔ getUserConfig
    ✔ setUserConfig
    ✔ messages
    ✔ parsedMessage
  ve.ui.DataTransferHandlerFactory
    ✔ getHandlerNameForItem
  ve.ui.Trigger
    ✔ constructor
  ve.ui.Sequence
    ✔ checkSequences
  ve.ui.DiffElement
    ✔ Diffing
    ✔ compareAttributes/describeChanges
  ve.ui.PreviewElement
    ✔ Basic tests
  ve.ui.AnnotationAction
    ✔ toggle
  ve.ui.BlockquoteAction
    ✔ wrap/unwrap/toggle
  ve.ui.ContentAction
    ✔ insert/remove/select/selectAll
  ve.ui.FormatAction
    ✔ convert
  ve.ui.IndentationAction
    ✔ increase/decrease
  ve.ui.LinkAction
    ✔ autolink
  ve.ui.ListAction
    ✔ (un)wrap
  ve.ui.TableAction
    ✔ create / insert / mergeCells / delete / changeCellStyle / moveRelative
  ve.ui.WindowAction
    ✔ Basic open/close
  ve.ui.DSVFileTransferHandler
    ✔ getInsertableData
  ve.ui.UrlStringTransferHandler
    ✔ paste
  ve.ui.FindAndReplaceDialog
    ✔ find fragments
    ✔ replace all
  ve.ui.FragmentInspector
    ✔ Different selections and inputs
23 03 2023 18:41:11.821:WARN [Chrome Headless 109.0.5414.119 (Linux x86_64)]: Disconnected (0 times), because no message in 30000 ms.
Chrome Headless 109.0.5414.119 (Linux x86_64) ERROR
  Disconnected, because no message in 30000 ms.
23 03 2023 18:41:11.825:INFO [karma-server]: Restarting Chrome Headless 109.0.5414.119 (Linux x86_64) (1 of 2 attempts)
23 03 2023 18:41:12.441:INFO [Chrome Headless 109.0.5414.119 (Linux x86_64)]: Disconnected browser returned on socket nTdNVoU9ZHkjT7EUAAAC with id 47066381.
    ✔ compareClassLists 
    ✔ isInstanceOfAny 
    ✔ getDomAttributes 
    ✔ setDomAttributes 
    ✔ sparseSplice 
    ✔ batchSplice 
    ✔ batchPush 
    ✔ insertIntoArray 
    ✔ escapeHtml 
    ✔ createDocumentFromHtml 
    ✔ resolveUrl 
    ✔ resolveAttributes 
    ✔ fixBase 
    ✔ isUriComponentValid 
    ✔ safeDecodeURIComponent 
    ✔ isBlockElement/isVoidElement 
    ✔ graphemeSafeSubstring 
    ✔ transformStyleAttributes 
    ✔ normalizeNode 
    ✔ getCommonAncestor 
    ✔ getCommonStartSequenceLength 
    ✔ adjacentDomPosition 
    ✔ deepFreeze 
    ✔ deepFreeze (on cyclic structure) 
    ✔ deepFreeze (recursive, aliased) 
    ✔ EventSequencer 
    ✔ Call with no real async 
    ✔ Call with delay 
    ✔ Test that throws an exception 
    ✔ Test that never succeeds 
    ✔ Basic usage (isCollapsed, isBackwards, getLength, equals, equalsSelection, containsOffset, containsRange, touchesRange) 
    ✔ Modification (flip, truncate, expand, translate) 
    ✔ Factory methods & serialization (newCoveringRange, newFromJSON, toJSON) 
    ✔ getDocumentNode 
    ✔ getType 
    ✔ getParent 
    ✔ getRoot 
    ✔ getChildren 
    ✔ indexOf 
    ✔ setDocument 
    ✔ getHashObject 
    ✔ Basic usage 
    ✔ Comparable 
    ✔ getFragment 
    ✔ getChildNodeTypes 
    ✔ getParentNodeTypes 
    ✔ canNodeHaveChildren 
    ✔ canNodeTakeAnnotation 
    ✔ canNodeHaveChildrenNotContent 
    ✔ initialization 
    ✔ canHaveChildren 
    ✔ canHaveChildrenNotContent 
    ✔ getLength 
    ✔ getOuterLength 
    ✔ setLength 
    ✔ adjustLength 
    ✔ getAttribute 
    ✔ setRoot 
    ✔ attach 
    ✔ detach 
    ✔ canBeMergedWith 
    ✔ getClonedElement 
    ✔ getModelFromDom 
    ✔ getModelFromDom with store argument 
    ✔ getDomFromModel 
    ✔ getFullData 
    ✔ roundTripMetadata 
    ✔ conversion 
    ✔ canHaveChildren 
    ✔ canHaveChildrenNotContent 
    ✔ setRoot 
    ✔ setDocument 
    ✔ push 
    ✔ pop 
    ✔ unshift 
    ✔ shift 
    ✔ splice 
    ✔ canHaveChildren 
    ✔ canHaveChildrenNotContent 
    ✔ getAnnotations 
    ✔ getOuterLength 
    ✔ constructor 
    ✔ newBlankDocument 
    ✔ getData 
    ✔ getFullData 
    ✔ cloneFromRange 
    ✔ getRelativeOffset 
    ✔ getRelativeRange 
    ✔ getBranchNodeFromOffset 
    ✔ hasSlugAtOffset 
    ✔ getDataFromNode 
    ✔ getOuterLength 
    ✔ rebuildNodes 
    ✔ selectNodes 
    ✔ rangeInsideOneLeafNode 
    ✔ shallowCloneFromRange 
    ✔ protection against double application of transactions 
    ✔ getNearestCursorOffset 
    ✔ Selection equality 
    ✔ findText (plain text) 
    ✔ findText (non-text content) 
    ✔ fixupInsertion 
    ✔ hash(es) 
    ✔ value(s) 
    ✔ slice 
    ✔ getDocument 
    ✔ queueItemHtml/getItemHtmlQueue 
    ✔ convertToData 
    ✔ clone 
    ✔ basic usage 
    ✔ slice(Object)/splice(Object)/batchSplice 
    ✔ translateOffset 
    ✔ translateRange 
    ✔ getModifiedRange 
    ✔ Metadata transactions 
    ✔ newFromInsertion 
    ✔ newFromRemoval 
    ✔ newFromReplacement 
    ✔ newFromDocumentInsertion 
    ✔ newFromAttributeChanges 
    ✔ newFromAnnotation 
    ✔ newFromContentBranchConversion 
    ✔ newFromWrap 
    ✔ pushRetain 
    ✔ pushReplacement 
    ✔ pushReplaceElementAttribute 
    ✔ isNoOp 
    ✔ operations/build from operations 
    ✔ newFromRemoval preserving metadata 
    ✔ squash 
    ✔ rebaseTransactions 
    ✔ Change operations 
    ✔ Rebase with conflicting annotations 
    ✔ toJSON/deserialize/unsafeDeserialize 
    ✔ Minified serialization 
    ✔ Same-offset typing 
    ✔ Rebase 
    ✔ Create 
    ✔ Create 
    ✔ treeDiff 
    ✔ modify 
    ✔ bare content 
    ✔ applyTreeOperation: ensureNotText 
    ✔ setupBlockSlugs 
    ✔ checkEqualData 
    ✔ TreeCursor#crossIgnoredNodes 
    ✔ TreeCursor#normalizeCursor 
    ✔ commit 
    ✔ undo clear annotation 
    ✔ getDocument 
    ✔ getSelection 
    ✔ setSelection out of range 
    ✔ contextChange events 
    ✔ documentUpdate/select events 
    ✔ breakpoint/undo/redo 
    ✔ multi-user undo 
    ✔ change rollback 
    ✔ range translation 
    ✔ staging 
    ✔ getOffsetFromSourceOffset / getSourceOffsetFromOffset / getRangeFromSourceOffsets 
    ✔ autosave 
    ✔ constructor 
    ✔ update 
    ✔ getSelectedModels 
    ✔ getAnnotations 
    ✔ hasAnnotations 
    ✔ adjustLinearSelection 
    ✔ truncateLinearSelection 
    ✔ collapseToStart/End 
    ✔ expandLinearSelection (annotation) 
    ✔ expandLinearSelection (closest) 
    ✔ expandLinearSelection (word) 
    ✔ removeContent 
    ✔ delete 
    ✔ insertContent/insertDocument 
    ✔ changeAttributes 
    ✔ wrapNodes/unwrapNodes 
    ✔ rewrapNodes 
    ✔ wrapAllNodes 
    ✔ rewrapAllNodes 
    ✔ isolateAndUnwrap 
    ✔ insertContent/insertDocument 
    ✔ register/unregister/matchElement 
    ✔ isAnnotation 
    ✔ constructor 
    ✔ onTransact 
    ✔ construction/clone/getters/setters/toggleDefault/clearers 
    ✔ getBoundedDimensions/getCurrentScale/isCurrentDimensionsValid/isTooSmall/isTooLarge 
    ✔ isDefault/toggleDefault 
    ✔ isDimensionsObjectValid 
    ✔ getDimensionsFromValue 
    ✔ Construction and getters (getRange(s)) 
    ✔ Basic methods (collapse*, isCollased, equals, isNull) 
    ✔ Factory methods & serialization (newFromJSON, toJSON, getDescription) 
    ✔ Construction and getters (getDocument, getRanges) 
    ✔ Basic methods (collapse*, isCollased, equals, isNull) 
    ✔ Factory methods & serialization (newFromJSON, toJSON, getDescription) 
    ✔ Construction and getters (getDocument, getRanges, getOuterRanges, getTableNode) 
    ✔ Basic methods (expand, collapse*, getRange(s), isCollased, isSingleCell, equals, isNull, isFullRow/Col, getRow/ColCount) 
    ✔ Factory methods & serialization (newFromJSON, toJSON, getDescription) 
    ✔ getType/isOpenElementData/isCloseElementData 
    ✔ isElementData 
    ✔ containsElementData 
    ✔ getAnnotationsFromOffset 
    ✔ getAnnotationsFromRange 
    ✔ getInsertionAnnotationsFromRange 
    ✔ getAnnotatedRangeFromOffset 
    ✔ trimOuterSpaceFromRange 
    ✔ isContentOffset 
    ✔ isStructuralOffset 
    ✔ getCharacterData 
    ✔ isPlainText 
    ✔ getText 
    ✔ getSourceText 
    ✔ isContentData 
    ✔ getRelativeOffset 
    ✔ getRelativeContentOffset 
    ✔ getNearestContentOffset 
    ✔ getRelativeStructuralOffset 
    ✔ getNearestStructuralOffset 
    ✔ getWordRange 
    ✔ sanitize 
    ✔ countNonInternalElements 
    ✔ hasContent 
    ✔ getAnnotationHashesFromOffset 
    ✔ getUsedStoreValues 
    ✔ compareElements and compareElementsUnannotated 
    ✔ getDomHash/getDomText (with ve.dm.Converter) 
    ✔ getDomHash/getDomText (without ve.dm.Converter) 
    ✔ getOffset 
    ✔ isShortcutKey 
    ✔ nextCursorOffset 
    ✔ resolveTestOffset 
    ✔ fakeImes 
    ✔ isAfterAnnotationBoundary 
    ✔ Converter tests 
    ✔ getNodeAndOffset 
    ✔ attachedRoot 
    ✔ handleObservedChanges (content changes) 
    ✔ handleDataTransfer/handleDataTransferItems 
    ✔ getClipboardHash 
    ✔ onCopy 
    ✔ beforePaste/afterPaste 
    ✔ onDocumentDragStart/onDocumentDrop 
    ✔ getSelectionState 
    ✔ findBlockSlug 
    ✔ Basic tests 
    ✔ getChangeTransaction 
    ✔ splitNodeOnEnter/getDescription 
    ✔ initialization 
    ✔ canAnnotationBeActive/getDescription 
    ✔ initialization 
    ✔ getModel 
    ✔ getParent 
    ✔ attach 
    ✔ detach 
    ✔ splitOnEnter 
    ✔ canHaveChildren 
    ✔ canHaveChildrenNotContent 
    ✔ updateTagName 
    ✔ getDomPosition 
    ✔ onSplice 
    ✔ getRenderedContents 
    ✔ splitOnEnter 
    ✔ canHaveChildren 
    ✔ canHaveChildrenNotContent 
    ✔ Rects 
    ✔ getDirectionality 
    ✔ equals 
    ✔ special key down: linear arrow keys 
    ✔ special key down: linear backspace/delete 
    ✔ special key down: linear enter 
    ✔ special key down: linear escape 
    ✔ special key down: table arrow keys (complex movements) 
    ✔ special key down: table arrow keys (simple movements) 
    ✔ special key down: table backspace/delete 
    ✔ special key down: table enter 
    ✔ special key down: table f2 
    ✔ updateSizeLabel 
    ✔ resize events 
    ✔ notResizable 
    ✔ getAnnotatedHtml 
    ✔ getNearestCellNode 
    ✔ getFirstSectionNode 
    ✔ onTableMouseDown/onTableMouseMove/onTableMouseUp/onTableDblClick 
    ✔ onTableMouseDown 
    ✔ getUserConfig 
    ✔ setUserConfig 
    ✔ messages 
    ✔ parsedMessage 
    ✔ getHandlerNameForItem 
    ✔ constructor 
    ✔ checkSequences 
    ✔ Diffing 
    ✔ compareAttributes/describeChanges 
    ✔ Basic tests 
    ✔ toggle 
    ✔ wrap/unwrap/toggle 
    ✔ insert/remove/select/selectAll 
    ✔ convert 
    ✔ increase/decrease 
    ✔ autolink 
    ✔ (un)wrap 
    ✔ create / insert / mergeCells / delete / changeCellStyle / moveRelative 
    ✔ Basic open/close 
    ✔ getInsertableData 
    ✔ paste 
    ✔ find fragments 
    ✔ replace all 
    ✔ Different selections and inputs 
23 03 2023 18:41:56.836:WARN [Chrome Headless 109.0.5414.119 (Linux x86_64)]: Disconnected (1 times), because no message in 30000 ms.
Chrome Headless 109.0.5414.119 (Linux x86_64) ERROR
  Disconnected, because no message in 30000 ms.
23 03 2023 18:41:56.837:INFO [karma-server]: Restarting Chrome Headless 109.0.5414.119 (Linux x86_64) (2 of 2 attempts)
23 03 2023 18:41:57.400:INFO [Chrome Headless 109.0.5414.119 (Linux x86_64)]: Disconnected browser returned on socket SuYkhYMZ-dW0seN3AAAE with id 47066381.
    ✔ compareClassLists 
    ✔ isInstanceOfAny 
    ✔ getDomAttributes 
    ✔ setDomAttributes 
    ✔ sparseSplice 
    ✔ batchSplice 
    ✔ batchPush 
    ✔ insertIntoArray 
    ✔ escapeHtml 
    ✔ createDocumentFromHtml 
    ✔ resolveUrl 
    ✔ resolveAttributes 
    ✔ fixBase 
    ✔ isUriComponentValid 
    ✔ safeDecodeURIComponent 
    ✔ isBlockElement/isVoidElement 
    ✔ graphemeSafeSubstring 
    ✔ transformStyleAttributes 
    ✔ normalizeNode 
    ✔ getCommonAncestor 
    ✔ getCommonStartSequenceLength 
    ✔ adjacentDomPosition 
    ✔ deepFreeze 
    ✔ deepFreeze (on cyclic structure) 
    ✔ deepFreeze (recursive, aliased) 
    ✔ EventSequencer 
    ✔ Call with no real async 
    ✔ Call with delay 
    ✔ Test that throws an exception 
    ✔ Test that never succeeds 
    ✔ Basic usage (isCollapsed, isBackwards, getLength, equals, equalsSelection, containsOffset, containsRange, touchesRange) 
    ✔ Modification (flip, truncate, expand, translate) 
    ✔ Factory methods & serialization (newCoveringRange, newFromJSON, toJSON) 
    ✔ getDocumentNode 
    ✔ getType 
    ✔ getParent 
    ✔ getRoot 
    ✔ getChildren 
    ✔ indexOf 
    ✔ setDocument 
    ✔ getHashObject 
    ✔ Basic usage 
    ✔ Comparable 
    ✔ getFragment 
    ✔ getChildNodeTypes 
    ✔ getParentNodeTypes 
    ✔ canNodeHaveChildren 
    ✔ canNodeTakeAnnotation 
    ✔ canNodeHaveChildrenNotContent 
    ✔ initialization 
    ✔ canHaveChildren 
    ✔ canHaveChildrenNotContent 
    ✔ getLength 
    ✔ getOuterLength 
    ✔ setLength 
    ✔ adjustLength 
    ✔ getAttribute 
    ✔ setRoot 
    ✔ attach 
    ✔ detach 
    ✔ canBeMergedWith 
    ✔ getClonedElement 
    ✔ getModelFromDom 
    ✔ getModelFromDom with store argument 
    ✔ getDomFromModel 
    ✔ getFullData 
    ✔ roundTripMetadata 
    ✔ conversion 
    ✔ canHaveChildren 
    ✔ canHaveChildrenNotContent 
    ✔ setRoot 
    ✔ setDocument 
    ✔ push 
    ✔ pop 
    ✔ unshift 
    ✔ shift 
    ✔ splice 
    ✔ canHaveChildren 
    ✔ canHaveChildrenNotContent 
    ✔ getAnnotations 
    ✔ getOuterLength 
    ✔ constructor 
    ✔ newBlankDocument 
    ✔ getData 
    ✔ getFullData 
    ✔ cloneFromRange 
    ✔ getRelativeOffset 
    ✔ getRelativeRange 
    ✔ getBranchNodeFromOffset 
    ✔ hasSlugAtOffset 
    ✔ getDataFromNode 
    ✔ getOuterLength 
    ✔ rebuildNodes 
    ✔ selectNodes 
    ✔ rangeInsideOneLeafNode 
    ✔ shallowCloneFromRange 
    ✔ protection against double application of transactions 
    ✔ getNearestCursorOffset 
    ✔ Selection equality 
    ✔ findText (plain text) 
    ✔ findText (non-text content) 
    ✔ fixupInsertion 
    ✔ hash(es) 
    ✔ value(s) 
    ✔ slice 
    ✔ getDocument 
    ✔ queueItemHtml/getItemHtmlQueue 
    ✔ convertToData 
    ✔ clone 
    ✔ basic usage 
    ✔ slice(Object)/splice(Object)/batchSplice 
    ✔ translateOffset 
    ✔ translateRange 
    ✔ getModifiedRange 
    ✔ Metadata transactions 
    ✔ newFromInsertion 
    ✔ newFromRemoval 
    ✔ newFromReplacement 
    ✔ newFromDocumentInsertion 
    ✔ newFromAttributeChanges 
    ✔ newFromAnnotation 
    ✔ newFromContentBranchConversion 
    ✔ newFromWrap 
    ✔ pushRetain 
    ✔ pushReplacement 
    ✔ pushReplaceElementAttribute 
    ✔ isNoOp 
    ✔ operations/build from operations 
    ✔ newFromRemoval preserving metadata 
    ✔ squash 
    ✔ rebaseTransactions 
    ✔ Change operations 
    ✔ Rebase with conflicting annotations 
    ✔ toJSON/deserialize/unsafeDeserialize 
    ✔ Minified serialization 
    ✔ Same-offset typing 
    ✔ Rebase 
    ✔ Create 
    ✔ Create 
    ✔ treeDiff 
    ✔ modify 
    ✔ bare content 
    ✔ applyTreeOperation: ensureNotText 
    ✔ setupBlockSlugs 
    ✔ checkEqualData 
    ✔ TreeCursor#crossIgnoredNodes 
    ✔ TreeCursor#normalizeCursor 
    ✔ commit 
    ✔ undo clear annotation 
    ✔ getDocument 
    ✔ getSelection 
    ✔ setSelection out of range 
    ✔ contextChange events 
    ✔ documentUpdate/select events 
    ✔ breakpoint/undo/redo 
    ✔ multi-user undo 
    ✔ change rollback 
    ✔ range translation 
    ✔ staging 
    ✔ getOffsetFromSourceOffset / getSourceOffsetFromOffset / getRangeFromSourceOffsets 
    ✔ autosave 
    ✔ constructor 
    ✔ update 
    ✔ getSelectedModels 
    ✔ getAnnotations 
    ✔ hasAnnotations 
    ✔ adjustLinearSelection 
    ✔ truncateLinearSelection 
    ✔ collapseToStart/End 
    ✔ expandLinearSelection (annotation) 
    ✔ expandLinearSelection (closest) 
    ✔ expandLinearSelection (word) 
    ✔ removeContent 
    ✔ delete 
    ✔ insertContent/insertDocument 
    ✔ changeAttributes 
    ✔ wrapNodes/unwrapNodes 
    ✔ rewrapNodes 
    ✔ wrapAllNodes 
    ✔ rewrapAllNodes 
    ✔ isolateAndUnwrap 
    ✔ insertContent/insertDocument 
    ✔ register/unregister/matchElement 
    ✔ isAnnotation 
    ✔ constructor 
    ✔ onTransact 
    ✔ construction/clone/getters/setters/toggleDefault/clearers 
    ✔ getBoundedDimensions/getCurrentScale/isCurrentDimensionsValid/isTooSmall/isTooLarge 
    ✔ isDefault/toggleDefault 
    ✔ isDimensionsObjectValid 
    ✔ getDimensionsFromValue 
    ✔ Construction and getters (getRange(s)) 
    ✔ Basic methods (collapse*, isCollased, equals, isNull) 
    ✔ Factory methods & serialization (newFromJSON, toJSON, getDescription) 
    ✔ Construction and getters (getDocument, getRanges) 
    ✔ Basic methods (collapse*, isCollased, equals, isNull) 
    ✔ Factory methods & serialization (newFromJSON, toJSON, getDescription) 
    ✔ Construction and getters (getDocument, getRanges, getOuterRanges, getTableNode) 
    ✔ Basic methods (expand, collapse*, getRange(s), isCollased, isSingleCell, equals, isNull, isFullRow/Col, getRow/ColCount) 
    ✔ Factory methods & serialization (newFromJSON, toJSON, getDescription) 
    ✔ getType/isOpenElementData/isCloseElementData 
    ✔ isElementData 
    ✔ containsElementData 
    ✔ getAnnotationsFromOffset 
    ✔ getAnnotationsFromRange 
    ✔ getInsertionAnnotationsFromRange 
    ✔ getAnnotatedRangeFromOffset 
    ✔ trimOuterSpaceFromRange 
    ✔ isContentOffset 
    ✔ isStructuralOffset 
    ✔ getCharacterData 
    ✔ isPlainText 
    ✔ getText 
    ✔ getSourceText 
    ✔ isContentData 
    ✔ getRelativeOffset 
    ✔ getRelativeContentOffset 
    ✔ getNearestContentOffset 
    ✔ getRelativeStructuralOffset 
    ✔ getNearestStructuralOffset 
    ✔ getWordRange 
    ✔ sanitize 
    ✔ countNonInternalElements 
    ✔ hasContent 
    ✔ getAnnotationHashesFromOffset 
    ✔ getUsedStoreValues 
    ✔ compareElements and compareElementsUnannotated 
    ✔ getDomHash/getDomText (with ve.dm.Converter) 
    ✔ getDomHash/getDomText (without ve.dm.Converter) 
    ✔ getOffset 
    ✔ isShortcutKey 
    ✔ nextCursorOffset 
    ✔ resolveTestOffset 
    ✔ fakeImes 
    ✔ isAfterAnnotationBoundary 
    ✔ Converter tests 
    ✔ getNodeAndOffset 
    ✔ attachedRoot 
    ✔ handleObservedChanges (content changes) 
    ✔ handleDataTransfer/handleDataTransferItems 
    ✔ getClipboardHash 
    ✔ onCopy 
    ✔ beforePaste/afterPaste 
    ✔ onDocumentDragStart/onDocumentDrop 
    ✔ getSelectionState 
    ✔ findBlockSlug 
    ✔ Basic tests 
    ✔ getChangeTransaction 
    ✔ splitNodeOnEnter/getDescription 
    ✔ initialization 
    ✔ canAnnotationBeActive/getDescription 
    ✔ initialization 
    ✔ getModel 
    ✔ getParent 
    ✔ attach 
    ✔ detach 
    ✔ splitOnEnter 
    ✔ canHaveChildren 
    ✔ canHaveChildrenNotContent 
    ✔ updateTagName 
    ✔ getDomPosition 
    ✔ onSplice 
    ✔ getRenderedContents 
    ✔ splitOnEnter 
    ✔ canHaveChildren 
    ✔ canHaveChildrenNotContent 
    ✔ Rects 
    ✔ getDirectionality 
    ✔ equals 
    ✔ special key down: linear arrow keys 
    ✔ special key down: linear backspace/delete 
    ✔ special key down: linear enter 
    ✔ special key down: linear escape 
    ✔ special key down: table arrow keys (complex movements) 
    ✔ special key down: table arrow keys (simple movements) 
    ✔ special key down: table backspace/delete 
    ✔ special key down: table enter 
    ✔ special key down: table f2 
    ✔ updateSizeLabel 
    ✔ resize events 
    ✔ notResizable 
    ✔ getAnnotatedHtml 
    ✔ getNearestCellNode 
    ✔ getFirstSectionNode 
    ✔ onTableMouseDown/onTableMouseMove/onTableMouseUp/onTableDblClick 
    ✔ onTableMouseDown 
    ✔ getUserConfig 
    ✔ setUserConfig 
    ✔ messages 
    ✔ parsedMessage 
    ✔ getHandlerNameForItem 
    ✔ constructor 
    ✔ checkSequences 
    ✔ Diffing 
    ✔ compareAttributes/describeChanges 
    ✔ Basic tests 
    ✔ toggle 
    ✔ wrap/unwrap/toggle 
    ✔ insert/remove/select/selectAll 
    ✔ convert 
    ✔ increase/decrease 
    ✔ autolink 
    ✔ (un)wrap 
    ✔ create / insert / mergeCells / delete / changeCellStyle / moveRelative 
    ✔ Basic open/close 
    ✔ getInsertableData 
    ✔ paste 
    ✔ find fragments 
    ✔ replace all 
    ✔ Different selections and inputs 
23 03 2023 18:42:42.134:WARN [Chrome Headless 109.0.5414.119 (Linux x86_64)]: Disconnected (2 times), because no message in 30000 ms.
Chrome Headless 109.0.5414.119 (Linux x86_64) ERROR
  Disconnected, because no message in 30000 ms.

Finished in 43.326 secs / 37.121 secs @ 18:42:42 GMT+0000 (Coordinated Universal Time)


=============================== Coverage summary ===============================
Statements   : Unknown% ( 0/0 )
Branches     : Unknown% ( 0/0 )
Functions    : Unknown% ( 0/0 )
Lines        : Unknown% ( 0/0 )
================================================================================
Warning: Task "karma:chrome" failed. Use --force to continue.

Aborted due to warnings.

--- end ---
Traceback (most recent call last):
  File "/venv/lib/python3.9/site-packages/runner-0.1.0-py3.9.egg/runner/__init__.py", line 1400, in main
    libup.run(args.repo, args.output, args.branch)
  File "/venv/lib/python3.9/site-packages/runner-0.1.0-py3.9.egg/runner/__init__.py", line 1344, in run
    self.npm_audit_fix(new_npm_audit)
  File "/venv/lib/python3.9/site-packages/runner-0.1.0-py3.9.egg/runner/__init__.py", line 242, in npm_audit_fix
    self.check_call(['npm', 'test'])
  File "/venv/lib/python3.9/site-packages/runner-0.1.0-py3.9.egg/runner/shell2.py", line 54, in check_call
    res.check_returncode()
  File "/usr/lib/python3.9/subprocess.py", line 460, in check_returncode
    raise CalledProcessError(self.returncode, self.args, self.stdout,
subprocess.CalledProcessError: Command '['/usr/bin/npm', 'test']' returned non-zero exit status 3.

npm dependencies

Development dependencies

Logs

Source code is licensed under the AGPL.