mediawiki/core (REL1_42)

sourcepatches
From d8eb5f2ac1ae7f54f5db59263480b54d7662f71e Mon Sep 17 00:00:00 2001
From: libraryupgrader <tools.libraryupgrader@tools.wmflabs.org>
Date: Thu, 9 May 2024 00:33:18 +0000
Subject: [PATCH] build: Updating npm dependencies
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

* ejs: 3.1.8 → 3.1.10
  * https://github.com/advisories/GHSA-ghr5-ch3p-vcr6
* follow-redirects: 1.15.5 → 1.15.6
  * https://github.com/advisories/GHSA-cxjh-pqwp-8mfp

Change-Id: If0a01453f716770a230ff4884fb65175f7f962e6
---
 package-lock.json | 52 +++++++++++++++++++++++------------------------
 1 file changed, 25 insertions(+), 27 deletions(-)

diff --git a/package-lock.json b/package-lock.json
index 78921fd..908abc2 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -3636,9 +3636,9 @@
 			"dev": true
 		},
 		"node_modules/ejs": {
-			"version": "3.1.8",
-			"resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.8.tgz",
-			"integrity": "sha512-/sXZeMlhS0ArkfX2Aw780gJzXSMPnKjtspYZv+f3NiKLlubezAHDU5+9xz6gd3/NhG3txQCo6xlglmTS+oTGEQ==",
+			"version": "3.1.10",
+			"resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.10.tgz",
+			"integrity": "sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==",
 			"dev": true,
 			"dependencies": {
 				"jake": "^10.8.5"
@@ -4760,9 +4760,9 @@
 			"dev": true
 		},
 		"node_modules/follow-redirects": {
-			"version": "1.15.5",
-			"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.5.tgz",
-			"integrity": "sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==",
+			"version": "1.15.6",
+			"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz",
+			"integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==",
 			"dev": true,
 			"funding": [
 				{
@@ -10734,8 +10734,17 @@
 			}
 		},
 		"node_modules/wdio-mediawiki": {
-			"resolved": "tests/selenium/wdio-mediawiki",
-			"link": true
+			"version": "2.5.0",
+			"resolved": "file:tests/selenium/wdio-mediawiki",
+			"dev": true,
+			"license": "MIT",
+			"dependencies": {
+				"mwbot": "2.1.3"
+			},
+			"engines": {
+				"node": ">=18.17.0",
+				"npm": ">=9.6.7"
+			}
 		},
 		"node_modules/webdriver": {
 			"version": "7.33.0",
@@ -11316,18 +11325,6 @@
 			"funding": {
 				"url": "https://github.com/sponsors/isaacs"
 			}
-		},
-		"tests/selenium/wdio-mediawiki": {
-			"version": "2.5.0",
-			"dev": true,
-			"license": "MIT",
-			"dependencies": {
-				"mwbot": "2.1.3"
-			},
-			"engines": {
-				"node": ">=18.17.0",
-				"npm": ">=9.6.7"
-			}
 		}
 	},
 	"dependencies": {
@@ -14113,9 +14110,9 @@
 			"dev": true
 		},
 		"ejs": {
-			"version": "3.1.8",
-			"resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.8.tgz",
-			"integrity": "sha512-/sXZeMlhS0ArkfX2Aw780gJzXSMPnKjtspYZv+f3NiKLlubezAHDU5+9xz6gd3/NhG3txQCo6xlglmTS+oTGEQ==",
+			"version": "3.1.10",
+			"resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.10.tgz",
+			"integrity": "sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==",
 			"dev": true,
 			"requires": {
 				"jake": "^10.8.5"
@@ -14960,9 +14957,9 @@
 			"dev": true
 		},
 		"follow-redirects": {
-			"version": "1.15.5",
-			"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.5.tgz",
-			"integrity": "sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==",
+			"version": "1.15.6",
+			"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz",
+			"integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==",
 			"dev": true
 		},
 		"for-in": {
@@ -19531,7 +19528,8 @@
 			}
 		},
 		"wdio-mediawiki": {
-			"version": "file:tests/selenium/wdio-mediawiki",
+			"version": "2.5.0",
+			"dev": true,
 			"requires": {
 				"mwbot": "2.1.3"
 			}
-- 
2.39.2

$ date
--- stdout ---
Thu May  9 00:29:59 UTC 2024

--- end ---
$ git clone file:///srv/git/mediawiki-core.git repo --depth=1 -b REL1_42
--- stderr ---
Cloning into 'repo'...
Updating files:  98% (9389/9537)
Updating files:  99% (9442/9537)
Updating files: 100% (9537/9537)
Updating files: 100% (9537/9537), done.
--- stdout ---

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

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

--- end ---
$ git submodule update --init
--- stderr ---
Submodule 'extensions/AbuseFilter' (https://gerrit.wikimedia.org/r/mediawiki/extensions/AbuseFilter) registered for path 'extensions/AbuseFilter'
Submodule 'extensions/CategoryTree' (https://gerrit.wikimedia.org/r/mediawiki/extensions/CategoryTree) registered for path 'extensions/CategoryTree'
Submodule 'extensions/Cite' (https://gerrit.wikimedia.org/r/mediawiki/extensions/Cite) registered for path 'extensions/Cite'
Submodule 'extensions/CiteThisPage' (https://gerrit.wikimedia.org/r/mediawiki/extensions/CiteThisPage) registered for path 'extensions/CiteThisPage'
Submodule 'extensions/CodeEditor' (https://gerrit.wikimedia.org/r/mediawiki/extensions/CodeEditor) registered for path 'extensions/CodeEditor'
Submodule 'extensions/ConfirmEdit' (https://gerrit.wikimedia.org/r/mediawiki/extensions/ConfirmEdit) registered for path 'extensions/ConfirmEdit'
Submodule 'extensions/DiscussionTools' (https://gerrit.wikimedia.org/r/mediawiki/extensions/DiscussionTools) registered for path 'extensions/DiscussionTools'
Submodule 'extensions/Echo' (https://gerrit.wikimedia.org/r/mediawiki/extensions/Echo) registered for path 'extensions/Echo'
Submodule 'extensions/Gadgets' (https://gerrit.wikimedia.org/r/mediawiki/extensions/Gadgets) registered for path 'extensions/Gadgets'
Submodule 'extensions/ImageMap' (https://gerrit.wikimedia.org/r/mediawiki/extensions/ImageMap) registered for path 'extensions/ImageMap'
Submodule 'extensions/InputBox' (https://gerrit.wikimedia.org/r/mediawiki/extensions/InputBox) registered for path 'extensions/InputBox'
Submodule 'extensions/Interwiki' (https://gerrit.wikimedia.org/r/mediawiki/extensions/Interwiki) registered for path 'extensions/Interwiki'
Submodule 'extensions/Linter' (https://gerrit.wikimedia.org/r/mediawiki/extensions/Linter) registered for path 'extensions/Linter'
Submodule 'extensions/LoginNotify' (https://gerrit.wikimedia.org/r/mediawiki/extensions/LoginNotify) registered for path 'extensions/LoginNotify'
Submodule 'extensions/Math' (https://gerrit.wikimedia.org/r/mediawiki/extensions/Math) registered for path 'extensions/Math'
Submodule 'extensions/MultimediaViewer' (https://gerrit.wikimedia.org/r/mediawiki/extensions/MultimediaViewer) registered for path 'extensions/MultimediaViewer'
Submodule 'extensions/Nuke' (https://gerrit.wikimedia.org/r/mediawiki/extensions/Nuke) registered for path 'extensions/Nuke'
Submodule 'extensions/OATHAuth' (https://gerrit.wikimedia.org/r/mediawiki/extensions/OATHAuth) registered for path 'extensions/OATHAuth'
Submodule 'extensions/PageImages' (https://gerrit.wikimedia.org/r/mediawiki/extensions/PageImages) registered for path 'extensions/PageImages'
Submodule 'extensions/ParserFunctions' (https://gerrit.wikimedia.org/r/mediawiki/extensions/ParserFunctions) registered for path 'extensions/ParserFunctions'
Submodule 'extensions/PdfHandler' (https://gerrit.wikimedia.org/r/mediawiki/extensions/PdfHandler) registered for path 'extensions/PdfHandler'
Submodule 'extensions/Poem' (https://gerrit.wikimedia.org/r/mediawiki/extensions/Poem) registered for path 'extensions/Poem'
Submodule 'extensions/ReplaceText' (https://gerrit.wikimedia.org/r/mediawiki/extensions/ReplaceText) registered for path 'extensions/ReplaceText'
Submodule 'extensions/Scribunto' (https://gerrit.wikimedia.org/r/mediawiki/extensions/Scribunto) registered for path 'extensions/Scribunto'
Submodule 'extensions/SecureLinkFixer' (https://gerrit.wikimedia.org/r/mediawiki/extensions/SecureLinkFixer) registered for path 'extensions/SecureLinkFixer'
Submodule 'extensions/SpamBlacklist' (https://gerrit.wikimedia.org/r/mediawiki/extensions/SpamBlacklist) registered for path 'extensions/SpamBlacklist'
Submodule 'extensions/SyntaxHighlight_GeSHi' (https://gerrit.wikimedia.org/r/mediawiki/extensions/SyntaxHighlight_GeSHi) registered for path 'extensions/SyntaxHighlight_GeSHi'
Submodule 'extensions/TemplateData' (https://gerrit.wikimedia.org/r/mediawiki/extensions/TemplateData) registered for path 'extensions/TemplateData'
Submodule 'extensions/TextExtracts' (https://gerrit.wikimedia.org/r/mediawiki/extensions/TextExtracts) registered for path 'extensions/TextExtracts'
Submodule 'extensions/Thanks' (https://gerrit.wikimedia.org/r/mediawiki/extensions/Thanks) registered for path 'extensions/Thanks'
Submodule 'extensions/TitleBlacklist' (https://gerrit.wikimedia.org/r/mediawiki/extensions/TitleBlacklist) registered for path 'extensions/TitleBlacklist'
Submodule 'extensions/VisualEditor' (https://gerrit.wikimedia.org/r/mediawiki/extensions/VisualEditor) registered for path 'extensions/VisualEditor'
Submodule 'extensions/WikiEditor' (https://gerrit.wikimedia.org/r/mediawiki/extensions/WikiEditor) registered for path 'extensions/WikiEditor'
Submodule 'skins/MinervaNeue' (https://gerrit.wikimedia.org/r/mediawiki/skins/MinervaNeue) registered for path 'skins/MinervaNeue'
Submodule 'skins/MonoBook' (https://gerrit.wikimedia.org/r/mediawiki/skins/MonoBook) registered for path 'skins/MonoBook'
Submodule 'skins/Timeless' (https://gerrit.wikimedia.org/r/mediawiki/skins/Timeless) registered for path 'skins/Timeless'
Submodule 'skins/Vector' (https://gerrit.wikimedia.org/r/mediawiki/skins/Vector) registered for path 'skins/Vector'
Submodule 'vendor' (https://gerrit.wikimedia.org/r/mediawiki/vendor) registered for path 'vendor'
Cloning into '/src/repo/extensions/AbuseFilter'...
Cloning into '/src/repo/extensions/CategoryTree'...
Cloning into '/src/repo/extensions/Cite'...
Cloning into '/src/repo/extensions/CiteThisPage'...
Cloning into '/src/repo/extensions/CodeEditor'...
Cloning into '/src/repo/extensions/ConfirmEdit'...
Cloning into '/src/repo/extensions/DiscussionTools'...
Cloning into '/src/repo/extensions/Echo'...
Cloning into '/src/repo/extensions/Gadgets'...
Cloning into '/src/repo/extensions/ImageMap'...
Cloning into '/src/repo/extensions/InputBox'...
Cloning into '/src/repo/extensions/Interwiki'...
Cloning into '/src/repo/extensions/Linter'...
Cloning into '/src/repo/extensions/LoginNotify'...
Cloning into '/src/repo/extensions/Math'...
Cloning into '/src/repo/extensions/MultimediaViewer'...
Cloning into '/src/repo/extensions/Nuke'...
Cloning into '/src/repo/extensions/OATHAuth'...
Cloning into '/src/repo/extensions/PageImages'...
Cloning into '/src/repo/extensions/ParserFunctions'...
Cloning into '/src/repo/extensions/PdfHandler'...
Cloning into '/src/repo/extensions/Poem'...
Cloning into '/src/repo/extensions/ReplaceText'...
Cloning into '/src/repo/extensions/Scribunto'...
Cloning into '/src/repo/extensions/SecureLinkFixer'...
Cloning into '/src/repo/extensions/SpamBlacklist'...
Cloning into '/src/repo/extensions/SyntaxHighlight_GeSHi'...
Cloning into '/src/repo/extensions/TemplateData'...
Cloning into '/src/repo/extensions/TextExtracts'...
Cloning into '/src/repo/extensions/Thanks'...
Cloning into '/src/repo/extensions/TitleBlacklist'...
Cloning into '/src/repo/extensions/VisualEditor'...
Cloning into '/src/repo/extensions/WikiEditor'...
Cloning into '/src/repo/skins/MinervaNeue'...
Cloning into '/src/repo/skins/MonoBook'...
Cloning into '/src/repo/skins/Timeless'...
Cloning into '/src/repo/skins/Vector'...
Cloning into '/src/repo/vendor'...
--- stdout ---
Submodule path 'extensions/AbuseFilter': checked out '70f196fad1cc29ebaaf72d508f0900a9544c669a'
Submodule path 'extensions/CategoryTree': checked out 'd22319fea891ba1133769d0cebeb1cdc262e5388'
Submodule path 'extensions/Cite': checked out 'bee00abfbc765049cba2c6c9e085461c10982c5c'
Submodule path 'extensions/CiteThisPage': checked out 'f08b21b8668541c65c49bbd5d82c4444603a67de'
Submodule path 'extensions/CodeEditor': checked out '67e9b621c0a3e052b19151c99973a01bdc6dedbc'
Submodule path 'extensions/ConfirmEdit': checked out 'f36aabcc4436b0a4de798f554a08b619b7907c1c'
Submodule path 'extensions/DiscussionTools': checked out '3619b14efe8d903f056a65f055a7280af68ffbab'
Submodule path 'extensions/Echo': checked out '3880f0e31eb91b0d67c9acb19112786d69c9e8a6'
Submodule path 'extensions/Gadgets': checked out 'a82bc15de16ec0c5ff4930bb3d87832abce241bb'
Submodule path 'extensions/ImageMap': checked out 'f1d3fb56e258cb47fbfe2b582202f1f79c8dc8c8'
Submodule path 'extensions/InputBox': checked out 'e0be8b3835721fdb6b36f0636f76c96c923f507e'
Submodule path 'extensions/Interwiki': checked out '5373639865d985e334fb54b5d83db1687c2e58ec'
Submodule path 'extensions/Linter': checked out '3fbb3fdbc82a7162aa352146752ed5ee0b8bd14d'
Submodule path 'extensions/LoginNotify': checked out 'b715d0f3693a01126210292e937a33ef4046ba85'
Submodule path 'extensions/Math': checked out '0b911d9c00f5dc198c9e691b43bdb0de68b92eac'
Submodule path 'extensions/MultimediaViewer': checked out 'b7dc925c524ed6327ecd315d0c0c8b34d97f8ad9'
Submodule path 'extensions/Nuke': checked out 'f729f4dd0a3a14eee746b6d2736969164a25231a'
Submodule path 'extensions/OATHAuth': checked out '8afe7f91c7ef31173bd765f4cbf0ebeffb076745'
Submodule path 'extensions/PageImages': checked out '5817881b6d9461f56cbc54378d6fada0d13c15cd'
Submodule path 'extensions/ParserFunctions': checked out '74b5adf802cc0b2833d0677cfbc1cdaebfffb89a'
Submodule path 'extensions/PdfHandler': checked out '6fd16808fbcd73613ab5ed563702e5df101ef973'
Submodule path 'extensions/Poem': checked out 'b5822dd829f666e44192683afaa5c3fdf439d0b4'
Submodule path 'extensions/ReplaceText': checked out '3264cbd83d7e4cf915993b5e85e7596720ddf750'
Submodule path 'extensions/Scribunto': checked out 'a6b0c7825a57e92bff075da4799b90f60f9cab23'
Submodule path 'extensions/SecureLinkFixer': checked out '19ebdc7546060605629e5da9fd538b98d98c4539'
Submodule path 'extensions/SpamBlacklist': checked out '0fb6a801db2b5c63b9e39d29500a79fb278799cf'
Submodule path 'extensions/SyntaxHighlight_GeSHi': checked out '2eb3bc363321b12a9d4236595b78822168a77798'
Submodule path 'extensions/TemplateData': checked out '01d4c5d278d36e2d4c9bacdf33174fa41592a2d1'
Submodule path 'extensions/TextExtracts': checked out 'bb69da550d8090119e890281d0166baed10dd155'
Submodule path 'extensions/Thanks': checked out '09312252d2330ff33f5b449d2409041cbc4cbdec'
Submodule path 'extensions/TitleBlacklist': checked out 'bbc8b2d3215b0d8edbea4729ea536ca404e7a5b1'
Submodule path 'extensions/VisualEditor': checked out '94579b2d8014349399d3befb9616cee0e96571ba'
Submodule path 'extensions/WikiEditor': checked out '6c93890b4db554b222d938e99141f155eb83d11b'
Submodule path 'skins/MinervaNeue': checked out '7a297811cd36e3c2b71509693a3f3f90920774a7'
Submodule path 'skins/MonoBook': checked out '6a3d0b2d998c838f8a29fa179137aee05881dc7d'
Submodule path 'skins/Timeless': checked out '7a5bff44ca9440e240a60de2a73043d76a7642b3'
Submodule path 'skins/Vector': checked out '68bfeace9ffd0cd39b0bb68c67493390c115bea1'
Submodule path 'vendor': checked out '08c7e69347a10e29b1a64515cabe43feb341d065'

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

--- end ---
$ git show-ref refs/heads/REL1_42
--- stdout ---
9048e18879becccfd137e595d266949e2a9ecef7 refs/heads/REL1_42

--- end ---
$ /usr/bin/npm audit --json
--- stdout ---
{
  "auditReportVersion": 2,
  "vulnerabilities": {
    "ejs": {
      "name": "ejs",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        {
          "source": 1097210,
          "name": "ejs",
          "dependency": "ejs",
          "title": "ejs lacks certain pollution protection",
          "url": "https://github.com/advisories/GHSA-ghr5-ch3p-vcr6",
          "severity": "moderate",
          "cwe": [
            "CWE-1321"
          ],
          "cvss": {
            "score": 0,
            "vectorString": null
          },
          "range": "<3.1.10"
        }
      ],
      "effects": [],
      "range": "<3.1.10",
      "nodes": [
        "node_modules/ejs"
      ],
      "fixAvailable": true
    },
    "follow-redirects": {
      "name": "follow-redirects",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        {
          "source": 1096856,
          "name": "follow-redirects",
          "dependency": "follow-redirects",
          "title": "follow-redirects' Proxy-Authorization header kept across hosts",
          "url": "https://github.com/advisories/GHSA-cxjh-pqwp-8mfp",
          "severity": "moderate",
          "cwe": [
            "CWE-200"
          ],
          "cvss": {
            "score": 6.5,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N"
          },
          "range": "<=1.15.5"
        }
      ],
      "effects": [],
      "range": "<=1.15.5",
      "nodes": [
        "node_modules/follow-redirects"
      ],
      "fixAvailable": true
    },
    "mwbot": {
      "name": "mwbot",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "request"
      ],
      "effects": [],
      "range": ">=0.1.6",
      "nodes": [
        "node_modules/mwbot"
      ],
      "fixAvailable": {
        "name": "mwbot",
        "version": "0.1.5",
        "isSemVerMajor": true
      }
    },
    "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": [
        "mwbot"
      ],
      "range": "*",
      "nodes": [
        "node_modules/request"
      ],
      "fixAvailable": {
        "name": "mwbot",
        "version": "0.1.5",
        "isSemVerMajor": true
      }
    },
    "tough-cookie": {
      "name": "tough-cookie",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        {
          "source": 1096643,
          "name": "tough-cookie",
          "dependency": "tough-cookie",
          "title": "tough-cookie Prototype Pollution vulnerability",
          "url": "https://github.com/advisories/GHSA-72xf-g2v4-qvf3",
          "severity": "moderate",
          "cwe": [
            "CWE-1321"
          ],
          "cvss": {
            "score": 6.5,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N"
          },
          "range": "<4.1.3"
        }
      ],
      "effects": [
        "request"
      ],
      "range": "<4.1.3",
      "nodes": [
        "node_modules/tough-cookie"
      ],
      "fixAvailable": {
        "name": "mwbot",
        "version": "0.1.5",
        "isSemVerMajor": true
      }
    }
  },
  "metadata": {
    "vulnerabilities": {
      "info": 0,
      "low": 0,
      "moderate": 5,
      "high": 0,
      "critical": 0,
      "total": 5
    },
    "dependencies": {
      "prod": 1,
      "dev": 987,
      "optional": 1,
      "peer": 7,
      "peerOptional": 0,
      "total": 987
    }
  }
}

--- end ---
$ /usr/bin/composer install
--- stderr ---
No composer.lock file present. Updating dependencies to latest instead of installing from lock file. See https://getcomposer.org/install for more information.
> MediaWiki\Composer\VersionChecker::onEvent
Loading composer repositories with package information
Updating dependencies
Lock file operations: 135 installs, 0 updates, 0 removals
  - Locking composer/pcre (3.1.3)
  - Locking composer/semver (3.4.0)
  - Locking composer/spdx-licenses (1.5.8)
  - Locking composer/xdebug-handler (3.0.5)
  - Locking cssjanus/cssjanus (v2.1.1)
  - Locking dealerdirect/phpcodesniffer-composer-installer (v1.0.0)
  - Locking doctrine/cache (2.2.0)
  - Locking doctrine/dbal (3.7.2)
  - Locking doctrine/deprecations (1.1.3)
  - Locking doctrine/event-manager (2.0.0)
  - Locking doctrine/instantiator (2.0.0)
  - Locking doctrine/sql-formatter (1.1.3)
  - Locking felixfbecker/advanced-json-rpc (v3.2.1)
  - Locking giorgiosironi/eris (0.14.0)
  - Locking guzzlehttp/guzzle (7.7.1)
  - Locking guzzlehttp/promises (2.0.2)
  - Locking guzzlehttp/psr7 (2.6.2)
  - Locking hamcrest/hamcrest-php (v2.0.1)
  - Locking johnkary/phpunit-speedtrap (v4.0.1)
  - Locking justinrainbow/json-schema (v5.2.13)
  - Locking liuggio/statsd-php-client (v1.0.18)
  - Locking mck89/peast (v1.16.2)
  - Locking mediawiki/mediawiki-codesniffer (v43.0.0)
  - Locking mediawiki/mediawiki-phan-config (0.14.0)
  - Locking mediawiki/phan-taint-check-plugin (6.0.0)
  - Locking microsoft/tolerant-php-parser (v0.1.2)
  - Locking monolog/monolog (2.9.2)
  - Locking myclabs/deep-copy (1.11.1)
  - Locking netresearch/jsonmapper (v4.4.1)
  - Locking nikic/php-parser (v4.19.1)
  - Locking oojs/oojs-ui (v0.49.1)
  - Locking pear/console_getopt (v1.4.3)
  - Locking pear/mail (v1.6.0)
  - Locking pear/mail_mime (1.10.12)
  - Locking pear/net_smtp (1.11.1)
  - Locking pear/net_socket (v1.2.2)
  - Locking pear/net_url2 (v2.2.2)
  - Locking pear/pear-core-minimal (v1.10.15)
  - Locking pear/pear_exception (v1.0.2)
  - Locking phan/phan (5.4.3)
  - Locking phar-io/manifest (2.0.4)
  - Locking phar-io/version (3.2.1)
  - Locking php-parallel-lint/php-console-color (v1.0.1)
  - Locking php-parallel-lint/php-console-highlighter (v1.0.0)
  - Locking php-parallel-lint/php-parallel-lint (v1.4.0)
  - Locking phpcsstandards/phpcsextra (1.1.2)
  - Locking phpcsstandards/phpcsutils (1.0.9)
  - Locking phpdocumentor/reflection-common (2.2.0)
  - Locking phpdocumentor/reflection-docblock (5.4.0)
  - Locking phpdocumentor/type-resolver (1.8.2)
  - Locking phpstan/phpdoc-parser (1.29.0)
  - Locking phpunit/php-code-coverage (9.2.31)
  - Locking phpunit/php-file-iterator (3.0.6)
  - Locking phpunit/php-invoker (3.1.1)
  - Locking phpunit/php-text-template (2.0.4)
  - Locking phpunit/php-timer (5.0.3)
  - Locking phpunit/phpunit (9.6.16)
  - Locking psr/cache (3.0.0)
  - Locking psr/container (1.1.2)
  - Locking psr/http-client (1.0.3)
  - Locking psr/http-factory (1.0.2)
  - Locking psr/http-message (1.1)
  - Locking psr/log (1.1.4)
  - Locking psy/psysh (v0.12.3)
  - Locking ralouphie/getallheaders (3.0.3)
  - Locking sabre/event (5.1.4)
  - Locking sebastian/cli-parser (1.0.2)
  - Locking sebastian/code-unit (1.0.8)
  - Locking sebastian/code-unit-reverse-lookup (2.0.3)
  - Locking sebastian/comparator (4.0.8)
  - Locking sebastian/complexity (2.0.3)
  - Locking sebastian/diff (4.0.6)
  - Locking sebastian/environment (5.1.5)
  - Locking sebastian/exporter (4.0.6)
  - Locking sebastian/global-state (5.0.7)
  - Locking sebastian/lines-of-code (1.0.4)
  - Locking sebastian/object-enumerator (4.0.4)
  - Locking sebastian/object-reflector (2.0.4)
  - Locking sebastian/recursion-context (4.0.5)
  - Locking sebastian/resource-operations (3.0.4)
  - Locking sebastian/type (3.2.1)
  - Locking sebastian/version (3.0.2)
  - Locking seld/jsonlint (1.10.1)
  - Locking squizlabs/php_codesniffer (3.8.1)
  - Locking symfony/console (v7.0.7)
  - Locking symfony/deprecation-contracts (v3.5.0)
  - Locking symfony/polyfill-php80 (v1.29.0)
  - Locking symfony/polyfill-php81 (v1.29.0)
  - Locking symfony/polyfill-php82 (v1.29.0)
  - Locking symfony/polyfill-php83 (v1.29.0)
  - Locking symfony/service-contracts (v3.5.0)
  - Locking symfony/string (v7.0.7)
  - Locking symfony/var-dumper (v7.0.7)
  - Locking symfony/yaml (v5.4.35)
  - Locking theseer/tokenizer (1.2.3)
  - Locking tysonandre/var_representation_polyfill (0.1.3)
  - Locking webmozart/assert (1.11.0)
  - Locking wikimedia/alea (1.0.0)
  - Locking wikimedia/assert (v0.5.1)
  - Locking wikimedia/at-ease (v2.1.0)
  - Locking wikimedia/base-convert (v2.0.2)
  - Locking wikimedia/bcp-47-code (v2.0.0)
  - Locking wikimedia/cdb (3.0.0)
  - Locking wikimedia/cldr-plural-rule-parser (v2.0.0)
  - Locking wikimedia/common-passwords (v0.5.0)
  - Locking wikimedia/composer-merge-plugin (v2.1.0)
  - Locking wikimedia/html-formatter (4.1.0)
  - Locking wikimedia/idle-dom (v1.0.0)
  - Locking wikimedia/ip-utils (5.0.0)
  - Locking wikimedia/json-codec (v2.2.1)
  - Locking wikimedia/langconv (0.4.2)
  - Locking wikimedia/less.php (v4.2.1)
  - Locking wikimedia/minify (2.7.0)
  - Locking wikimedia/normalized-exception (v1.0.1)
  - Locking wikimedia/object-factory (v5.0.1)
  - Locking wikimedia/parsoid (v0.19.0)
  - Locking wikimedia/php-session-serializer (v2.0.1)
  - Locking wikimedia/purtle (v1.0.8)
  - Locking wikimedia/relpath (4.0.0)
  - Locking wikimedia/remex-html (4.1.0)
  - Locking wikimedia/request-timeout (1.2.0)
  - Locking wikimedia/running-stat (v2.1.0)
  - Locking wikimedia/scoped-callback (v4.0.0)
  - Locking wikimedia/services (3.0.0)
  - Locking wikimedia/shellbox (4.0.2)
  - Locking wikimedia/testing-access-wrapper (3.0.0)
  - Locking wikimedia/timestamp (v4.1.1)
  - Locking wikimedia/utfnormal (4.0.0)
  - Locking wikimedia/wait-condition-loop (v2.0.2)
  - Locking wikimedia/wikipeg (4.0.0)
  - Locking wikimedia/wrappedstring (v4.0.1)
  - Locking wikimedia/xmp-reader (0.9.1)
  - Locking wikimedia/zest-css (3.0.1)
  - Locking wmde/hamcrest-html-matchers (v1.0.0)
  - Locking zordius/lightncandy (v1.2.6)
Writing lock file
Installing dependencies from lock file (including require-dev)
Package operations: 71 installs, 2 updates, 6 removals
  - Downloading doctrine/dbal (3.7.2)
  - Downloading seld/jsonlint (1.10.1)
 0/2 [>---------------------------]   0%
 2/2 [============================] 100%
  - Removing wikimedia/equivset (1.6.1)
  - Removing jakobo/hotp-php (v2.0.0)
  - Removing endroid/qr-code (4.6.1)
  - Removing dasprid/enum (1.0.5)
  - Removing christian-riesen/base32 (1.6.0)
  - Removing bacon/bacon-qr-code (2.0.8)
  - Installing squizlabs/php_codesniffer (3.8.1): Extracting archive
 0/1 [>---------------------------]   0%
 1/1 [============================] 100%
  - Installing dealerdirect/phpcodesniffer-composer-installer (v1.0.0): Extracting archive
  - Installing composer/pcre (3.1.3): Extracting archive
  - Installing psr/cache (3.0.0): Extracting archive
  - Installing doctrine/event-manager (2.0.0): Extracting archive
  - Installing doctrine/deprecations (1.1.3): Extracting archive
  - Installing doctrine/cache (2.2.0): Extracting archive
  - Installing doctrine/dbal (3.7.2): Extracting archive
  - Installing doctrine/sql-formatter (1.1.3): Extracting archive
  - Installing giorgiosironi/eris (0.14.0): Extracting archive
  - Upgrading guzzlehttp/psr7 (2.4.5 => 2.6.2): Extracting archive
  - Installing sebastian/version (3.0.2): Extracting archive
  - Installing sebastian/type (3.2.1): Extracting archive
  - Installing sebastian/resource-operations (3.0.4): Extracting archive
  - Installing sebastian/recursion-context (4.0.5): Extracting archive
  - Installing sebastian/object-reflector (2.0.4): Extracting archive
  - Installing sebastian/object-enumerator (4.0.4): Extracting archive
  - Installing sebastian/global-state (5.0.7): Extracting archive
  - Installing sebastian/exporter (4.0.6): Extracting archive
  - Installing sebastian/environment (5.1.5): Extracting archive
  - Installing sebastian/diff (4.0.6): Extracting archive
  - Installing sebastian/comparator (4.0.8): Extracting archive
  - Installing sebastian/code-unit (1.0.8): Extracting archive
  - Installing sebastian/cli-parser (1.0.2): Extracting archive
  - Installing phpunit/php-timer (5.0.3): Extracting archive
  - Installing phpunit/php-text-template (2.0.4): Extracting archive
  - Installing phpunit/php-invoker (3.1.1): Extracting archive
  - Installing phpunit/php-file-iterator (3.0.6): Extracting archive
  - Installing theseer/tokenizer (1.2.3): Extracting archive
  - Installing nikic/php-parser (v4.19.1): Extracting archive
  - Installing sebastian/lines-of-code (1.0.4): Extracting archive
  - Installing sebastian/complexity (2.0.3): Extracting archive
  - Installing sebastian/code-unit-reverse-lookup (2.0.3): Extracting archive
  - Installing phpunit/php-code-coverage (9.2.31): Extracting archive
  - Installing phar-io/version (3.2.1): Extracting archive
  - Installing phar-io/manifest (2.0.4): Extracting archive
  - Installing myclabs/deep-copy (1.11.1): Extracting archive
  - Installing doctrine/instantiator (2.0.0): Extracting archive
  - Installing phpunit/phpunit (9.6.16): Extracting archive
  - Installing johnkary/phpunit-speedtrap (v4.0.1): Extracting archive
  - Installing phpcsstandards/phpcsutils (1.0.9): Extracting archive
  - Installing phpcsstandards/phpcsextra (1.1.2): Extracting archive
  - Installing composer/spdx-licenses (1.5.8): Extracting archive
  - Installing mediawiki/mediawiki-codesniffer (v43.0.0): Extracting archive
  - Installing tysonandre/var_representation_polyfill (0.1.3): Extracting archive
  - Installing symfony/string (v7.0.7): Extracting archive
  - Upgrading symfony/deprecation-contracts (v2.5.3 => v3.5.0): Extracting archive
  - Installing symfony/service-contracts (v3.5.0): Extracting archive
  - Installing symfony/console (v7.0.7): Extracting archive
  - Installing sabre/event (5.1.4): Extracting archive
  - Installing netresearch/jsonmapper (v4.4.1): Extracting archive
  - Installing microsoft/tolerant-php-parser (v0.1.2): Extracting archive
  - Installing webmozart/assert (1.11.0): Extracting archive
  - Installing phpstan/phpdoc-parser (1.29.0): Extracting archive
  - Installing phpdocumentor/reflection-common (2.2.0): Extracting archive
  - Installing phpdocumentor/type-resolver (1.8.2): Extracting archive
  - Installing phpdocumentor/reflection-docblock (5.4.0): Extracting archive
  - Installing felixfbecker/advanced-json-rpc (v3.2.1): Extracting archive
  - Installing composer/xdebug-handler (3.0.5): Extracting archive
  - Installing phan/phan (5.4.3): Extracting archive
  - Installing mediawiki/phan-taint-check-plugin (6.0.0): Extracting archive
  - Installing mediawiki/mediawiki-phan-config (0.14.0): Extracting archive
  - Installing php-parallel-lint/php-console-color (v1.0.1): Extracting archive
  - Installing php-parallel-lint/php-console-highlighter (v1.0.0): Extracting archive
  - Installing php-parallel-lint/php-parallel-lint (v1.4.0): Extracting archive
  - Installing symfony/var-dumper (v7.0.7): Extracting archive
  - Installing psy/psysh (v0.12.3): Extracting archive
  - Installing seld/jsonlint (1.10.1): Extracting archive
  - Installing wikimedia/alea (1.0.0): Extracting archive
  - Installing wikimedia/langconv (0.4.2): Extracting archive
  - Installing wikimedia/testing-access-wrapper (3.0.0): Extracting archive
  - Installing hamcrest/hamcrest-php (v2.0.1): Extracting archive
  - Installing wmde/hamcrest-html-matchers (v1.0.0): Extracting archive
  0/71 [>---------------------------]   0%
  8/71 [===>------------------------]  11%
 18/71 [=======>--------------------]  25%
 27/71 [==========>-----------------]  38%
 35/71 [=============>--------------]  49%
 44/71 [=================>----------]  61%
 54/71 [=====================>------]  76%
 63/71 [========================>---]  88%
 70/71 [===========================>]  98%
 71/71 [============================] 100%
20 package suggestions were added by new dependencies, use `composer suggest` to see details.
Generating optimized autoload files
50 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
> MediaWiki\Composer\ComposerVendorHtaccessCreator::onEvent
--- stdout ---
PHP CodeSniffer Config installed_paths set to ../../mediawiki/mediawiki-codesniffer,../../phpcsstandards/phpcsextra,../../phpcsstandards/phpcsutils

--- end ---
$ /usr/bin/npm audit --json
--- stdout ---
{
  "auditReportVersion": 2,
  "vulnerabilities": {
    "ejs": {
      "name": "ejs",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        {
          "source": 1097210,
          "name": "ejs",
          "dependency": "ejs",
          "title": "ejs lacks certain pollution protection",
          "url": "https://github.com/advisories/GHSA-ghr5-ch3p-vcr6",
          "severity": "moderate",
          "cwe": [
            "CWE-1321"
          ],
          "cvss": {
            "score": 0,
            "vectorString": null
          },
          "range": "<3.1.10"
        }
      ],
      "effects": [],
      "range": "<3.1.10",
      "nodes": [
        "node_modules/ejs"
      ],
      "fixAvailable": true
    },
    "follow-redirects": {
      "name": "follow-redirects",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        {
          "source": 1096856,
          "name": "follow-redirects",
          "dependency": "follow-redirects",
          "title": "follow-redirects' Proxy-Authorization header kept across hosts",
          "url": "https://github.com/advisories/GHSA-cxjh-pqwp-8mfp",
          "severity": "moderate",
          "cwe": [
            "CWE-200"
          ],
          "cvss": {
            "score": 6.5,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N"
          },
          "range": "<=1.15.5"
        }
      ],
      "effects": [],
      "range": "<=1.15.5",
      "nodes": [
        "node_modules/follow-redirects"
      ],
      "fixAvailable": true
    },
    "mwbot": {
      "name": "mwbot",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "request"
      ],
      "effects": [],
      "range": ">=0.1.6",
      "nodes": [
        "node_modules/mwbot"
      ],
      "fixAvailable": {
        "name": "mwbot",
        "version": "0.1.5",
        "isSemVerMajor": true
      }
    },
    "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": [
        "mwbot"
      ],
      "range": "*",
      "nodes": [
        "node_modules/request"
      ],
      "fixAvailable": {
        "name": "mwbot",
        "version": "0.1.5",
        "isSemVerMajor": true
      }
    },
    "tough-cookie": {
      "name": "tough-cookie",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        {
          "source": 1096643,
          "name": "tough-cookie",
          "dependency": "tough-cookie",
          "title": "tough-cookie Prototype Pollution vulnerability",
          "url": "https://github.com/advisories/GHSA-72xf-g2v4-qvf3",
          "severity": "moderate",
          "cwe": [
            "CWE-1321"
          ],
          "cvss": {
            "score": 6.5,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N"
          },
          "range": "<4.1.3"
        }
      ],
      "effects": [
        "request"
      ],
      "range": "<4.1.3",
      "nodes": [
        "node_modules/tough-cookie"
      ],
      "fixAvailable": {
        "name": "mwbot",
        "version": "0.1.5",
        "isSemVerMajor": true
      }
    }
  },
  "metadata": {
    "vulnerabilities": {
      "info": 0,
      "low": 0,
      "moderate": 5,
      "high": 0,
      "critical": 0,
      "total": 5
    },
    "dependencies": {
      "prod": 1,
      "dev": 987,
      "optional": 1,
      "peer": 7,
      "peerOptional": 0,
      "total": 987
    }
  }
}

--- end ---
Attempting to npm audit fix
$ /usr/bin/npm audit fix --dry-run --only=dev --json
--- stderr ---
npm WARN invalid config only="dev" set in command line options
npm WARN invalid config Must be one of: null, prod, production
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: 'wdio-mediawiki@2.5.0',
npm WARN EBADENGINE   required: { node: '>=18.17.0', npm: '>=9.6.7' },
npm WARN EBADENGINE   current: { node: 'v18.19.0', npm: '9.2.0' }
npm WARN EBADENGINE }
--- stdout ---
{
  "added": 986,
  "removed": 0,
  "changed": 0,
  "audited": 987,
  "funding": 140,
  "audit": {
    "auditReportVersion": 2,
    "vulnerabilities": {
      "ejs": {
        "name": "ejs",
        "severity": "moderate",
        "isDirect": false,
        "via": [
          {
            "source": 1097210,
            "name": "ejs",
            "dependency": "ejs",
            "title": "ejs lacks certain pollution protection",
            "url": "https://github.com/advisories/GHSA-ghr5-ch3p-vcr6",
            "severity": "moderate",
            "cwe": [
              "CWE-1321"
            ],
            "cvss": {
              "score": 0,
              "vectorString": null
            },
            "range": "<3.1.10"
          }
        ],
        "effects": [],
        "range": "<3.1.10",
        "nodes": [
          ""
        ],
        "fixAvailable": true
      },
      "follow-redirects": {
        "name": "follow-redirects",
        "severity": "moderate",
        "isDirect": false,
        "via": [
          {
            "source": 1096856,
            "name": "follow-redirects",
            "dependency": "follow-redirects",
            "title": "follow-redirects' Proxy-Authorization header kept across hosts",
            "url": "https://github.com/advisories/GHSA-cxjh-pqwp-8mfp",
            "severity": "moderate",
            "cwe": [
              "CWE-200"
            ],
            "cvss": {
              "score": 6.5,
              "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N"
            },
            "range": "<=1.15.5"
          }
        ],
        "effects": [],
        "range": "<=1.15.5",
        "nodes": [
          ""
        ],
        "fixAvailable": true
      },
      "mwbot": {
        "name": "mwbot",
        "severity": "moderate",
        "isDirect": false,
        "via": [
          "request"
        ],
        "effects": [],
        "range": ">=0.1.6",
        "nodes": [
          "node_modules/mwbot"
        ],
        "fixAvailable": {
          "name": "mwbot",
          "version": "0.1.5",
          "isSemVerMajor": true
        }
      },
      "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": [
          "mwbot"
        ],
        "range": "*",
        "nodes": [
          "node_modules/request"
        ],
        "fixAvailable": {
          "name": "mwbot",
          "version": "0.1.5",
          "isSemVerMajor": true
        }
      },
      "tough-cookie": {
        "name": "tough-cookie",
        "severity": "moderate",
        "isDirect": false,
        "via": [
          {
            "source": 1096643,
            "name": "tough-cookie",
            "dependency": "tough-cookie",
            "title": "tough-cookie Prototype Pollution vulnerability",
            "url": "https://github.com/advisories/GHSA-72xf-g2v4-qvf3",
            "severity": "moderate",
            "cwe": [
              "CWE-1321"
            ],
            "cvss": {
              "score": 6.5,
              "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N"
            },
            "range": "<4.1.3"
          }
        ],
        "effects": [
          "request"
        ],
        "range": "<4.1.3",
        "nodes": [
          "node_modules/tough-cookie"
        ],
        "fixAvailable": {
          "name": "mwbot",
          "version": "0.1.5",
          "isSemVerMajor": true
        }
      }
    },
    "metadata": {
      "vulnerabilities": {
        "info": 0,
        "low": 0,
        "moderate": 5,
        "high": 0,
        "critical": 0,
        "total": 5
      },
      "dependencies": {
        "prod": 1,
        "dev": 986,
        "optional": 1,
        "peer": 7,
        "peerOptional": 0,
        "total": 986
      }
    }
  }
}

--- end ---
{"added": 986, "removed": 0, "changed": 0, "audited": 987, "funding": 140, "audit": {"auditReportVersion": 2, "vulnerabilities": {"ejs": {"name": "ejs", "severity": "moderate", "isDirect": false, "via": [{"source": 1097210, "name": "ejs", "dependency": "ejs", "title": "ejs lacks certain pollution protection", "url": "https://github.com/advisories/GHSA-ghr5-ch3p-vcr6", "severity": "moderate", "cwe": ["CWE-1321"], "cvss": {"score": 0, "vectorString": null}, "range": "<3.1.10"}], "effects": [], "range": "<3.1.10", "nodes": [""], "fixAvailable": true}, "follow-redirects": {"name": "follow-redirects", "severity": "moderate", "isDirect": false, "via": [{"source": 1096856, "name": "follow-redirects", "dependency": "follow-redirects", "title": "follow-redirects' Proxy-Authorization header kept across hosts", "url": "https://github.com/advisories/GHSA-cxjh-pqwp-8mfp", "severity": "moderate", "cwe": ["CWE-200"], "cvss": {"score": 6.5, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N"}, "range": "<=1.15.5"}], "effects": [], "range": "<=1.15.5", "nodes": [""], "fixAvailable": true}, "mwbot": {"name": "mwbot", "severity": "moderate", "isDirect": false, "via": ["request"], "effects": [], "range": ">=0.1.6", "nodes": ["node_modules/mwbot"], "fixAvailable": {"name": "mwbot", "version": "0.1.5", "isSemVerMajor": true}}, "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": ["mwbot"], "range": "*", "nodes": ["node_modules/request"], "fixAvailable": {"name": "mwbot", "version": "0.1.5", "isSemVerMajor": true}}, "tough-cookie": {"name": "tough-cookie", "severity": "moderate", "isDirect": false, "via": [{"source": 1096643, "name": "tough-cookie", "dependency": "tough-cookie", "title": "tough-cookie Prototype Pollution vulnerability", "url": "https://github.com/advisories/GHSA-72xf-g2v4-qvf3", "severity": "moderate", "cwe": ["CWE-1321"], "cvss": {"score": 6.5, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N"}, "range": "<4.1.3"}], "effects": ["request"], "range": "<4.1.3", "nodes": ["node_modules/tough-cookie"], "fixAvailable": {"name": "mwbot", "version": "0.1.5", "isSemVerMajor": true}}}, "metadata": {"vulnerabilities": {"info": 0, "low": 0, "moderate": 5, "high": 0, "critical": 0, "total": 5}, "dependencies": {"prod": 1, "dev": 986, "optional": 1, "peer": 7, "peerOptional": 0, "total": 986}}}}
$ /usr/bin/npm audit fix --only=dev
--- stderr ---
npm WARN invalid config only="dev" set in command line options
npm WARN invalid config Must be one of: null, prod, production
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: 'wdio-mediawiki@2.5.0',
npm WARN EBADENGINE   required: { node: '>=18.17.0', npm: '>=9.6.7' },
npm WARN EBADENGINE   current: { node: 'v18.19.0', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN deprecated @types/easy-table@1.2.0: This is a stub types definition. easy-table provides its own type definitions, so you do not need this installed.
npm WARN deprecated har-validator@5.1.5: this library is no longer supported
npm WARN deprecated formidable@1.2.6: Please upgrade to latest, formidable@v2 or formidable@v3! Check these notes: https://bit.ly/2ZEqIau
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 superagent@6.1.0: Please upgrade to v7.0.2+ of superagent.  We have fixed numerous issues with streams, form-data, attach(), filesystem errors not bubbling up (ENOENT on attach()), and all tests are now passing.  See the releases tab for more information at <https://github.com/visionmedia/superagent/releases>. Thanks to @shadowgate15, @spence-s, and @niftylettuce. Superagent is sponsored by Forward Email at <https://forwardemail.net>.
--- stdout ---

added 986 packages, and audited 987 packages in 11s

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

# npm audit report

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
  mwbot  >=0.1.6
  Depends on vulnerable versions of request
  node_modules/mwbot
    wdio-mediawiki  *
    Depends on vulnerable versions of mwbot
    node_modules/wdio-mediawiki

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

4 moderate severity vulnerabilities

Some issues need review, and may require choosing
a different dependency.

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

--- end ---
Verifying that tests still pass
$ /usr/bin/npm ci
--- stderr ---
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: 'wdio-mediawiki@2.5.0',
npm WARN EBADENGINE   required: { node: '>=18.17.0', npm: '>=9.6.7' },
npm WARN EBADENGINE   current: { node: 'v18.19.0', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN deprecated @types/easy-table@1.2.0: This is a stub types definition. easy-table provides its own type definitions, so you do not need this installed.
npm WARN deprecated har-validator@5.1.5: this library is no longer supported
npm WARN deprecated formidable@1.2.6: Please upgrade to latest, formidable@v2 or formidable@v3! Check these notes: https://bit.ly/2ZEqIau
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 superagent@6.1.0: Please upgrade to v7.0.2+ of superagent.  We have fixed numerous issues with streams, form-data, attach(), filesystem errors not bubbling up (ENOENT on attach()), and all tests are now passing.  See the releases tab for more information at <https://github.com/visionmedia/superagent/releases>. Thanks to @shadowgate15, @spence-s, and @niftylettuce. Superagent is sponsored by Forward Email at <https://forwardemail.net>.
--- stdout ---

added 986 packages, and audited 987 packages in 20s

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

4 moderate severity vulnerabilities

Some issues need review, and may require choosing
a different dependency.

Run `npm audit` for details.

--- end ---
$ /usr/bin/npm test
--- stdout ---

> test
> grunt lint && npm run doc

Running "eslint:all" (eslint) task

/src/repo/resources/src/jquery.tablesorter/jquery.tablesorter.js
  1147:1  warning  The type 'jQueryPlugins' is undefined  jsdoc/no-undefined-types

/src/repo/resources/src/jquery/jquery.confirmable.js
  13:2  warning  Missing JSDoc @return declaration  jsdoc/require-returns

/src/repo/resources/src/jquery/jquery.makeCollapsible.js
  406:1  warning  Syntax error in namepath: ~'wikipage.collapsibleContent'  jsdoc/valid-types

/src/repo/resources/src/mediawiki.String.js
  187:1  warning  The type 'StringTrimmed' is undefined  jsdoc/no-undefined-types
  215:1  warning  The type 'StringTrimmed' is undefined  jsdoc/no-undefined-types

/src/repo/resources/src/mediawiki.Upload.BookletLayout/BookletLayout.js
  341:2  warning  JSDoc @return declaration present but return expression not available in function  jsdoc/require-returns-check

/src/repo/resources/src/mediawiki.action.edit/edit.js
  12:1  warning  Syntax error in namepath: ~'wikipage.editform'  jsdoc/valid-types

/src/repo/resources/src/mediawiki.action/mediawiki.action.protect.js
  104:2  warning  JSDoc @return declaration present but return expression not available in function  jsdoc/require-returns-check

/src/repo/resources/src/mediawiki.action/mediawiki.action.view.postEdit.js
  21:1  warning  Syntax error in namepath: ~'postEdit'               jsdoc/valid-types
  36:1  warning  Syntax error in namepath: ~'postEdit.afterRemoval'  jsdoc/valid-types

/src/repo/resources/src/mediawiki.base/errorLogger.js
   8:1  warning  Syntax error in namepath: ~'global.error'  jsdoc/valid-types
  22:1  warning  Syntax error in namepath: ~'error.caught'  jsdoc/valid-types

/src/repo/resources/src/mediawiki.base/log.js
  12:1  warning  Found more than one @return declaration  jsdoc/require-returns
  12:1  warning  Found more than one @return declaration  jsdoc/require-returns-check

/src/repo/resources/src/mediawiki.base/mediawiki.base.js
  480:1  warning  Invalid JSDoc tag name "See"      jsdoc/check-tag-names
  480:1  warning  Syntax error in type: @link Hook  jsdoc/valid-types

/src/repo/resources/src/mediawiki.diff/inlineFormatToggle.js
  151:1  warning  Syntax error in namepath: ~'wikipage.diff.wikitextDiffBody'  jsdoc/valid-types
  163:1  warning  Syntax error in namepath: ~'wikipage.diff.diffTypeSwitch'    jsdoc/valid-types

/src/repo/resources/src/mediawiki.editRecovery/edit.js
  172:1  warning  Syntax error in namepath: ~'editRecovery.loadEnd'  jsdoc/valid-types

/src/repo/resources/src/mediawiki.htmlform.ooui/Element.js
  37:1  warning  @extends should not have a bracketed type in "jsdoc" mode  jsdoc/valid-types
  55:1  warning  @extends should not have a bracketed type in "jsdoc" mode  jsdoc/valid-types

/src/repo/resources/src/mediawiki.htmlform/cond-state.js
  48:1  warning  Found more than one @return declaration  jsdoc/require-returns-check

/src/repo/resources/src/mediawiki.htmlform/htmlform.js
  3:1  warning  Expected JSDoc block to be aligned             jsdoc/check-alignment
  5:1  warning  Syntax error in namepath: ~'htmlform.enhance'  jsdoc/valid-types

/src/repo/resources/src/mediawiki.inspect.js
  112:2  warning  Found more than one @return declaration  jsdoc/require-returns
  112:2  warning  Found more than one @return declaration  jsdoc/require-returns-check

/src/repo/resources/src/mediawiki.jqueryMsg/mediawiki.jqueryMsg.js
   14:1  warning  The type 'jQueryPlugins' is undefined    jsdoc/no-undefined-types
   23:1  warning  The type 'jQueryPlugins' is undefined    jsdoc/no-undefined-types
  141:1  warning  Found more than one @return declaration  jsdoc/require-returns
  141:1  warning  Found more than one @return declaration  jsdoc/require-returns-check
  203:1  warning  The type 'jQueryPlugins' is undefined    jsdoc/no-undefined-types
  235:1  warning  The type 'jQueryPlugins' is undefined    jsdoc/no-undefined-types
  260:1  warning  The type 'jQueryPlugins' is undefined    jsdoc/no-undefined-types

/src/repo/resources/src/mediawiki.language.months/months.js
  44:1  warning  The type 'Months' is undefined  jsdoc/no-undefined-types

/src/repo/resources/src/mediawiki.notification.convertmessagebox.js
  13:1  warning  Syntax error in namepath: (require("mediawiki.notification.convertmessagebox"))  jsdoc/valid-types

/src/repo/resources/src/mediawiki.page.gallery.slideshow.js
   52:1  warning  Invalid JSDoc tag name "memberOf"  jsdoc/check-tag-names
   60:1  warning  Invalid JSDoc tag name "memberOf"  jsdoc/check-tag-names
   68:1  warning  Invalid JSDoc tag name "memberOf"  jsdoc/check-tag-names
   76:1  warning  Invalid JSDoc tag name "memberOf"  jsdoc/check-tag-names
   84:1  warning  Invalid JSDoc tag name "memberOf"  jsdoc/check-tag-names
   92:1  warning  Invalid JSDoc tag name "memberOf"  jsdoc/check-tag-names
  100:1  warning  Invalid JSDoc tag name "memberOf"  jsdoc/check-tag-names

/src/repo/resources/src/mediawiki.page.preview.js
  354:1  warning  Syntax error in namepath: ~'wikipage.tableOfContents'  jsdoc/valid-types

/src/repo/resources/src/mediawiki.page.ready/ready.js
   92:1  warning  Syntax error in namepath: ~'wikipage.indicators'  jsdoc/valid-types
  112:1  warning  Syntax error in namepath: ~'wikipage.content'     jsdoc/valid-types
  133:1  warning  Syntax error in namepath: ~'wikipage.categories'  jsdoc/valid-types
  149:1  warning  Syntax error in namepath: ~'wikipage.diff'        jsdoc/valid-types
  180:1  warning  Syntax error in namepath: ~'skin.logout'          jsdoc/valid-types

/src/repo/resources/src/mediawiki.page.watch.ajax/watch-ajax.js
  128:1  warning  Syntax error in namepath: ~'wikipage.watchlistChange'  jsdoc/valid-types

/src/repo/resources/src/mediawiki.rcfilters/Controller.js
  338:1  warning  Found more than one @return declaration                  jsdoc/require-returns
  338:1  warning  Found more than one @return declaration                  jsdoc/require-returns-check
  564:1  warning  Syntax error in namepath: ~'RcFilters.highlight.enable'  jsdoc/valid-types

/src/repo/resources/src/mediawiki.rcfilters/dm/FilterGroup.js
  32:1  warning  @param path declaration ("config.active") root node name ("config") does not match previous real parameter name ("supportsAll")  jsdoc/check-param-names

/src/repo/resources/src/mediawiki.rcfilters/dm/FilterItem.js
  82:1  warning  Found more than one @return declaration  jsdoc/require-returns
  82:1  warning  Found more than one @return declaration  jsdoc/require-returns-check

/src/repo/resources/src/mediawiki.rcfilters/mw.rcfilters.js
  178:1  warning  Syntax error in namepath: ~'structuredChangeFilters.ui.initialized'  jsdoc/valid-types

/src/repo/resources/src/mediawiki.rcfilters/ui/FilterTagMultiselectWidget.js
  401:1  warning  Syntax error in namepath: ~'RcFilters.popup.open'  jsdoc/valid-types

/src/repo/resources/src/mediawiki.rcfilters/ui/SaveFiltersPopupButtonWidget.js
  126:1  warning  JSDoc @return declaration present but return expression not available in function  jsdoc/require-returns-check

/src/repo/resources/src/mediawiki.rcfilters/ui/SavedLinksListItemWidget.js
  199:1  warning  JSDoc @return declaration present but return expression not available in function  jsdoc/require-returns-check

/src/repo/resources/src/mediawiki.rcfilters/utils.js
  11:1  warning  Invalid name: unpaired curlies  jsdoc/valid-types
  11:1  warning  Missing JSDoc @return type      jsdoc/require-returns-type

/src/repo/resources/src/mediawiki.searchSuggest/searchSuggest.js
  50:1  warning  The type 'ResponseMetaData' is undefined  jsdoc/no-undefined-types
  57:1  warning  The type 'ResponseFunction' is undefined  jsdoc/no-undefined-types

/src/repo/resources/src/mediawiki.special.apisandbox/apisandbox.js
  1334:2  warning  Found more than one @return declaration  jsdoc/require-returns
  1334:2  warning  Found more than one @return declaration  jsdoc/require-returns-check

/src/repo/resources/src/mediawiki.special.createaccount/HtmlformChecker.js
  53:1  warning  JSDoc @return declaration present but return expression not available in function  jsdoc/require-returns-check

/src/repo/resources/src/mediawiki.template.js
   25:1  warning  The type 'TemplateRenderer' is undefined         jsdoc/no-undefined-types
   39:1  warning  The type 'TemplateRenderFunction' is undefined   jsdoc/no-undefined-types
   44:1  warning  The type 'TemplateCompileFunction' is undefined  jsdoc/no-undefined-types
   60:1  warning  The type 'TemplateCompiler' is undefined         jsdoc/no-undefined-types
   87:1  warning  The type 'TemplateCompiler' is undefined         jsdoc/no-undefined-types
  106:1  warning  The type 'TemplateRenderer' is undefined         jsdoc/no-undefined-types
  124:1  warning  The type 'TemplateRenderer' is undefined         jsdoc/no-undefined-types
  148:1  warning  The type 'TemplateRenderer' is undefined         jsdoc/no-undefined-types

/src/repo/resources/src/mediawiki.util/util.js
   564:1  warning  Syntax error in namepath: ~'util.addPortlet'      jsdoc/valid-types
   732:1  warning  Syntax error in namepath: ~'util.addPortletLink'  jsdoc/valid-types
  1143:1  warning  Invalid JSDoc tag name "type{string|string[]}"    jsdoc/check-tag-names

/src/repo/resources/src/mediawiki.widgets.datetime/CalendarWidget.js
  508:2  warning  JSDoc @return declaration present but return expression not available in function  jsdoc/require-returns-check

/src/repo/resources/src/mediawiki.widgets.datetime/DateTimeFormatter.js
  266:1  warning  The type 'FieldSpecificationObject' is undefined  jsdoc/no-undefined-types
  632:1  warning  The type 'CalendarGridData' is undefined          jsdoc/no-undefined-types

/src/repo/resources/src/mediawiki.widgets.datetime/DateTimeInputWidget.js
  593:2  warning  JSDoc @return declaration present but return expression not available in function  jsdoc/require-returns-check
  717:2  warning  JSDoc @return declaration present but return expression not available in function  jsdoc/require-returns-check

/src/repo/resources/src/mediawiki.widgets.datetime/DiscordianDateTimeFormatter.js
  73:1  warning  The type 'FieldSpecificationObject' is undefined  jsdoc/no-undefined-types

/src/repo/resources/src/mediawiki.widgets.datetime/ProlepticGregorianDateTimeFormatter.js
  305:1  warning  The type 'FieldSpecificationObject' is undefined  jsdoc/no-undefined-types

/src/repo/resources/src/mediawiki.widgets/mw.widgets.CalendarWidget.js
  562:2  warning  JSDoc @return declaration present but return expression not available in function  jsdoc/require-returns-check
  576:2  warning  JSDoc @return declaration present but return expression not available in function  jsdoc/require-returns-check

/src/repo/resources/src/mediawiki.widgets/mw.widgets.DateInputWidget.js
  529:2  warning  JSDoc @return declaration present but return expression not available in function  jsdoc/require-returns-check
  556:2  warning  JSDoc @return declaration present but return expression not available in function  jsdoc/require-returns-check
  570:2  warning  JSDoc @return declaration present but return expression not available in function  jsdoc/require-returns-check

/src/repo/resources/src/mediawiki.widgets/mw.widgets.NamespaceInputWidget.js
  49:1  warning  The type 'DropdownOptions' is undefined  jsdoc/no-undefined-types

/src/repo/resources/src/mediawiki.widgets/mw.widgets.TitleWidget.js
  92:1  warning  Invalid JSDoc tag (preference). Replace "function" JSDoc tag with "method"  jsdoc/check-tag-names

/src/repo/resources/src/startup/mediawiki.loader.js
  64:1  warning  Syntax error in namepath: ~'resourceloader.exception'  jsdoc/valid-types

/src/repo/resources/src/startup/mediawiki.requestIdleCallback.js
  40:1  warning  Invalid JSDoc tag (preference). Replace "function" JSDoc tag with "method"  jsdoc/check-tag-names

✖ 93 problems (0 errors, 93 warnings)
  0 errors and 3 warnings potentially fixable with the `--fix` option.


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

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

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

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

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

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

Running "stylelint:resources" (stylelint) task
>> Linted 205 files without errors

Running "stylelint:config" (stylelint) task
>> Linted 1 files without errors

Done.

> doc
> jsdoc -c jsdoc.js


--- end ---
{"1097210": {"source": 1097210, "name": "ejs", "dependency": "ejs", "title": "ejs lacks certain pollution protection", "url": "https://github.com/advisories/GHSA-ghr5-ch3p-vcr6", "severity": "moderate", "cwe": ["CWE-1321"], "cvss": {"score": 0, "vectorString": null}, "range": "<3.1.10"}}
Upgrading n:ejs from 3.1.8 -> 3.1.10
{"1096856": {"source": 1096856, "name": "follow-redirects", "dependency": "follow-redirects", "title": "follow-redirects' Proxy-Authorization header kept across hosts", "url": "https://github.com/advisories/GHSA-cxjh-pqwp-8mfp", "severity": "moderate", "cwe": ["CWE-200"], "cvss": {"score": 6.5, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N"}, "range": "<=1.15.5"}}
Upgrading n:follow-redirects from 1.15.5 -> 1.15.6
$ package-lock-lint package-lock.json
--- stdout ---
Checking package-lock.json

--- end ---
build: Updating npm dependencies

* ejs: 3.1.8 → 3.1.10
  * https://github.com/advisories/GHSA-ghr5-ch3p-vcr6
* follow-redirects: 1.15.5 → 1.15.6
  * https://github.com/advisories/GHSA-cxjh-pqwp-8mfp

$ git add .
--- stdout ---

--- end ---
$ git commit -F /tmp/tmpcackxnvb
--- stdout ---
[REL1_42 d8eb5f2] build: Updating npm dependencies
 1 file changed, 25 insertions(+), 27 deletions(-)

--- end ---
$ git format-patch HEAD~1 --stdout
--- stdout ---
From d8eb5f2ac1ae7f54f5db59263480b54d7662f71e Mon Sep 17 00:00:00 2001
From: libraryupgrader <tools.libraryupgrader@tools.wmflabs.org>
Date: Thu, 9 May 2024 00:33:18 +0000
Subject: [PATCH] build: Updating npm dependencies
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

* ejs: 3.1.8 → 3.1.10
  * https://github.com/advisories/GHSA-ghr5-ch3p-vcr6
* follow-redirects: 1.15.5 → 1.15.6
  * https://github.com/advisories/GHSA-cxjh-pqwp-8mfp

Change-Id: If0a01453f716770a230ff4884fb65175f7f962e6
---
 package-lock.json | 52 +++++++++++++++++++++++------------------------
 1 file changed, 25 insertions(+), 27 deletions(-)

diff --git a/package-lock.json b/package-lock.json
index 78921fd..908abc2 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -3636,9 +3636,9 @@
 			"dev": true
 		},
 		"node_modules/ejs": {
-			"version": "3.1.8",
-			"resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.8.tgz",
-			"integrity": "sha512-/sXZeMlhS0ArkfX2Aw780gJzXSMPnKjtspYZv+f3NiKLlubezAHDU5+9xz6gd3/NhG3txQCo6xlglmTS+oTGEQ==",
+			"version": "3.1.10",
+			"resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.10.tgz",
+			"integrity": "sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==",
 			"dev": true,
 			"dependencies": {
 				"jake": "^10.8.5"
@@ -4760,9 +4760,9 @@
 			"dev": true
 		},
 		"node_modules/follow-redirects": {
-			"version": "1.15.5",
-			"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.5.tgz",
-			"integrity": "sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==",
+			"version": "1.15.6",
+			"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz",
+			"integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==",
 			"dev": true,
 			"funding": [
 				{
@@ -10734,8 +10734,17 @@
 			}
 		},
 		"node_modules/wdio-mediawiki": {
-			"resolved": "tests/selenium/wdio-mediawiki",
-			"link": true
+			"version": "2.5.0",
+			"resolved": "file:tests/selenium/wdio-mediawiki",
+			"dev": true,
+			"license": "MIT",
+			"dependencies": {
+				"mwbot": "2.1.3"
+			},
+			"engines": {
+				"node": ">=18.17.0",
+				"npm": ">=9.6.7"
+			}
 		},
 		"node_modules/webdriver": {
 			"version": "7.33.0",
@@ -11316,18 +11325,6 @@
 			"funding": {
 				"url": "https://github.com/sponsors/isaacs"
 			}
-		},
-		"tests/selenium/wdio-mediawiki": {
-			"version": "2.5.0",
-			"dev": true,
-			"license": "MIT",
-			"dependencies": {
-				"mwbot": "2.1.3"
-			},
-			"engines": {
-				"node": ">=18.17.0",
-				"npm": ">=9.6.7"
-			}
 		}
 	},
 	"dependencies": {
@@ -14113,9 +14110,9 @@
 			"dev": true
 		},
 		"ejs": {
-			"version": "3.1.8",
-			"resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.8.tgz",
-			"integrity": "sha512-/sXZeMlhS0ArkfX2Aw780gJzXSMPnKjtspYZv+f3NiKLlubezAHDU5+9xz6gd3/NhG3txQCo6xlglmTS+oTGEQ==",
+			"version": "3.1.10",
+			"resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.10.tgz",
+			"integrity": "sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==",
 			"dev": true,
 			"requires": {
 				"jake": "^10.8.5"
@@ -14960,9 +14957,9 @@
 			"dev": true
 		},
 		"follow-redirects": {
-			"version": "1.15.5",
-			"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.5.tgz",
-			"integrity": "sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==",
+			"version": "1.15.6",
+			"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz",
+			"integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==",
 			"dev": true
 		},
 		"for-in": {
@@ -19531,7 +19528,8 @@
 			}
 		},
 		"wdio-mediawiki": {
-			"version": "file:tests/selenium/wdio-mediawiki",
+			"version": "2.5.0",
+			"dev": true,
 			"requires": {
 				"mwbot": "2.1.3"
 			}
-- 
2.39.2


--- end ---

composer dependencies

Dependencies
Development dependencies

npm dependencies

Development dependencies

Logs

Source code is licensed under the AGPL.