This run took 110 seconds.
$ date --- stdout --- Tue Jul 1 05:22:14 UTC 2025 --- end --- $ git clone file:///srv/git/mediawiki-services-wikifeeds.git repo --depth=1 -b master --- 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/master --- stdout --- 5d240a29f488849577650192526b828efc97360c refs/heads/master --- end --- $ /usr/bin/npm audit --json --- stdout --- { "auditReportVersion": 2, "vulnerabilities": { "cross-spawn": { "name": "cross-spawn", "severity": "high", "isDirect": false, "via": [ { "source": 1104663, "name": "cross-spawn", "dependency": "cross-spawn", "title": "Regular Expression Denial of Service (ReDoS) in cross-spawn", "url": "https://github.com/advisories/GHSA-3xgq-45jj-v275", "severity": "high", "cwe": [ "CWE-1333" ], "cvss": { "score": 7.5, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H" }, "range": "<6.0.6" } ], "effects": [ "pre-commit" ], "range": "<6.0.6", "nodes": [ "node_modules/pre-commit/node_modules/cross-spawn" ], "fixAvailable": { "name": "pre-commit", "version": "1.0.10", "isSemVerMajor": true } }, "limitation": { "name": "limitation", "severity": "moderate", "isDirect": false, "via": [ "wikimedia-kad-fork" ], "effects": [ "service-runner" ], "range": ">=0.2.3", "nodes": [ "node_modules/limitation" ], "fixAvailable": { "name": "service-runner", "version": "6.0.0", "isSemVerMajor": true } }, "ms": { "name": "ms", "severity": "moderate", "isDirect": false, "via": [ { "source": 1094419, "name": "ms", "dependency": "ms", "title": "Vercel ms Inefficient Regular Expression Complexity vulnerability", "url": "https://github.com/advisories/GHSA-w9mr-4mfr-499f", "severity": "moderate", "cwe": [ "CWE-1333" ], "cvss": { "score": 5.3, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L" }, "range": "<2.0.0" } ], "effects": [ "wikimedia-kad-fork" ], "range": "<2.0.0", "nodes": [ "node_modules/wikimedia-kad-fork/node_modules/ms" ], "fixAvailable": { "name": "service-runner", "version": "6.0.0", "isSemVerMajor": true } }, "pre-commit": { "name": "pre-commit", "severity": "high", "isDirect": true, "via": [ "cross-spawn" ], "effects": [], "range": ">=1.1.0", "nodes": [ "node_modules/pre-commit" ], "fixAvailable": { "name": "pre-commit", "version": "1.0.10", "isSemVerMajor": true } }, "preq": { "name": "preq", "severity": "high", "isDirect": true, "via": [ "request", "requestretry" ], "effects": [], "range": "*", "nodes": [ "node_modules/preq" ], "fixAvailable": false }, "request": { "name": "request", "severity": "moderate", "isDirect": false, "via": [ { "source": 1096727, "name": "request", "dependency": "request", "title": "Server-Side Request Forgery in Request", "url": "https://github.com/advisories/GHSA-p8p7-x288-28g6", "severity": "moderate", "cwe": [ "CWE-918" ], "cvss": { "score": 6.1, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N" }, "range": "<=2.88.2" }, "tough-cookie" ], "effects": [ "preq", "requestretry" ], "range": "*", "nodes": [ "node_modules/request" ], "fixAvailable": false }, "requestretry": { "name": "requestretry", "severity": "high", "isDirect": false, "via": [ { "source": 1090420, "name": "requestretry", "dependency": "requestretry", "title": "Cookie exposure in requestretry", "url": "https://github.com/advisories/GHSA-hjp8-2cm3-cc45", "severity": "high", "cwe": [ "CWE-200" ], "cvss": { "score": 7.5, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N" }, "range": "<7.0.0" }, "request" ], "effects": [ "preq" ], "range": "*", "nodes": [ "node_modules/requestretry" ], "fixAvailable": false }, "service-runner": { "name": "service-runner", "severity": "moderate", "isDirect": true, "via": [ "limitation", "tar" ], "effects": [], "range": ">=3.0.0", "nodes": [ "node_modules/service-runner" ], "fixAvailable": { "name": "service-runner", "version": "6.0.0", "isSemVerMajor": true } }, "tar": { "name": "tar", "severity": "moderate", "isDirect": false, "via": [ { "source": 1097493, "name": "tar", "dependency": "tar", "title": "Denial of service while parsing a tar file due to lack of folders count validation", "url": "https://github.com/advisories/GHSA-f5x3-32g6-xq36", "severity": "moderate", "cwe": [ "CWE-400" ], "cvss": { "score": 6.5, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H" }, "range": "<6.2.1" } ], "effects": [ "service-runner" ], "range": "<6.2.1", "nodes": [ "node_modules/tar" ], "fixAvailable": { "name": "service-runner", "version": "6.0.0", "isSemVerMajor": true } }, "tough-cookie": { "name": "tough-cookie", "severity": "moderate", "isDirect": false, "via": [ { "source": 1097682, "name": "tough-cookie", "dependency": "tough-cookie", "title": "tough-cookie Prototype Pollution vulnerability", "url": "https://github.com/advisories/GHSA-72xf-g2v4-qvf3", "severity": "moderate", "cwe": [ "CWE-1321" ], "cvss": { "score": 6.5, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N" }, "range": "<4.1.3" } ], "effects": [ "request" ], "range": "<4.1.3", "nodes": [ "node_modules/tough-cookie" ], "fixAvailable": false }, "wikimedia-kad-fork": { "name": "wikimedia-kad-fork", "severity": "moderate", "isDirect": false, "via": [ "ms" ], "effects": [ "limitation" ], "range": "*", "nodes": [ "node_modules/wikimedia-kad-fork" ], "fixAvailable": { "name": "service-runner", "version": "6.0.0", "isSemVerMajor": true } } }, "metadata": { "vulnerabilities": { "info": 0, "low": 0, "moderate": 7, "high": 4, "critical": 0, "total": 11 }, "dependencies": { "prod": 219, "dev": 418, "optional": 13, "peer": 1, "peerOptional": 0, "total": 648 } } } --- end --- $ /usr/bin/npm audit --json --- stdout --- { "auditReportVersion": 2, "vulnerabilities": { "cross-spawn": { "name": "cross-spawn", "severity": "high", "isDirect": false, "via": [ { "source": 1104663, "name": "cross-spawn", "dependency": "cross-spawn", "title": "Regular Expression Denial of Service (ReDoS) in cross-spawn", "url": "https://github.com/advisories/GHSA-3xgq-45jj-v275", "severity": "high", "cwe": [ "CWE-1333" ], "cvss": { "score": 7.5, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H" }, "range": "<6.0.6" } ], "effects": [ "pre-commit" ], "range": "<6.0.6", "nodes": [ "node_modules/pre-commit/node_modules/cross-spawn" ], "fixAvailable": { "name": "pre-commit", "version": "1.0.10", "isSemVerMajor": true } }, "limitation": { "name": "limitation", "severity": "moderate", "isDirect": false, "via": [ "wikimedia-kad-fork" ], "effects": [ "service-runner" ], "range": ">=0.2.3", "nodes": [ "node_modules/limitation" ], "fixAvailable": { "name": "service-runner", "version": "6.0.0", "isSemVerMajor": true } }, "ms": { "name": "ms", "severity": "moderate", "isDirect": false, "via": [ { "source": 1094419, "name": "ms", "dependency": "ms", "title": "Vercel ms Inefficient Regular Expression Complexity vulnerability", "url": "https://github.com/advisories/GHSA-w9mr-4mfr-499f", "severity": "moderate", "cwe": [ "CWE-1333" ], "cvss": { "score": 5.3, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L" }, "range": "<2.0.0" } ], "effects": [ "wikimedia-kad-fork" ], "range": "<2.0.0", "nodes": [ "node_modules/wikimedia-kad-fork/node_modules/ms" ], "fixAvailable": { "name": "service-runner", "version": "6.0.0", "isSemVerMajor": true } }, "pre-commit": { "name": "pre-commit", "severity": "high", "isDirect": true, "via": [ "cross-spawn" ], "effects": [], "range": ">=1.1.0", "nodes": [ "node_modules/pre-commit" ], "fixAvailable": { "name": "pre-commit", "version": "1.0.10", "isSemVerMajor": true } }, "preq": { "name": "preq", "severity": "high", "isDirect": true, "via": [ "request", "requestretry" ], "effects": [], "range": "*", "nodes": [ "node_modules/preq" ], "fixAvailable": false }, "request": { "name": "request", "severity": "moderate", "isDirect": false, "via": [ { "source": 1096727, "name": "request", "dependency": "request", "title": "Server-Side Request Forgery in Request", "url": "https://github.com/advisories/GHSA-p8p7-x288-28g6", "severity": "moderate", "cwe": [ "CWE-918" ], "cvss": { "score": 6.1, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N" }, "range": "<=2.88.2" }, "tough-cookie" ], "effects": [ "preq", "requestretry" ], "range": "*", "nodes": [ "node_modules/request" ], "fixAvailable": false }, "requestretry": { "name": "requestretry", "severity": "high", "isDirect": false, "via": [ { "source": 1090420, "name": "requestretry", "dependency": "requestretry", "title": "Cookie exposure in requestretry", "url": "https://github.com/advisories/GHSA-hjp8-2cm3-cc45", "severity": "high", "cwe": [ "CWE-200" ], "cvss": { "score": 7.5, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N" }, "range": "<7.0.0" }, "request" ], "effects": [ "preq" ], "range": "*", "nodes": [ "node_modules/requestretry" ], "fixAvailable": false }, "service-runner": { "name": "service-runner", "severity": "moderate", "isDirect": true, "via": [ "limitation", "tar" ], "effects": [], "range": ">=3.0.0", "nodes": [ "node_modules/service-runner" ], "fixAvailable": { "name": "service-runner", "version": "6.0.0", "isSemVerMajor": true } }, "tar": { "name": "tar", "severity": "moderate", "isDirect": false, "via": [ { "source": 1097493, "name": "tar", "dependency": "tar", "title": "Denial of service while parsing a tar file due to lack of folders count validation", "url": "https://github.com/advisories/GHSA-f5x3-32g6-xq36", "severity": "moderate", "cwe": [ "CWE-400" ], "cvss": { "score": 6.5, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H" }, "range": "<6.2.1" } ], "effects": [ "service-runner" ], "range": "<6.2.1", "nodes": [ "node_modules/tar" ], "fixAvailable": { "name": "service-runner", "version": "6.0.0", "isSemVerMajor": true } }, "tough-cookie": { "name": "tough-cookie", "severity": "moderate", "isDirect": false, "via": [ { "source": 1097682, "name": "tough-cookie", "dependency": "tough-cookie", "title": "tough-cookie Prototype Pollution vulnerability", "url": "https://github.com/advisories/GHSA-72xf-g2v4-qvf3", "severity": "moderate", "cwe": [ "CWE-1321" ], "cvss": { "score": 6.5, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N" }, "range": "<4.1.3" } ], "effects": [ "request" ], "range": "<4.1.3", "nodes": [ "node_modules/tough-cookie" ], "fixAvailable": false }, "wikimedia-kad-fork": { "name": "wikimedia-kad-fork", "severity": "moderate", "isDirect": false, "via": [ "ms" ], "effects": [ "limitation" ], "range": "*", "nodes": [ "node_modules/wikimedia-kad-fork" ], "fixAvailable": { "name": "service-runner", "version": "6.0.0", "isSemVerMajor": true } } }, "metadata": { "vulnerabilities": { "info": 0, "low": 0, "moderate": 7, "high": 4, "critical": 0, "total": 11 }, "dependencies": { "prod": 219, "dev": 418, "optional": 13, "peer": 1, "peerOptional": 0, "total": 648 } } } --- end --- Attempting to npm audit fix $ /usr/bin/npm audit fix --dry-run --only=dev --json --- stderr --- npm WARN invalid config only="dev" set in command line options npm WARN invalid config Must be one of: null, prod, production --- stdout --- { "added": 648, "removed": 0, "changed": 0, "audited": 649, "funding": 106, "audit": { "auditReportVersion": 2, "vulnerabilities": { "cross-spawn": { "name": "cross-spawn", "severity": "high", "isDirect": false, "via": [ { "source": 1104663, "name": "cross-spawn", "dependency": "cross-spawn", "title": "Regular Expression Denial of Service (ReDoS) in cross-spawn", "url": "https://github.com/advisories/GHSA-3xgq-45jj-v275", "severity": "high", "cwe": [ "CWE-1333" ], "cvss": { "score": 7.5, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H" }, "range": "<6.0.6" } ], "effects": [ "pre-commit" ], "range": "<6.0.6", "nodes": [ "node_modules/pre-commit/node_modules/cross-spawn" ], "fixAvailable": { "name": "pre-commit", "version": "1.0.10", "isSemVerMajor": true } }, "limitation": { "name": "limitation", "severity": "moderate", "isDirect": false, "via": [ "wikimedia-kad-fork" ], "effects": [ "service-runner" ], "range": ">=0.2.3", "nodes": [ "node_modules/limitation" ], "fixAvailable": { "name": "service-runner", "version": "6.0.0", "isSemVerMajor": true } }, "ms": { "name": "ms", "severity": "moderate", "isDirect": false, "via": [ { "source": 1094419, "name": "ms", "dependency": "ms", "title": "Vercel ms Inefficient Regular Expression Complexity vulnerability", "url": "https://github.com/advisories/GHSA-w9mr-4mfr-499f", "severity": "moderate", "cwe": [ "CWE-1333" ], "cvss": { "score": 5.3, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L" }, "range": "<2.0.0" } ], "effects": [ "wikimedia-kad-fork" ], "range": "<2.0.0", "nodes": [ "node_modules/wikimedia-kad-fork/node_modules/ms" ], "fixAvailable": { "name": "service-runner", "version": "6.0.0", "isSemVerMajor": true } }, "pre-commit": { "name": "pre-commit", "severity": "high", "isDirect": true, "via": [ "cross-spawn" ], "effects": [], "range": ">=1.1.0", "nodes": [ "node_modules/pre-commit" ], "fixAvailable": { "name": "pre-commit", "version": "1.0.10", "isSemVerMajor": true } }, "preq": { "name": "preq", "severity": "high", "isDirect": true, "via": [ "request", "requestretry" ], "effects": [], "range": "*", "nodes": [ "node_modules/preq" ], "fixAvailable": false }, "request": { "name": "request", "severity": "moderate", "isDirect": false, "via": [ { "source": 1096727, "name": "request", "dependency": "request", "title": "Server-Side Request Forgery in Request", "url": "https://github.com/advisories/GHSA-p8p7-x288-28g6", "severity": "moderate", "cwe": [ "CWE-918" ], "cvss": { "score": 6.1, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N" }, "range": "<=2.88.2" }, "tough-cookie" ], "effects": [ "preq", "requestretry" ], "range": "*", "nodes": [ "node_modules/request" ], "fixAvailable": false }, "requestretry": { "name": "requestretry", "severity": "high", "isDirect": false, "via": [ { "source": 1090420, "name": "requestretry", "dependency": "requestretry", "title": "Cookie exposure in requestretry", "url": "https://github.com/advisories/GHSA-hjp8-2cm3-cc45", "severity": "high", "cwe": [ "CWE-200" ], "cvss": { "score": 7.5, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N" }, "range": "<7.0.0" }, "request" ], "effects": [ "preq" ], "range": "*", "nodes": [ "node_modules/requestretry" ], "fixAvailable": false }, "service-runner": { "name": "service-runner", "severity": "moderate", "isDirect": true, "via": [ "limitation", "tar" ], "effects": [], "range": ">=3.0.0", "nodes": [ "node_modules/service-runner" ], "fixAvailable": { "name": "service-runner", "version": "6.0.0", "isSemVerMajor": true } }, "tar": { "name": "tar", "severity": "moderate", "isDirect": false, "via": [ { "source": 1097493, "name": "tar", "dependency": "tar", "title": "Denial of service while parsing a tar file due to lack of folders count validation", "url": "https://github.com/advisories/GHSA-f5x3-32g6-xq36", "severity": "moderate", "cwe": [ "CWE-400" ], "cvss": { "score": 6.5, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H" }, "range": "<6.2.1" } ], "effects": [ "service-runner" ], "range": "<6.2.1", "nodes": [ "node_modules/tar" ], "fixAvailable": { "name": "service-runner", "version": "6.0.0", "isSemVerMajor": true } }, "tough-cookie": { "name": "tough-cookie", "severity": "moderate", "isDirect": false, "via": [ { "source": 1097682, "name": "tough-cookie", "dependency": "tough-cookie", "title": "tough-cookie Prototype Pollution vulnerability", "url": "https://github.com/advisories/GHSA-72xf-g2v4-qvf3", "severity": "moderate", "cwe": [ "CWE-1321" ], "cvss": { "score": 6.5, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N" }, "range": "<4.1.3" } ], "effects": [ "request" ], "range": "<4.1.3", "nodes": [ "node_modules/tough-cookie" ], "fixAvailable": false }, "wikimedia-kad-fork": { "name": "wikimedia-kad-fork", "severity": "moderate", "isDirect": false, "via": [ "ms" ], "effects": [ "limitation" ], "range": "*", "nodes": [ "node_modules/wikimedia-kad-fork" ], "fixAvailable": { "name": "service-runner", "version": "6.0.0", "isSemVerMajor": true } } }, "metadata": { "vulnerabilities": { "info": 0, "low": 0, "moderate": 7, "high": 4, "critical": 0, "total": 11 }, "dependencies": { "prod": 219, "dev": 418, "optional": 13, "peer": 1, "peerOptional": 0, "total": 648 } } } } --- end --- {"added": 648, "removed": 0, "changed": 0, "audited": 649, "funding": 106, "audit": {"auditReportVersion": 2, "vulnerabilities": {"cross-spawn": {"name": "cross-spawn", "severity": "high", "isDirect": false, "via": [{"source": 1104663, "name": "cross-spawn", "dependency": "cross-spawn", "title": "Regular Expression Denial of Service (ReDoS) in cross-spawn", "url": "https://github.com/advisories/GHSA-3xgq-45jj-v275", "severity": "high", "cwe": ["CWE-1333"], "cvss": {"score": 7.5, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"}, "range": "<6.0.6"}], "effects": ["pre-commit"], "range": "<6.0.6", "nodes": ["node_modules/pre-commit/node_modules/cross-spawn"], "fixAvailable": {"name": "pre-commit", "version": "1.0.10", "isSemVerMajor": true}}, "limitation": {"name": "limitation", "severity": "moderate", "isDirect": false, "via": ["wikimedia-kad-fork"], "effects": ["service-runner"], "range": ">=0.2.3", "nodes": ["node_modules/limitation"], "fixAvailable": {"name": "service-runner", "version": "6.0.0", "isSemVerMajor": true}}, "ms": {"name": "ms", "severity": "moderate", "isDirect": false, "via": [{"source": 1094419, "name": "ms", "dependency": "ms", "title": "Vercel ms Inefficient Regular Expression Complexity vulnerability", "url": "https://github.com/advisories/GHSA-w9mr-4mfr-499f", "severity": "moderate", "cwe": ["CWE-1333"], "cvss": {"score": 5.3, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L"}, "range": "<2.0.0"}], "effects": ["wikimedia-kad-fork"], "range": "<2.0.0", "nodes": ["node_modules/wikimedia-kad-fork/node_modules/ms"], "fixAvailable": {"name": "service-runner", "version": "6.0.0", "isSemVerMajor": true}}, "pre-commit": {"name": "pre-commit", "severity": "high", "isDirect": true, "via": ["cross-spawn"], "effects": [], "range": ">=1.1.0", "nodes": ["node_modules/pre-commit"], "fixAvailable": {"name": "pre-commit", "version": "1.0.10", "isSemVerMajor": true}}, "preq": {"name": "preq", "severity": "high", "isDirect": true, "via": ["request", "requestretry"], "effects": [], "range": "*", "nodes": ["node_modules/preq"], "fixAvailable": false}, "request": {"name": "request", "severity": "moderate", "isDirect": false, "via": [{"source": 1096727, "name": "request", "dependency": "request", "title": "Server-Side Request Forgery in Request", "url": "https://github.com/advisories/GHSA-p8p7-x288-28g6", "severity": "moderate", "cwe": ["CWE-918"], "cvss": {"score": 6.1, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N"}, "range": "<=2.88.2"}, "tough-cookie"], "effects": ["preq", "requestretry"], "range": "*", "nodes": ["node_modules/request"], "fixAvailable": false}, "requestretry": {"name": "requestretry", "severity": "high", "isDirect": false, "via": [{"source": 1090420, "name": "requestretry", "dependency": "requestretry", "title": "Cookie exposure in requestretry", "url": "https://github.com/advisories/GHSA-hjp8-2cm3-cc45", "severity": "high", "cwe": ["CWE-200"], "cvss": {"score": 7.5, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N"}, "range": "<7.0.0"}, "request"], "effects": ["preq"], "range": "*", "nodes": ["node_modules/requestretry"], "fixAvailable": false}, "service-runner": {"name": "service-runner", "severity": "moderate", "isDirect": true, "via": ["limitation", "tar"], "effects": [], "range": ">=3.0.0", "nodes": ["node_modules/service-runner"], "fixAvailable": {"name": "service-runner", "version": "6.0.0", "isSemVerMajor": true}}, "tar": {"name": "tar", "severity": "moderate", "isDirect": false, "via": [{"source": 1097493, "name": "tar", "dependency": "tar", "title": "Denial of service while parsing a tar file due to lack of folders count validation", "url": "https://github.com/advisories/GHSA-f5x3-32g6-xq36", "severity": "moderate", "cwe": ["CWE-400"], "cvss": {"score": 6.5, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H"}, "range": "<6.2.1"}], "effects": ["service-runner"], "range": "<6.2.1", "nodes": ["node_modules/tar"], "fixAvailable": {"name": "service-runner", "version": "6.0.0", "isSemVerMajor": true}}, "tough-cookie": {"name": "tough-cookie", "severity": "moderate", "isDirect": false, "via": [{"source": 1097682, "name": "tough-cookie", "dependency": "tough-cookie", "title": "tough-cookie Prototype Pollution vulnerability", "url": "https://github.com/advisories/GHSA-72xf-g2v4-qvf3", "severity": "moderate", "cwe": ["CWE-1321"], "cvss": {"score": 6.5, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N"}, "range": "<4.1.3"}], "effects": ["request"], "range": "<4.1.3", "nodes": ["node_modules/tough-cookie"], "fixAvailable": false}, "wikimedia-kad-fork": {"name": "wikimedia-kad-fork", "severity": "moderate", "isDirect": false, "via": ["ms"], "effects": ["limitation"], "range": "*", "nodes": ["node_modules/wikimedia-kad-fork"], "fixAvailable": {"name": "service-runner", "version": "6.0.0", "isSemVerMajor": true}}}, "metadata": {"vulnerabilities": {"info": 0, "low": 0, "moderate": 7, "high": 4, "critical": 0, "total": 11}, "dependencies": {"prod": 219, "dev": 418, "optional": 13, "peer": 1, "peerOptional": 0, "total": 648}}}} $ /usr/bin/npm audit fix --only=dev --- stderr --- npm WARN invalid config only="dev" set in command line options npm WARN invalid config Must be one of: null, prod, production npm WARN deprecated inflight@1.0.6: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. npm WARN deprecated lodash.get@4.4.2: This package is deprecated. Use the optional chaining (?.) operator instead. npm WARN deprecated kad-fs@0.0.4: This package is no longer maintained. npm WARN deprecated rimraf@2.4.5: Rimraf versions prior to v4 are no longer supported npm WARN deprecated lodash.clone@4.5.0: This package is deprecated. Use structuredClone instead. npm WARN deprecated har-validator@5.1.5: this library is no longer supported npm WARN deprecated @humanwhocodes/config-array@0.11.14: Use @eslint/config-array instead npm WARN deprecated rimraf@3.0.2: Rimraf versions prior to v4 are no longer supported npm WARN deprecated kad-memstore@0.0.1: This package is no longer maintained. npm WARN deprecated glob@8.1.0: Glob versions prior to v9 are no longer supported npm WARN deprecated @humanwhocodes/object-schema@2.0.3: Use @eslint/object-schema instead npm WARN deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported npm WARN deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported npm WARN deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported npm WARN deprecated glob@6.0.4: Glob versions prior to v9 are no longer supported npm WARN deprecated preq@0.5.14: Deprecated as this is a wrapper around the deprecated request library. Preq can be replaced with fetch, which is available from Node 18 as an experimental feature. npm WARN deprecated uuid@3.4.0: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details. npm WARN deprecated uuid@3.4.0: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details. npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142 npm WARN deprecated eslint@8.57.0: This version is no longer supported. Please see https://eslint.org/version-support for other options. --- stdout --- added 647 packages, and audited 648 packages in 10s 106 packages are looking for funding run `npm fund` for details # npm audit report cross-spawn <6.0.6 Severity: high Regular Expression Denial of Service (ReDoS) in cross-spawn - https://github.com/advisories/GHSA-3xgq-45jj-v275 fix available via `npm audit fix --force` Will install pre-commit@1.0.10, which is a breaking change node_modules/pre-commit/node_modules/cross-spawn pre-commit >=1.1.0 Depends on vulnerable versions of cross-spawn node_modules/pre-commit ms <2.0.0 Severity: moderate Vercel ms Inefficient Regular Expression Complexity vulnerability - https://github.com/advisories/GHSA-w9mr-4mfr-499f fix available via `npm audit fix --force` Will install service-runner@6.0.0, which is a breaking change node_modules/wikimedia-kad-fork/node_modules/ms wikimedia-kad-fork * Depends on vulnerable versions of ms node_modules/wikimedia-kad-fork limitation >=0.2.3 Depends on vulnerable versions of wikimedia-kad-fork node_modules/limitation service-runner >=3.0.0 Depends on vulnerable versions of limitation Depends on vulnerable versions of tar node_modules/service-runner request * Severity: moderate Server-Side Request Forgery in Request - https://github.com/advisories/GHSA-p8p7-x288-28g6 Depends on vulnerable versions of tough-cookie No fix available node_modules/request preq * Depends on vulnerable versions of request Depends on vulnerable versions of requestretry node_modules/preq requestretry * Depends on vulnerable versions of request node_modules/requestretry tar <6.2.1 Severity: moderate Denial of service while parsing a tar file due to lack of folders count validation - https://github.com/advisories/GHSA-f5x3-32g6-xq36 fix available via `npm audit fix --force` Will install service-runner@6.0.0, which is a breaking change node_modules/tar tough-cookie <4.1.3 Severity: moderate tough-cookie Prototype Pollution vulnerability - https://github.com/advisories/GHSA-72xf-g2v4-qvf3 No fix available node_modules/tough-cookie 11 vulnerabilities (7 moderate, 4 high) To address all issues possible (including breaking changes), run: npm audit fix --force Some issues need review, and may require choosing a different dependency. --- end --- Verifying that tests still pass $ /usr/bin/npm ci --- stderr --- npm WARN deprecated inflight@1.0.6: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. npm WARN deprecated lodash.get@4.4.2: This package is deprecated. Use the optional chaining (?.) operator instead. npm WARN deprecated kad-fs@0.0.4: This package is no longer maintained. npm WARN deprecated rimraf@2.4.5: Rimraf versions prior to v4 are no longer supported npm WARN deprecated lodash.clone@4.5.0: This package is deprecated. Use structuredClone instead. npm WARN deprecated har-validator@5.1.5: this library is no longer supported npm WARN deprecated @humanwhocodes/config-array@0.11.14: Use @eslint/config-array instead npm WARN deprecated rimraf@3.0.2: Rimraf versions prior to v4 are no longer supported npm WARN deprecated kad-memstore@0.0.1: This package is no longer maintained. npm WARN deprecated glob@8.1.0: Glob versions prior to v9 are no longer supported npm WARN deprecated @humanwhocodes/object-schema@2.0.3: Use @eslint/object-schema instead npm WARN deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported npm WARN deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported npm WARN deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported npm WARN deprecated glob@6.0.4: Glob versions prior to v9 are no longer supported npm WARN deprecated preq@0.5.14: Deprecated as this is a wrapper around the deprecated request library. Preq can be replaced with fetch, which is available from Node 18 as an experimental feature. npm WARN deprecated uuid@3.4.0: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details. npm WARN deprecated uuid@3.4.0: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details. npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142 npm WARN deprecated eslint@8.57.0: This version is no longer supported. Please see https://eslint.org/version-support for other options. --- stdout --- added 647 packages, and audited 648 packages in 10s 106 packages are looking for funding run `npm fund` for details 11 vulnerabilities (7 moderate, 4 high) To address all issues possible (including breaking changes), run: npm audit fix --force Some issues need review, and may require choosing a different dependency. Run `npm audit` for details. --- end --- $ /usr/bin/npm test --- stderr --- strict mode: missing type "object" for keyword "required" at "#/definitions/problem#" (strictTypes) strict mode: missing type "object" for keyword "properties" at "#/definitions/problem#" (strictTypes) --- stdout --- > @wikimedia/wikifeeds@1.0.0 test > npm run lint && PREQ_CONNECT_TIMEOUT=15 mocha --recursive > @wikimedia/wikifeeds@1.0.0 lint > eslint . /src/repo/.eslintrc.json 1:1 warning Use the global form of 'use strict' strict /src/repo/app.js 20:1 warning The type 'bluebird' is undefined jsdoc/no-undefined-types 64:37 warning Found non-literal argument to RegExp Constructor security/detect-non-literal-regexp 136:1 warning The type 'Application' is undefined jsdoc/no-undefined-types 138:1 warning The type 'bluebird' is undefined jsdoc/no-undefined-types 150:31 warning Found non-literal argument in require security/detect-non-literal-require 197:1 warning The type 'Application' is undefined jsdoc/no-undefined-types 198:1 warning The type 'bluebird' is undefined jsdoc/no-undefined-types 236:1 warning The type 'bluebird' is undefined jsdoc/no-undefined-types /src/repo/etc/news-sites.js 4:1 warning At most one access-control tag may be present on a jsdoc block jsdoc/check-access 5:1 warning @private should not have a bracketed type in "jsdoc" mode jsdoc/valid-types 6:1 warning @private should not have a bracketed type in "jsdoc" mode jsdoc/valid-types 50:1 warning Syntax error in type: {Object.<string, NewsSite>} jsdoc/valid-types /src/repo/lib/announcements.js 30:1 warning Expected this semicolon to be at the end of the previous line semi-style 34:1 warning This line has a length of 123. Maximum allowed is 100 max-len 51:1 warning This line has a length of 134. Maximum allowed is 100 max-len 84:1 warning This line has a length of 119. Maximum allowed is 100 max-len 86:1 warning This line has a length of 118. Maximum allowed is 100 max-len 135:1 warning This line has a length of 123. Maximum allowed is 100 max-len /src/repo/lib/api-util.js 296:1 warning The type 'Application' is undefined jsdoc/no-undefined-types /src/repo/lib/featured.js 136:12 warning 'si' is already declared in the upper scope on line 12 column 7 no-shadow /src/repo/lib/imageinfo.js 30:1 warning The type 'Bool' is undefined jsdoc/no-undefined-types 85:1 warning JSDoc @return declaration present but return expression not available in function jsdoc/require-returns-check 132:1 warning JSDoc @return declaration present but return expression not available in function jsdoc/require-returns-check 203:43 warning Array.prototype.map() expects a return value from arrow function array-callback-return 280:1 warning Syntax error in type: [type] jsdoc/valid-types 282:1 warning Syntax error in type: [type] jsdoc/valid-types /src/repo/lib/most-read.js 80:1 warning At most one access-control tag may be present on a jsdoc block jsdoc/check-access 81:1 warning @public should not have a bracketed type in "jsdoc" mode jsdoc/valid-types 82:1 warning @public should not have a bracketed type in "jsdoc" mode jsdoc/valid-types 99:1 warning This line has a length of 122. Maximum allowed is 100 max-len 114:28 warning Found non-literal argument to RegExp Constructor security/detect-non-literal-regexp 115:1 warning This line has a length of 112. Maximum allowed is 100 max-len 144:19 warning 'pageviews' is already declared in the upper scope on line 10 column 7 no-shadow 160:25 warning Array.prototype.map() expects a return value from arrow function array-callback-return 199:1 warning This line has a length of 148. Maximum allowed is 100 max-len 209:1 warning This line has a length of 113. Maximum allowed is 100 max-len /src/repo/lib/news.js 15:1 warning The type 'Document' is undefined jsdoc/no-undefined-types 73:12 warning 'si' is already declared in the upper scope on line 8 column 7 no-shadow 96:20 warning 'result' is already declared in the upper scope on line 80 column 19 no-shadow /src/repo/lib/on-this-day.js 34:1 warning The type 'Integer' is undefined jsdoc/no-undefined-types 122:1 warning The type 'AnchorElement' is undefined jsdoc/no-undefined-types 123:1 warning The type 'Integer' is undefined jsdoc/no-undefined-types 128:12 warning Found non-literal argument to RegExp Constructor security/detect-non-literal-regexp 141:1 warning The type 'AnchorElement' is undefined jsdoc/no-undefined-types 161:1 warning The type 'ListElement' is undefined jsdoc/no-undefined-types 173:1 warning The type 'AnchorElement' is undefined jsdoc/no-undefined-types 196:1 warning The type 'ListElement' is undefined jsdoc/no-undefined-types 241:1 warning The type 'ListElement' is undefined jsdoc/no-undefined-types 257:1 warning The type 'Integer' is undefined jsdoc/no-undefined-types 296:1 warning The type 'ListElement' is undefined jsdoc/no-undefined-types 307:1 warning The type 'ListElement' is undefined jsdoc/no-undefined-types 308:1 warning The type 'ListElement' is undefined jsdoc/no-undefined-types 329:1 warning The type 'ListElement' is undefined jsdoc/no-undefined-types 347:1 warning The type 'ListElement' is undefined jsdoc/no-undefined-types 367:1 warning The type 'Document' is undefined jsdoc/no-undefined-types 399:1 warning The type 'Document' is undefined jsdoc/no-undefined-types 413:1 warning The type 'Document' is undefined jsdoc/no-undefined-types 427:1 warning The type 'Document' is undefined jsdoc/no-undefined-types 441:1 warning The type 'Document' is undefined jsdoc/no-undefined-types 455:1 warning The type 'Document' is undefined jsdoc/no-undefined-types 470:1 warning The type 'Document' is undefined jsdoc/no-undefined-types 471:1 warning The type 'Document' is undefined jsdoc/no-undefined-types 530:1 warning Missing JSDoc @param "sendResponse" type jsdoc/require-param-type /src/repo/lib/on-this-day.languages.js 28:11 warning Found non-literal argument to RegExp Constructor security/detect-non-literal-regexp 30:11 warning Found non-literal argument to RegExp Constructor security/detect-non-literal-regexp 32:11 warning Found non-literal argument to RegExp Constructor security/detect-non-literal-regexp 60:11 warning Found non-literal argument to RegExp Constructor security/detect-non-literal-regexp 62:11 warning Found non-literal argument to RegExp Constructor security/detect-non-literal-regexp 64:11 warning Found non-literal argument to RegExp Constructor security/detect-non-literal-regexp 100:11 warning Found non-literal argument to RegExp Constructor security/detect-non-literal-regexp 102:11 warning Found non-literal argument to RegExp Constructor security/detect-non-literal-regexp 104:11 warning Found non-literal argument to RegExp Constructor security/detect-non-literal-regexp 128:11 warning Found non-literal argument to RegExp Constructor security/detect-non-literal-regexp 130:11 warning Found non-literal argument to RegExp Constructor security/detect-non-literal-regexp 132:11 warning Found non-literal argument to RegExp Constructor security/detect-non-literal-regexp 156:11 warning Found non-literal argument to RegExp Constructor security/detect-non-literal-regexp 158:11 warning Found non-literal argument to RegExp Constructor security/detect-non-literal-regexp 160:11 warning Found non-literal argument to RegExp Constructor security/detect-non-literal-regexp 189:11 warning Found non-literal argument to RegExp Constructor security/detect-non-literal-regexp 191:11 warning Found non-literal argument to RegExp Constructor security/detect-non-literal-regexp 193:11 warning Found non-literal argument to RegExp Constructor security/detect-non-literal-regexp 217:11 warning Found non-literal argument to RegExp Constructor security/detect-non-literal-regexp 219:11 warning Found non-literal argument to RegExp Constructor security/detect-non-literal-regexp 221:11 warning Found non-literal argument to RegExp Constructor security/detect-non-literal-regexp 245:11 warning Found non-literal argument to RegExp Constructor security/detect-non-literal-regexp 247:11 warning Found non-literal argument to RegExp Constructor security/detect-non-literal-regexp 249:11 warning Found non-literal argument to RegExp Constructor security/detect-non-literal-regexp 273:13 warning Found non-literal argument to RegExp Constructor security/detect-non-literal-regexp 275:13 warning Found non-literal argument to RegExp Constructor security/detect-non-literal-regexp 277:13 warning Found non-literal argument to RegExp Constructor security/detect-non-literal-regexp 301:11 warning Found non-literal argument to RegExp Constructor security/detect-non-literal-regexp 303:11 warning Found non-literal argument to RegExp Constructor security/detect-non-literal-regexp 305:11 warning Found non-literal argument to RegExp Constructor security/detect-non-literal-regexp 335:11 warning Found non-literal argument to RegExp Constructor security/detect-non-literal-regexp 337:11 warning Found non-literal argument to RegExp Constructor security/detect-non-literal-regexp 339:11 warning Found non-literal argument to RegExp Constructor security/detect-non-literal-regexp 362:11 warning Found non-literal argument to RegExp Constructor security/detect-non-literal-regexp 364:11 warning Found non-literal argument to RegExp Constructor security/detect-non-literal-regexp 366:11 warning Found non-literal argument to RegExp Constructor security/detect-non-literal-regexp 390:11 warning Found non-literal argument to RegExp Constructor security/detect-non-literal-regexp 392:11 warning Found non-literal argument to RegExp Constructor security/detect-non-literal-regexp /src/repo/lib/pageviews.js 36:1 warning At most one access-control tag may be present on a jsdoc block jsdoc/check-access 37:1 warning @private should not have a bracketed type in "jsdoc" mode jsdoc/valid-types 38:1 warning @private should not have a bracketed type in "jsdoc" mode jsdoc/valid-types 39:1 warning @private should not have a bracketed type in "jsdoc" mode jsdoc/valid-types 53:1 warning The type 'Platform' is undefined jsdoc/no-undefined-types 54:1 warning The type 'Agent' is undefined jsdoc/no-undefined-types 56:1 warning The type 'Granularity' is undefined jsdoc/no-undefined-types 71:1 warning The type 'Platform' is undefined jsdoc/no-undefined-types /src/repo/lib/random.js 38:9 warning 'score' is already declared in the upper scope on line 31 column 10 no-shadow 55:1 warning Missing JSDoc @param "scoredResults" type jsdoc/require-param-type /src/repo/lib/siteinfo.js 3:1 warning Use the global form of 'use strict' strict 10:29 warning Unsafe Regular Expression security/detect-unsafe-regex /src/repo/lib/util.js 104:1 warning The type 'Application' is undefined jsdoc/no-undefined-types 142:1 warning The type 'Application' is undefined jsdoc/no-undefined-types 222:1 warning The type 'Router' is undefined jsdoc/no-undefined-types 280:1 warning JSDoc @return declaration present but return expression not available in function jsdoc/require-returns-check 293:1 warning JSDoc @return declaration present but return expression not available in function jsdoc/require-returns-check 306:1 warning JSDoc @return declaration present but return expression not available in function jsdoc/require-returns-check 378:1 warning The type 'Application' is undefined jsdoc/no-undefined-types 450:34 warning Default parameters should be last default-param-last /src/repo/package-lock.json 1:1 warning Use the global form of 'use strict' strict /src/repo/package.json 1:1 warning Use the global form of 'use strict' strict /src/repo/scripts/check-featured-feed.js 49:35 warning 'feature' is already declared in the upper scope on line 212 column 7 no-shadow 82:44 warning 'feature' is already declared in the upper scope on line 212 column 7 no-shadow 107:34 warning 'feature' is already declared in the upper scope on line 212 column 7 no-shadow 150:30 warning 'feature' is already declared in the upper scope on line 212 column 7 no-shadow 217:5 warning Don't use process.exit(); throw an error instead n/no-process-exit /src/repo/spec.yaml 228:1 warning This line has a length of 154. Maximum allowed is 100 max-len 232:1 warning This line has a length of 141. Maximum allowed is 100 max-len 866:1 warning This line has a length of 117. Maximum allowed is 100 max-len 871:1 warning This line has a length of 116. Maximum allowed is 100 max-len 876:1 warning This line has a length of 116. Maximum allowed is 100 max-len 881:1 warning This line has a length of 116. Maximum allowed is 100 max-len 886:1 warning This line has a length of 116. Maximum allowed is 100 max-len 938:1 warning This line has a length of 108. Maximum allowed is 100 max-len 955:1 warning This line has a length of 126. Maximum allowed is 100 max-len 956:1 warning This line has a length of 107. Maximum allowed is 100 max-len 962:1 warning This line has a length of 132. Maximum allowed is 100 max-len 969:1 warning This line has a length of 127. Maximum allowed is 100 max-len 971:1 warning This line has a length of 108. Maximum allowed is 100 max-len 972:1 warning This line has a length of 113. Maximum allowed is 100 max-len 973:1 warning This line has a length of 121. Maximum allowed is 100 max-len 977:1 warning This line has a length of 121. Maximum allowed is 100 max-len 981:1 warning This line has a length of 113. Maximum allowed is 100 max-len 985:1 warning This line has a length of 111. Maximum allowed is 100 max-len 991:1 warning This line has a length of 124. Maximum allowed is 100 max-len 995:1 warning This line has a length of 281. Maximum allowed is 100 max-len 1082:1 warning This line has a length of 144. Maximum allowed is 100 max-len ✖ 150 problems (0 errors, 150 warnings) aggregated featured starting test server ✔ should return 200 for a valid request (2167ms) ✔ should return 404 for an invalid year ✔ should return 404 for an invalid month ✔ should return 404 for an invalid day ✔ should return only historic keys for past date (646ms) ✔ should return current keys for today (1559ms) ✔ should return future keys for tomorrow (1401ms) aggregate onthisday ✔ should return 200 for a valid request (5339ms) ✔ should return 404 for an invalid month (228ms) ✔ should return 404 for an invalid day (144ms) ✔ should return objects with the expected keys (2768ms) express app ✔ should get robots.txt ✔ should set CORS headers ✔ should set CSP headers ✔ should get static content gzipped ✔ should get static content uncompressed Swagger spec ✔ get the spec ✔ spec validation validate responses against schema - random response should conform to schema ✔ featured article response should conform to schema (252ms) ✔ featured image response should conform to schema (193ms) 1) most-read response should conform to schema ✔ news response should conform to schema (69ms) ✔ announcements should conform to schema ✔ onthisday response should conform to schema (4743ms) ✔ featured article response should conform to schema (invalid lang, agg=true) ✔ featured image response should conform to schema (invalid date, agg=true) ✔ most-read response should conform to schema (invalid date, agg=true) ✔ news response (invalid language, agg=true) should be empty ✔ featured article request should fail for invalid language when !agg=true ✔ featured image request should fail for invalid date when !agg=true ✔ most-read request should fail for invalid date when !agg=true ✔ news request should fail for invalid language when !agg=true validate spec examples ✔ spec from root ✔ retrieve service info ✔ Retrieve feed content availability from \'wikipedia.org\' ✔ Retrieve announcements ✔ retrieve selected events on January 15 (901ms) ✔ retrieve title of the featured article for April 29, 2016 (198ms) ✔ retrieve featured article info for unsupported site (with aggregated=true) ✔ retrieve featured image data for April 29, 2016 (1089ms) ✔ retrieve the most read articles for January 1, 2016 (627ms) ✔ retrieve the most-read articles for January 1, 2016 (with aggregated=true) (1190ms) ✔ retrieve most-read articles for date with no data (with aggregated=true) ✔ get 'In the News' content (124ms) ✔ get "In the News" content for unsupported language (with aggregated=true) ✔ retrieve a random article title (95ms) featured ✔ incomplete date should return 404 ✔ extra uri path parameter after date should return 404 ✔ Missing TFA should return 204 (140ms) ✔ Missing TFA with aggregated=true should return 204 (181ms) ✔ featured article of an old date should return 404 featured-image-lang ✔ bg description (2580ms) ✔ bn description (305ms) ✔ bs description (315ms) ✔ cs description (325ms) ✔ de description (277ms) ✔ el description (299ms) ✔ en description (233ms) ✔ fa description (483ms) ✔ he description (302ms) ✔ hu description (292ms) ✔ it description (301ms) ✔ ja description (322ms) ✔ la description (327ms) ✔ no description (282ms) ✔ sco description (284ms) ✔ sd description (328ms) ✔ sv description (275ms) ✔ tr description (315ms) ✔ ur description (299ms) ✔ vi description (304ms) ✔ zh description (302ms) featured-image ✔ incomplete date should return 404 ✔ extra uri path parameter after date should return 404 service information ✔ should get the service name ✔ should get the service version ✔ should redirect to the service home page ✔ should get the service info most-read articles ✔ Should provide pageviews from day prior when aggregated flag is set (3532ms) ✔ Should drop duplicate pageviews (589ms) ✔ Should filter out missing summaries (2347ms) ✔ Should return 204 for fywiki requests ✔ main page filtering RegExp should handle all main page title chars ✔ Should filter out blocked titles from some languages, but not others ✔ Should filter out certain blocked titles from all wikis most-read articles ✔ Should return 200 even if title has invalid utf8 encoding (2893ms) ✔ Should filter-out invalid utf8 encoding news headline selectors ✔ test news headlines should be general not categorical ✔ test news headline topics should be nonnull ✔ bs news headlines should be general not categorical ✔ bs news headline topics should be nonnull ✔ da news headlines should be general not categorical ✔ da news headline topics should be nonnull ✔ de news headlines should be general not categorical ✔ de news headline topics should be nonnull ✔ el news headlines should be general not categorical ✔ el news headline topics should be nonnull ✔ en news headlines should be general not categorical ✔ en news headline topics should be nonnull ✔ es news headlines should be general not categorical ✔ es news headline topics should be nonnull ✔ fi news headlines should be general not categorical ✔ fi news headline topics should be nonnull ✔ fr news headlines should be general not categorical ✔ fr news headline topics should be nonnull ✔ he news headlines should be general not categorical ✔ he news headline topics should be nonnull ✔ ko news headlines should be general not categorical ✔ ko news headline topics should be nonnull ✔ no news headlines should be general not categorical ✔ no news headline topics should be nonnull ✔ pl news headlines should be general not categorical ✔ pl news headline topics should be nonnull ✔ pt news headlines should be general not categorical ✔ pt news headline topics should be nonnull ✔ ru news headlines should be general not categorical ✔ ru news headline topics should be nonnull ✔ sco news headlines should be general not categorical ✔ sco news headline topics should be nonnull ✔ sv news headlines should be general not categorical ✔ sv news headline topics should be nonnull ✔ vi news headlines should be general not categorical ✔ vi news headline topics should be nonnull ✔ news headline topic should be the first bold link ✔ news headline topic should be the first link when no link is bolded news ✔ test: results list should have expected properties (742ms) ✔ bs: results list should have expected properties (2765ms) ✔ da: results list should have expected properties (2050ms) ✔ de: results list should have expected properties (153ms) ✔ el: results list should have expected properties (2420ms) ✔ en: results list should have expected properties (335ms) ✔ es: results list should have expected properties (268ms) ✔ fi: results list should have expected properties (694ms) ✔ fr: results list should have expected properties (444ms) ✔ he: results list should have expected properties (778ms) ✔ ko: results list should have expected properties (1209ms) ✔ no: results list should have expected properties (150ms) ✔ pl: results list should have expected properties (1033ms) ✔ pt: results list should have expected properties (359ms) ✔ ru: results list should have expected properties (660ms) ✔ sco: results list should have expected properties (336ms) ✔ sv: results list should have expected properties (1004ms) ✔ vi: results list should have expected properties (718ms) onthisday ✔ all: unsupported language throws 404 ✔ selected: unsupported language throws 404 ✔ selected: fetches some results (3214ms) ✔ births: unsupported language throws 404 ✔ births: fetches some results (1680ms) ✔ deaths: unsupported language throws 404 ✔ deaths: fetches some results (1371ms) ✔ events: unsupported language throws 404 ✔ events: fetches some results (2741ms) ✔ holidays: unsupported language throws 404 ✔ holidays: fetches some results (2112ms) ✔ "all" fetches some results for births, deaths, events, holidays and selected (2431ms) ✔ filters out duplicate articles from pages (2284ms) random/title ✔ pickBestResult should select best-scored title from sample ✔ redirects to the right format with random title - html (87ms) ✔ redirects to the right format with random title - invalid format ✔ returns 404 for yue.wikipedia.org stopping test server lib:announcements ✔ should return no announcement for inactive wiki ✔ should return one or more announcements for active wiki lib:announcements:etc ✔ should return no image_url ✔ should return correct type ✔ countries is an array of strings ✔ should not deliver HTML in certain legacy iOS announcements fields ✔ iOS legacy fundraising announcement should have the proper platform ID ✔ iOS fundraising announcement should have the proper platform ID ✔ should deliver HTML in certain V2 announcements fields ✔ caption_HTML on iOS should be inside a paragraph ✔ caption_HTML on Android should not be inside a paragraph ✔ should return no image_url ✔ should return correct type ✔ countries is an array of strings ✔ should not deliver HTML in certain legacy iOS announcements fields ✔ iOS legacy fundraising announcement should have the proper platform ID ✔ iOS fundraising announcement should have the proper platform ID ✔ should deliver HTML in certain V2 announcements fields ✔ caption_HTML on iOS should be inside a paragraph ✔ caption_HTML on Android should not be inside a paragraph ✔ should return no image_url ✔ should return correct type ✔ countries is an array of strings ✔ should not deliver HTML in certain legacy iOS announcements fields ✔ iOS legacy fundraising announcement should have the proper platform ID ✔ iOS fundraising announcement should have the proper platform ID ✔ should deliver HTML in certain V2 announcements fields ✔ caption_HTML on iOS should be inside a paragraph ✔ caption_HTML on Android should not be inside a paragraph ✔ should return no image_url ✔ should return correct type ✔ countries is an array of strings ✔ should not deliver HTML in certain legacy iOS announcements fields ✔ iOS legacy fundraising announcement should have the proper platform ID ✔ iOS fundraising announcement should have the proper platform ID ✔ should deliver HTML in certain V2 announcements fields ✔ caption_HTML on iOS should be inside a paragraph ✔ caption_HTML on Android should not be inside a paragraph ✔ buildId should not return lower case characters ✔ buildId should not return lower case characters ✔ buildId should not return lower case characters ✔ buildId should not return lower case characters ✔ buildId should not return lower case characters ✔ buildId should not return lower case characters ✔ buildId should not return lower case characters .hasEnded ✔ invalid endTime ✔ endTime has passed ✔ endTime has not passed yet announcements-unit-config ✔ all dates should be valid MW core page HTML ✔ fetches the core page html output only with title in params ✔ fetches the core page html output with revision in params featured-unit ✔ isSupported should return the correct boolean ✔ findPageTitle should find the first bold link: a inside b ✔ findPageTitle should find the first bold link: b inside a ✔ findPageTitle should return undefined if nothing found featured-image-unit ✔ structureExtMetadataValue returns description for preferred lang if present ✔ structureExtMetadataValue falls back to en description if preferred lang not present ✔ structureExtMetadataValue returns lang undefined for type of value equals to string ✔ structureExtMetadataValue returns undefined for undefined input news-unit ✔ news story constructed correctly (duplicate titles handled correctly) ✔ floating spans are removed onthisday-unit ✔ eventsForYearListElements returns a WMFEvent for only year list elements ✔ Sort year list events in correct BC[E] aware manner page title generation: titleForDayPageFromMonthDayNumberStrings ✔ 1 digit mm and 1 digit dd ✔ 0 padded mm and 1 digit dd ✔ 0 padded mm and 0 padded dd day page URI generation: dayTitleForRequest ✔ returns expected title for 0 padded month and 2 digit day ✔ returns expected title for 2 digit month and 0 padded day ✔ returns expected title for 1 digit month and 1 digit day selected page URI generation: selectedTitleForRequest ✔ returns expected title for 0 padded month and 2 digit day ✔ returns expected title for 2 digit month and 0 padded day ✔ returns expected title for 1 digit month and 1 digit day anchor to WMFPage transforms: wmfPageFromAnchorElement ✔ WMFPage model object is correctly created from a topic anchor ✔ WMFPage model object is correctly created from a non-topic anchor wmfEventFromListElement: WMFEvent model object is correctly created ✔ from a selected list element ✔ from a birth list element ✔ from an event list element ✔ from a death list element ✔ from a birth list element ✔ from a selected div element on zhwiki ✔ wmfEventFromListElement should return null for elements not describing events wmfHolidayFromListElement: WMFHoliday model object is correctly created ✔ WMFHoliday model object is correctly created from a holiday list element yearListElementRegEx ✔ rejects malformed BC strings ✔ accepts well formed BC strings ✔ accepts well formed BCE strings ✔ accepts well formed CE strings ✔ accepts well formed year strings (no BCE/AD/CE) ✔ accepts well formed AD strings ✔ extracts expected BC/BCE strings ✔ extracts expected BC/BCE strings in Chinese ✔ AD strings should not be negated ✔ rejects non year list strings ✔ rejects strings missing text listElementsByHeadingID extracts expected number of births from ✔ DE fixture (50ms) ✔ EN fixture (67ms) ✔ AR fixture ✔ BS fixture nested list element handling ✔ listElementsByHeadingID extracts expected number of holidays from EN fixture ✔ expected textContent for a list item NOT nested within another list item ✔ expected textContent for a list item nested within another list item ✔ expected textContent for list items nested within a year-dash list item ✔ expected textContent for list items nested within a year list item (no dash) addPrefixFromAncestorListElementsToListElement ✔ expected extraction from ancestor year element ✔ expected extraction from multiline ancestor year element ✔ expected extraction from ancestor year element with dash ✔ expected extraction from ancestor year element with dash space ✔ expected extraction from multiline ancestor year element with dash ✔ expected extraction from multiline non-year ancestor ✔ expected extraction from double-nested list element ✔ expected extraction from triple-nested list element ✔ expected extraction from nested Russian list element with "год" ✔ Prefixed text content from ancestor element is escaped isAnchorForYear ✔ correctly identifies anchor linking to year article ✔ correctly rejects anchor linking article starting with a year ✔ correctly rejects anchor linking article starting with a number ✔ correctly rejects anchor linking article not starting with a year ✔ correctly identifies anchor linking to year article with an era string ✔ correctly identifies anchor linking to year article with era string w/o space external urls should be excluded ✔ exclude external url from WMFHoliday pages ✔ exclude external url from WMFEvent pages style tags should be dropped ✔ exclude style tags random ✔ pickBestResult should select best-scored title from sample util ✔ promiseAwaitAll, ignoreRejected ✔ promiseAwaitAll, propagate rejected removeDuplicateTitles ✔ deduplicates and applies update function 284 passing (1m) 1 pending 1 failing 1) Swagger spec validate responses against schema most-read response should conform to schema: HTTPError: The date(s) you used are valid, but we either do not have data for those date(s), or the project you asked for is not loaded yet. Please check documentation for more information at request.then.query (node_modules/preq/index.js:228:23) at tryCatcher (node_modules/bluebird/js/release/util.js:16:23) at Promise._settlePromiseFromHandler (node_modules/bluebird/js/release/promise.js:547:31) at Promise._settlePromise (node_modules/bluebird/js/release/promise.js:604:18) at Promise._settlePromise0 (node_modules/bluebird/js/release/promise.js:649:10) at Promise._settlePromises (node_modules/bluebird/js/release/promise.js:729:18) at _drainQueueStep (node_modules/bluebird/js/release/async.js:93:12) at _drainQueue (node_modules/bluebird/js/release/async.js:86:9) at Async._drainQueues (node_modules/bluebird/js/release/async.js:102:5) at Async.drainQueues [as _onImmediate] (node_modules/bluebird/js/release/async.js:15:14) at process.processImmediate (node:internal/timers:476:21) --- end --- Traceback (most recent call last): File "/venv/lib/python3.11/site-packages/runner-0.1.0-py3.11.egg/runner/__init__.py", line 2026, in main libup.run(args.repo, args.output, args.branch) File "/venv/lib/python3.11/site-packages/runner-0.1.0-py3.11.egg/runner/__init__.py", line 1968, in run self.npm_audit_fix(new_npm_audit) File "/venv/lib/python3.11/site-packages/runner-0.1.0-py3.11.egg/runner/__init__.py", line 275, in npm_audit_fix self.npm_test() File "/venv/lib/python3.11/site-packages/runner-0.1.0-py3.11.egg/runner/__init__.py", line 325, in npm_test self.check_call(["npm", "test"]) File "/venv/lib/python3.11/site-packages/runner-0.1.0-py3.11.egg/runner/shell2.py", line 63, in check_call res.check_returncode() File "/usr/lib/python3.11/subprocess.py", line 502, in check_returncode raise CalledProcessError(self.returncode, self.args, self.stdout, subprocess.CalledProcessError: Command '['/usr/bin/npm', 'test']' returned non-zero exit status 1.