This run took 34 seconds.
From 0f04d51111fe23ac911cedf663cbc1faa0a5acc3 Mon Sep 17 00:00:00 2001
From: libraryupgrader <tools.libraryupgrader@tools.wmflabs.org>
Date: Sat, 23 May 2026 03:43:38 +0000
Subject: [PATCH] build: Updating qs to 6.15.2
* https://github.com/advisories/GHSA-q8mj-m7cp-5q26
Change-Id: I0ed896d1a80b476e88dc80f274aa865684f483ba
---
package-lock.json | 6 +++---
yarn.lock | 6 +++---
2 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/package-lock.json b/package-lock.json
index 9cf16b1..ea35420 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -5065,9 +5065,9 @@
}
},
"node_modules/qs": {
- "version": "6.15.0",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.15.0.tgz",
- "integrity": "sha512-mAZTtNCeetKMH+pSjrb76NAM8V9a05I9aBZOHztWy/UqcJdQYNsf59vrRKWnojAT9Y+GbIvoTBC++CPHqpDBhQ==",
+ "version": "6.15.2",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.15.2.tgz",
+ "integrity": "sha512-Rzq0KEyX/w/tEybncDgdkZrJgVUsUMk3xjh3t5bv3S1HTAtg+uOYt72+ZfwiQwKdysThkTBdL/rTi6HDmX9Ddw==",
"dev": true,
"dependencies": {
"side-channel": "^1.1.0"
diff --git a/yarn.lock b/yarn.lock
index 54d47ba..448c78b 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -2760,9 +2760,9 @@ punycode@^2.1.0, punycode@^2.1.1, punycode@^2.3.0, punycode@^2.3.1:
integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==
qs@^6.14.1:
- version "6.15.0"
- resolved "https://registry.npmjs.org/qs/-/qs-6.15.0.tgz"
- integrity sha512-mAZTtNCeetKMH+pSjrb76NAM8V9a05I9aBZOHztWy/UqcJdQYNsf59vrRKWnojAT9Y+GbIvoTBC++CPHqpDBhQ==
+ version "6.15.2"
+ resolved "https://registry.npmjs.org/qs/-/qs-6.15.2.tgz"
+ integrity sha512-Rzq0KEyX/w/tEybncDgdkZrJgVUsUMk3xjh3t5bv3S1HTAtg+uOYt72+ZfwiQwKdysThkTBdL/rTi6HDmX9Ddw==
dependencies:
side-channel "^1.1.0"
--
2.47.3
$ date
--- stdout ---
Sat May 23 03:43:07 UTC 2026
--- end ---
$ git clone file:///srv/git/mediawiki-extensions-PushAll.git /src/repo --depth=1 -b master
--- stderr ---
Cloning into '/src/repo'...
--- stdout ---
--- end ---
$ git config user.name libraryupgrader
--- stdout ---
--- end ---
$ git config user.email tools.libraryupgrader@tools.wmflabs.org
--- stdout ---
--- end ---
$ git submodule update --init
--- stdout ---
--- end ---
$ grr init
--- stdout ---
Installed commit-msg hook.
--- end ---
$ git show-ref refs/heads/master
--- stdout ---
ce837bf0b89933c9258e8bdd00a41dddbc2f64f0 refs/heads/master
--- end ---
$ /usr/bin/npm audit --json
--- stdout ---
{
"auditReportVersion": 2,
"vulnerabilities": {
"qs": {
"name": "qs",
"severity": "moderate",
"isDirect": false,
"via": [
{
"source": 1119502,
"name": "qs",
"dependency": "qs",
"title": "qs has a remotely triggerable DoS: qs.stringify crashes with TypeError on null/undefined entries in comma-format arrays when encodeValuesOnly is set",
"url": "https://github.com/advisories/GHSA-q8mj-m7cp-5q26",
"severity": "moderate",
"cwe": [
"CWE-476"
],
"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": ">=6.11.1 <=6.15.1"
}
],
"effects": [],
"range": "6.11.1 - 6.15.1",
"nodes": [
"node_modules/qs"
],
"fixAvailable": true
}
},
"metadata": {
"vulnerabilities": {
"info": 0,
"low": 0,
"moderate": 1,
"high": 0,
"critical": 0,
"total": 1
},
"dependencies": {
"prod": 1,
"dev": 522,
"optional": 0,
"peer": 1,
"peerOptional": 0,
"total": 522
}
}
}
--- end ---
$ /usr/bin/composer install
--- stderr ---
No composer.lock file present. Updating dependencies to latest instead of installing from lock file. See https://getcomposer.org/install for more information.
Loading composer repositories with package information
Updating dependencies
Lock file operations: 20 installs, 0 updates, 0 removals
- Locking composer/semver (3.4.4)
- Locking composer/spdx-licenses (1.6.0)
- Locking dealerdirect/phpcodesniffer-composer-installer (v1.2.1)
- Locking mediawiki/mediawiki-codesniffer (v51.0.0)
- Locking mediawiki/minus-x (2.0.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.5.0)
- Locking phpcsstandards/phpcsutils (1.2.2)
- Locking psr/container (2.0.2)
- Locking squizlabs/php_codesniffer (3.13.5)
- Locking symfony/console (v8.0.11)
- Locking symfony/deprecation-contracts (v3.7.0)
- Locking symfony/polyfill-ctype (v1.37.0)
- Locking symfony/polyfill-intl-grapheme (v1.37.0)
- Locking symfony/polyfill-intl-normalizer (v1.37.0)
- Locking symfony/polyfill-mbstring (v1.37.0)
- Locking symfony/service-contracts (v3.7.0)
- Locking symfony/string (v8.0.11)
Writing lock file
Installing dependencies from lock file (including require-dev)
Package operations: 20 installs, 0 updates, 0 removals
0 [>---------------------------] 0 [->--------------------------]
- Installing squizlabs/php_codesniffer (3.13.5): Extracting archive
- Installing dealerdirect/phpcodesniffer-composer-installer (v1.2.1): Extracting archive
- Installing phpcsstandards/phpcsutils (1.2.2): Extracting archive
- Installing phpcsstandards/phpcsextra (1.5.0): Extracting archive
- Installing symfony/polyfill-mbstring (v1.37.0): Extracting archive
- Installing composer/spdx-licenses (1.6.0): Extracting archive
- Installing composer/semver (3.4.4): Extracting archive
- Installing mediawiki/mediawiki-codesniffer (v51.0.0): Extracting archive
- Installing symfony/polyfill-intl-normalizer (v1.37.0): Extracting archive
- Installing symfony/polyfill-intl-grapheme (v1.37.0): Extracting archive
- Installing symfony/polyfill-ctype (v1.37.0): Extracting archive
- Installing symfony/string (v8.0.11): Extracting archive
- Installing symfony/deprecation-contracts (v3.7.0): Extracting archive
- Installing psr/container (2.0.2): Extracting archive
- Installing symfony/service-contracts (v3.7.0): Extracting archive
- Installing symfony/console (v8.0.11): Extracting archive
- Installing mediawiki/minus-x (2.0.1): Extracting archive
- Installing php-parallel-lint/php-console-color (v1.0.1): Extracting archive
- Installing php-parallel-lint/php-console-highlighter (v1.0.0): Extracting archive
- Installing php-parallel-lint/php-parallel-lint (v1.4.0): Extracting archive
0/18 [>---------------------------] 0%
18/18 [============================] 100%
Generating autoload files
14 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
--- stdout ---
PHP CodeSniffer Config installed_paths set to ../../mediawiki/mediawiki-codesniffer,../../phpcsstandards/phpcsextra,../../phpcsstandards/phpcsutils
--- end ---
$ /usr/bin/npm audit --json
--- stdout ---
{
"auditReportVersion": 2,
"vulnerabilities": {
"qs": {
"name": "qs",
"severity": "moderate",
"isDirect": false,
"via": [
{
"source": 1119502,
"name": "qs",
"dependency": "qs",
"title": "qs has a remotely triggerable DoS: qs.stringify crashes with TypeError on null/undefined entries in comma-format arrays when encodeValuesOnly is set",
"url": "https://github.com/advisories/GHSA-q8mj-m7cp-5q26",
"severity": "moderate",
"cwe": [
"CWE-476"
],
"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": ">=6.11.1 <=6.15.1"
}
],
"effects": [],
"range": "6.11.1 - 6.15.1",
"nodes": [
"node_modules/qs"
],
"fixAvailable": true
}
},
"metadata": {
"vulnerabilities": {
"info": 0,
"low": 0,
"moderate": 1,
"high": 0,
"critical": 0,
"total": 1
},
"dependencies": {
"prod": 1,
"dev": 522,
"optional": 0,
"peer": 1,
"peerOptional": 0,
"total": 522
}
}
}
--- 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": 522,
"removed": 0,
"changed": 0,
"audited": 523,
"funding": 128,
"audit": {
"auditReportVersion": 2,
"vulnerabilities": {
"qs": {
"name": "qs",
"severity": "moderate",
"isDirect": false,
"via": [
{
"source": 1119502,
"name": "qs",
"dependency": "qs",
"title": "qs has a remotely triggerable DoS: qs.stringify crashes with TypeError on null/undefined entries in comma-format arrays when encodeValuesOnly is set",
"url": "https://github.com/advisories/GHSA-q8mj-m7cp-5q26",
"severity": "moderate",
"cwe": [
"CWE-476"
],
"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": ">=6.11.1 <=6.15.1"
}
],
"effects": [],
"range": "6.11.1 - 6.15.1",
"nodes": [
""
],
"fixAvailable": true
}
},
"metadata": {
"vulnerabilities": {
"info": 0,
"low": 0,
"moderate": 1,
"high": 0,
"critical": 0,
"total": 1
},
"dependencies": {
"prod": 1,
"dev": 522,
"optional": 0,
"peer": 1,
"peerOptional": 0,
"total": 522
}
}
}
}
--- end ---
{"added": 522, "removed": 0, "changed": 0, "audited": 523, "funding": 128, "audit": {"auditReportVersion": 2, "vulnerabilities": {"qs": {"name": "qs", "severity": "moderate", "isDirect": false, "via": [{"source": 1119502, "name": "qs", "dependency": "qs", "title": "qs has a remotely triggerable DoS: qs.stringify crashes with TypeError on null/undefined entries in comma-format arrays when encodeValuesOnly is set", "url": "https://github.com/advisories/GHSA-q8mj-m7cp-5q26", "severity": "moderate", "cwe": ["CWE-476"], "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": ">=6.11.1 <=6.15.1"}], "effects": [], "range": "6.11.1 - 6.15.1", "nodes": [""], "fixAvailable": true}}, "metadata": {"vulnerabilities": {"info": 0, "low": 0, "moderate": 1, "high": 0, "critical": 0, "total": 1}, "dependencies": {"prod": 1, "dev": 522, "optional": 0, "peer": 1, "peerOptional": 0, "total": 522}}}}
$ /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
--- stdout ---
added 522 packages, and audited 523 packages in 6s
128 packages are looking for funding
run `npm fund` for details
found 0 vulnerabilities
--- end ---
Verifying that tests still pass
$ /usr/bin/npm ci
--- stdout ---
added 522 packages, and audited 523 packages in 6s
128 packages are looking for funding
run `npm fund` for details
found 0 vulnerabilities
--- end ---
$ /usr/bin/npm test
--- stdout ---
> test
> grunt test && qunit tests/qunit/setup.js tests/qunit
Running "eslint:all" (eslint) task
/src/repo/src/ui/js/ext.pushall.js
510:3 warning Prefer .then to .done no-jquery/no-done-fail
510:3 warning Prefer .then to .fail no-jquery/no-done-fail
529:3 warning Prefer .then to .done no-jquery/no-done-fail
529:3 warning Prefer .then to .fail no-jquery/no-done-fail
/src/repo/src/ui/js/ext.pushall.preferences.js
8:22 warning 'jQuery' is already defined as a built-in global variable no-redeclare
/src/repo/src/ui/js/ext.pushall.special.js
8:22 warning 'jQuery' is already defined as a built-in global variable no-redeclare
35:5 warning Prefer .then to .done no-jquery/no-done-fail
35:5 warning Prefer .then to .fail no-jquery/no-done-fail
59:5 warning Prefer .then to .done no-jquery/no-done-fail
59:5 warning Prefer .then to .fail no-jquery/no-done-fail
/src/repo/src/ui/js/ext.pushall.tab.js
9:12 warning 'jQuery' is already defined as a built-in global variable no-redeclare
/src/repo/src/ui/js/ext.pushall.widgets.CategorySelector.js
63:1 warning This line has a length of 114. Maximum allowed is 100 max-len
/src/repo/src/ui/js/ext.pushall.widgets.PageSelector.js
62:1 warning This line has a length of 103. Maximum allowed is 100 max-len
✖ 13 problems (0 errors, 13 warnings)
Running "stylelint:all" (stylelint) task
>> Linted 0 files without errors
Running "banana:all" (banana) task
>> 1 message directory checked.
Done.
TAP version 13
ok 1 PushAll > get status pushall-remote-content-status-not-exist
ok 2 PushAll > get status pushall-remote-content-exists-status-protected
ok 3 PushAll > get status pushall-remote-exists-content-status-equal
ok 4 PushAll > get status pushall-remote-content-status-obsolete
ok 5 PushAll > get status pushall-remote-content-status-diverge
ok 6 PushAll > get status pushall-remote-content-status-obsolete-and-diverge
ok 7 PushAll > get always a color
ok 8 PushAll > get getCheckboxAttrDisabled
ok 9 PushAll > get CheckboxPropChecked
ok 10 PushAll > get MsgTooltipCheckbox
ok 11 PushAll > get LinkClass
1..11
# pass 11
# skip 0
# todo 0
# fail 0
--- end ---
{"1119502": {"source": 1119502, "name": "qs", "dependency": "qs", "title": "qs has a remotely triggerable DoS: qs.stringify crashes with TypeError on null/undefined entries in comma-format arrays when encodeValuesOnly is set", "url": "https://github.com/advisories/GHSA-q8mj-m7cp-5q26", "severity": "moderate", "cwe": ["CWE-476"], "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": ">=6.11.1 <=6.15.1"}}
Upgrading n:qs from 6.15.0 -> 6.15.2
$ package-lock-lint /src/repo/package-lock.json
--- stdout ---
Checking /src/repo/package-lock.json
--- end ---
build: Updating qs to 6.15.2
* https://github.com/advisories/GHSA-q8mj-m7cp-5q26
$ git add .
--- stdout ---
--- end ---
$ git commit -F /tmp/tmpxue382ue
--- stdout ---
[master 0f04d51] build: Updating qs to 6.15.2
2 files changed, 6 insertions(+), 6 deletions(-)
--- end ---
$ git format-patch HEAD~1 --stdout
--- stdout ---
From 0f04d51111fe23ac911cedf663cbc1faa0a5acc3 Mon Sep 17 00:00:00 2001
From: libraryupgrader <tools.libraryupgrader@tools.wmflabs.org>
Date: Sat, 23 May 2026 03:43:38 +0000
Subject: [PATCH] build: Updating qs to 6.15.2
* https://github.com/advisories/GHSA-q8mj-m7cp-5q26
Change-Id: I0ed896d1a80b476e88dc80f274aa865684f483ba
---
package-lock.json | 6 +++---
yarn.lock | 6 +++---
2 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/package-lock.json b/package-lock.json
index 9cf16b1..ea35420 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -5065,9 +5065,9 @@
}
},
"node_modules/qs": {
- "version": "6.15.0",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.15.0.tgz",
- "integrity": "sha512-mAZTtNCeetKMH+pSjrb76NAM8V9a05I9aBZOHztWy/UqcJdQYNsf59vrRKWnojAT9Y+GbIvoTBC++CPHqpDBhQ==",
+ "version": "6.15.2",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.15.2.tgz",
+ "integrity": "sha512-Rzq0KEyX/w/tEybncDgdkZrJgVUsUMk3xjh3t5bv3S1HTAtg+uOYt72+ZfwiQwKdysThkTBdL/rTi6HDmX9Ddw==",
"dev": true,
"dependencies": {
"side-channel": "^1.1.0"
diff --git a/yarn.lock b/yarn.lock
index 54d47ba..448c78b 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -2760,9 +2760,9 @@ punycode@^2.1.0, punycode@^2.1.1, punycode@^2.3.0, punycode@^2.3.1:
integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==
qs@^6.14.1:
- version "6.15.0"
- resolved "https://registry.npmjs.org/qs/-/qs-6.15.0.tgz"
- integrity sha512-mAZTtNCeetKMH+pSjrb76NAM8V9a05I9aBZOHztWy/UqcJdQYNsf59vrRKWnojAT9Y+GbIvoTBC++CPHqpDBhQ==
+ version "6.15.2"
+ resolved "https://registry.npmjs.org/qs/-/qs-6.15.2.tgz"
+ integrity sha512-Rzq0KEyX/w/tEybncDgdkZrJgVUsUMk3xjh3t5bv3S1HTAtg+uOYt72+ZfwiQwKdysThkTBdL/rTi6HDmX9Ddw==
dependencies:
side-channel "^1.1.0"
--
2.47.3
--- end ---