$ date
--- stdout ---
Thu Jun 4 03:23:34 UTC 2026
--- end ---
$ git clone file:///srv/git/mediawiki-extensions-Cite.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 ---
515ae30e285a12c753b662a72e7f102f7c0be80a refs/heads/master
--- end ---
$ /usr/bin/npm audit --json
--- stdout ---
{
"auditReportVersion": 2,
"vulnerabilities": {
"diff": {
"name": "diff",
"severity": "low",
"isDirect": false,
"via": [
{
"source": 1112706,
"name": "diff",
"dependency": "diff",
"title": "jsdiff has a Denial of Service vulnerability in parsePatch and applyPatch",
"url": "https://github.com/advisories/GHSA-73rr-hh4g-fpgx",
"severity": "low",
"cwe": [
"CWE-400",
"CWE-1333"
],
"cvss": {
"score": 0,
"vectorString": null
},
"range": ">=6.0.0 <8.0.3"
}
],
"effects": [
"mocha"
],
"range": "6.0.0 - 8.0.2",
"nodes": [
"node_modules/diff"
],
"fixAvailable": true
},
"mocha": {
"name": "mocha",
"severity": "moderate",
"isDirect": false,
"via": [
"diff",
"serialize-javascript"
],
"effects": [],
"range": "8.2.0 - 12.0.0-beta-3",
"nodes": [
"node_modules/mocha"
],
"fixAvailable": true
},
"serialize-javascript": {
"name": "serialize-javascript",
"severity": "high",
"isDirect": false,
"via": [
{
"source": 1113686,
"name": "serialize-javascript",
"dependency": "serialize-javascript",
"title": "Serialize JavaScript is Vulnerable to RCE via RegExp.flags and Date.prototype.toISOString()",
"url": "https://github.com/advisories/GHSA-5c6j-r48x-rmvq",
"severity": "high",
"cwe": [
"CWE-96"
],
"cvss": {
"score": 8.1,
"vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H"
},
"range": "<=7.0.2"
},
{
"source": 1119440,
"name": "serialize-javascript",
"dependency": "serialize-javascript",
"title": "Serialize JavaScript has CPU Exhaustion Denial of Service via crafted array-like objects",
"url": "https://github.com/advisories/GHSA-qj8w-gfj5-8c6v",
"severity": "moderate",
"cwe": [
"CWE-400",
"CWE-834"
],
"cvss": {
"score": 5.9,
"vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H"
},
"range": ">=5.0.0 <7.0.5"
}
],
"effects": [
"mocha"
],
"range": "<=7.0.4",
"nodes": [
"node_modules/serialize-javascript"
],
"fixAvailable": true
}
},
"metadata": {
"vulnerabilities": {
"info": 0,
"low": 1,
"moderate": 1,
"high": 1,
"critical": 0,
"total": 3
},
"dependencies": {
"prod": 1,
"dev": 690,
"optional": 5,
"peer": 2,
"peerOptional": 0,
"total": 690
}
}
}
--- 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: 38 installs, 0 updates, 0 removals
- Locking composer/pcre (3.3.2)
- Locking composer/semver (3.4.4)
- Locking composer/spdx-licenses (1.6.0)
- Locking composer/xdebug-handler (3.0.5)
- Locking danog/advanced-json-rpc (v3.2.3)
- Locking dealerdirect/phpcodesniffer-composer-installer (v1.2.1)
- Locking doctrine/deprecations (1.1.6)
- Locking mediawiki/mediawiki-codesniffer (v51.0.0)
- Locking mediawiki/mediawiki-phan-config (0.20.0)
- Locking mediawiki/minus-x (2.0.1)
- Locking mediawiki/phan-taint-check-plugin (9.1.0)
- Locking netresearch/jsonmapper (v5.0.1)
- Locking phan/phan (6.0.2)
- Locking phan/tolerant-php-parser (v0.2.0)
- Locking phan/var_representation_polyfill (0.1.4)
- Locking php-parallel-lint/php-console-color (v1.0.1)
- Locking php-parallel-lint/php-console-highlighter (v1.0.0)
- Locking php-parallel-lint/php-parallel-lint (v1.4.0)
- Locking phpcsstandards/phpcsextra (1.5.0)
- Locking phpcsstandards/phpcsutils (1.2.2)
- Locking phpdocumentor/reflection-common (2.2.0)
- Locking phpdocumentor/reflection-docblock (6.0.3)
- Locking phpdocumentor/type-resolver (2.0.0)
- Locking phpstan/phpdoc-parser (2.3.2)
- Locking psr/container (2.0.2)
- Locking psr/log (3.0.2)
- Locking sabre/event (6.1.0)
- Locking squizlabs/php_codesniffer (3.13.5)
- Locking symfony/console (v8.1.0)
- Locking symfony/deprecation-contracts (v3.7.0)
- Locking symfony/polyfill-ctype (v1.37.0)
- Locking symfony/polyfill-intl-grapheme (v1.38.1)
- Locking symfony/polyfill-intl-normalizer (v1.38.0)
- Locking symfony/polyfill-mbstring (v1.38.1)
- Locking symfony/polyfill-php85 (v1.38.1)
- Locking symfony/service-contracts (v3.7.0)
- Locking symfony/string (v8.1.0)
- Locking webmozart/assert (2.4.0)
Writing lock file
Installing dependencies from lock file (including require-dev)
Package operations: 38 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 composer/pcre (3.3.2): Extracting archive
- Installing phpcsstandards/phpcsutils (1.2.2): Extracting archive
- Installing phpcsstandards/phpcsextra (1.5.0): Extracting archive
- Installing symfony/polyfill-mbstring (v1.38.1): 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.38.0): Extracting archive
- Installing symfony/polyfill-intl-grapheme (v1.38.1): Extracting archive
- Installing symfony/polyfill-ctype (v1.37.0): Extracting archive
- Installing symfony/string (v8.1.0): 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/polyfill-php85 (v1.38.1): Extracting archive
- Installing symfony/console (v8.1.0): Extracting archive
- Installing sabre/event (6.1.0): Extracting archive
- Installing phan/var_representation_polyfill (0.1.4): Extracting archive
- Installing phan/tolerant-php-parser (v0.2.0): Extracting archive
- Installing netresearch/jsonmapper (v5.0.1): Extracting archive
- Installing webmozart/assert (2.4.0): Extracting archive
- Installing phpstan/phpdoc-parser (2.3.2): Extracting archive
- Installing phpdocumentor/reflection-common (2.2.0): Extracting archive
- Installing doctrine/deprecations (1.1.6): Extracting archive
- Installing phpdocumentor/type-resolver (2.0.0): Extracting archive
- Installing phpdocumentor/reflection-docblock (6.0.3): Extracting archive
- Installing danog/advanced-json-rpc (v3.2.3): Extracting archive
- Installing psr/log (3.0.2): Extracting archive
- Installing composer/xdebug-handler (3.0.5): Extracting archive
- Installing phan/phan (6.0.2): Extracting archive
- Installing mediawiki/phan-taint-check-plugin (9.1.0): Extracting archive
- Installing mediawiki/mediawiki-phan-config (0.20.0): Extracting archive
- Installing mediawiki/minus-x (2.0.1): Extracting archive
- Installing php-parallel-lint/php-console-color (v1.0.1): Extracting archive
- Installing php-parallel-lint/php-console-highlighter (v1.0.0): Extracting archive
- Installing php-parallel-lint/php-parallel-lint (v1.4.0): Extracting archive
0/36 [>---------------------------] 0%
26/36 [====================>-------] 72%
35/36 [===========================>] 97%
36/36 [============================] 100%
1 package suggestions were added by new dependencies, use `composer suggest` to see details.
Generating autoload files
17 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 ---
Upgrading n:jsdoc-wmf-theme from 1.2.0 -> 1.3.0
$ /usr/bin/npm install
--- stderr ---
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE package: '@wikimedia/codex-design-tokens@2.5.1',
npm WARN EBADENGINE required: { npm: '>=10.8.1', node: '>=20.20.2' },
npm WARN EBADENGINE current: { node: 'v20.19.2', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN deprecated @humanwhocodes/config-array@0.13.0: Use @eslint/config-array instead
npm WARN deprecated @humanwhocodes/object-schema@2.0.3: Use @eslint/object-schema instead
npm WARN deprecated glob@11.1.0: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me
npm WARN deprecated glob@10.5.0: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me
npm WARN deprecated eslint@8.57.1: This version is no longer supported. Please see https://eslint.org/version-support for other options.
--- stdout ---
added 690 packages, and audited 691 packages in 26s
171 packages are looking for funding
run `npm fund` for details
3 vulnerabilities (1 low, 1 moderate, 1 high)
To address all issues, run:
npm audit fix
Run `npm audit` for details.
--- end ---
$ package-lock-lint /src/repo/package-lock.json
--- stdout ---
Checking /src/repo/package-lock.json
--- end ---
$ /usr/bin/npm ci
--- stderr ---
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE package: '@wikimedia/codex-design-tokens@2.5.1',
npm WARN EBADENGINE required: { node: '>=20.20.2', npm: '>=10.8.1' },
npm WARN EBADENGINE current: { node: 'v20.19.2', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN deprecated @humanwhocodes/config-array@0.13.0: Use @eslint/config-array instead
npm WARN deprecated @humanwhocodes/object-schema@2.0.3: Use @eslint/object-schema instead
npm WARN deprecated glob@11.1.0: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me
npm WARN deprecated glob@10.5.0: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me
npm WARN deprecated eslint@8.57.1: This version is no longer supported. Please see https://eslint.org/version-support for other options.
--- stdout ---
added 690 packages, and audited 691 packages in 12s
171 packages are looking for funding
run `npm fund` for details
3 vulnerabilities (1 low, 1 moderate, 1 high)
To address all issues, run:
npm audit fix
Run `npm audit` for details.
--- end ---
$ /usr/bin/npm test
--- stdout ---
> test
> grunt test
Running "eslint:all" (eslint) task
/src/repo/modules/ext.cite.referencePreviews/createReferenceGateway.js
8:1 warning The type 'Gateway' is undefined jsdoc/no-undefined-types
89:1 warning The type 'ext.popups.PreviewModel' is undefined jsdoc/no-undefined-types
/src/repo/modules/ext.cite.referencePreviews/createReferencePreview.js
41:1 warning The type 'ext.popups.PreviewModel' is undefined jsdoc/no-undefined-types
187:1 warning The type 'ext.popups.PreviewModel' is undefined jsdoc/no-undefined-types
188:1 warning The type 'ext.popups.Preview' is undefined jsdoc/no-undefined-types
/src/repo/modules/ve-cite/ve.dm.MWReferenceNode.js
89:1 warning Syntax error in type: Array(string,number)|null jsdoc/valid-types
✖ 6 problems (0 errors, 6 warnings)
Running "stylelint:all" (stylelint) task
>> modules/parsoid-styles/ext.cite.style.lzh.less
>> 1:1 ⚠ Unexpected browser feature "css-at-counter-style" is not supported by Safari 12-15,11.1,12.1,13.1,14.1,15.1,15.2-15.3,15.4,15.5,15.6,16,16.1,16.2,16.3,16.4,16.5,16.6, Safari on iOS 11.3-11.4,12.0-12.1,12.2-12.5,13.0-13.1,13.2,13.3,13.4-13.7,14.0-14.4,14.5-14.8,15.0-15.1,15.2-15.3,15.4,15.5,15.6-15.8,16,16.1,16.2,16.3,16.4,16.5,16.6-16.7 plugin/no-unsupported-browser-features
>>
>> modules/parsoid-styles/ext.cite.style.mni.less
>> 1:1 ⚠ Unexpected browser feature "css-at-counter-style" is not supported by Safari 12-15,11.1,12.1,13.1,14.1,15.1,15.2-15.3,15.4,15.5,15.6,16,16.1,16.2,16.3,16.4,16.5,16.6, Safari on iOS 11.3-11.4,12.0-12.1,12.2-12.5,13.0-13.1,13.2,13.3,13.4-13.7,14.0-14.4,14.5-14.8,15.0-15.1,15.2-15.3,15.4,15.5,15.6-15.8,16,16.1,16.2,16.3,16.4,16.5,16.6-16.7 plugin/no-unsupported-browser-features
>>
>> modules/parsoid-styles/ext.cite.style.nod.less
>> 1:1 ⚠ Unexpected browser feature "css-at-counter-style" is not supported by Safari 12-15,11.1,12.1,13.1,14.1,15.1,15.2-15.3,15.4,15.5,15.6,16,16.1,16.2,16.3,16.4,16.5,16.6, Safari on iOS 11.3-11.4,12.0-12.1,12.2-12.5,13.0-13.1,13.2,13.3,13.4-13.7,14.0-14.4,14.5-14.8,15.0-15.1,15.2-15.3,15.4,15.5,15.6-15.8,16,16.1,16.2,16.3,16.4,16.5,16.6-16.7 plugin/no-unsupported-browser-features
>>
>> modules/parsoid-styles/ext.cite.style.nqo.less
>> 3:1 ⚠ Unexpected browser feature "css-at-counter-style" is not supported by Safari 12-15,11.1,12.1,13.1,14.1,15.1,15.2-15.3,15.4,15.5,15.6,16,16.1,16.2,16.3,16.4,16.5,16.6, Safari on iOS 11.3-11.4,12.0-12.1,12.2-12.5,13.0-13.1,13.2,13.3,13.4-13.7,14.0-14.4,14.5-14.8,15.0-15.1,15.2-15.3,15.4,15.5,15.6-15.8,16,16.1,16.2,16.3,16.4,16.5,16.6-16.7 plugin/no-unsupported-browser-features
>>
>> modules/parsoid-styles/ext.cite.style.sat.less
>> 1:1 ⚠ Unexpected browser feature "css-at-counter-style" is not supported by Safari 12-15,11.1,12.1,13.1,14.1,15.1,15.2-15.3,15.4,15.5,15.6,16,16.1,16.2,16.3,16.4,16.5,16.6, Safari on iOS 11.3-11.4,12.0-12.1,12.2-12.5,13.0-13.1,13.2,13.3,13.4-13.7,14.0-14.4,14.5-14.8,15.0-15.1,15.2-15.3,15.4,15.5,15.6-15.8,16,16.1,16.2,16.3,16.4,16.5,16.6-16.7 plugin/no-unsupported-browser-features
>>
>> ⚠ 5 problems (0 errors, 5 warnings)
⚠ 5 warnings
>> Linted 96 files without errors
Running "banana:Cite" (banana) task
>> 2 message directories checked.
Done.
--- end ---
$ /usr/bin/npm audit --json
--- stdout ---
{
"auditReportVersion": 2,
"vulnerabilities": {
"diff": {
"name": "diff",
"severity": "low",
"isDirect": false,
"via": [
{
"source": 1112706,
"name": "diff",
"dependency": "diff",
"title": "jsdiff has a Denial of Service vulnerability in parsePatch and applyPatch",
"url": "https://github.com/advisories/GHSA-73rr-hh4g-fpgx",
"severity": "low",
"cwe": [
"CWE-400",
"CWE-1333"
],
"cvss": {
"score": 0,
"vectorString": null
},
"range": ">=6.0.0 <8.0.3"
}
],
"effects": [
"mocha"
],
"range": "6.0.0 - 8.0.2",
"nodes": [
"node_modules/diff"
],
"fixAvailable": true
},
"mocha": {
"name": "mocha",
"severity": "moderate",
"isDirect": false,
"via": [
"diff",
"serialize-javascript"
],
"effects": [],
"range": "8.2.0 - 12.0.0-beta-3",
"nodes": [
"node_modules/mocha"
],
"fixAvailable": true
},
"serialize-javascript": {
"name": "serialize-javascript",
"severity": "high",
"isDirect": false,
"via": [
{
"source": 1113686,
"name": "serialize-javascript",
"dependency": "serialize-javascript",
"title": "Serialize JavaScript is Vulnerable to RCE via RegExp.flags and Date.prototype.toISOString()",
"url": "https://github.com/advisories/GHSA-5c6j-r48x-rmvq",
"severity": "high",
"cwe": [
"CWE-96"
],
"cvss": {
"score": 8.1,
"vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H"
},
"range": "<=7.0.2"
},
{
"source": 1119440,
"name": "serialize-javascript",
"dependency": "serialize-javascript",
"title": "Serialize JavaScript has CPU Exhaustion Denial of Service via crafted array-like objects",
"url": "https://github.com/advisories/GHSA-qj8w-gfj5-8c6v",
"severity": "moderate",
"cwe": [
"CWE-400",
"CWE-834"
],
"cvss": {
"score": 5.9,
"vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H"
},
"range": ">=5.0.0 <7.0.5"
}
],
"effects": [
"mocha"
],
"range": "<=7.0.4",
"nodes": [
"node_modules/serialize-javascript"
],
"fixAvailable": true
}
},
"metadata": {
"vulnerabilities": {
"info": 0,
"low": 1,
"moderate": 1,
"high": 1,
"critical": 0,
"total": 3
},
"dependencies": {
"prod": 1,
"dev": 690,
"optional": 5,
"peer": 2,
"peerOptional": 0,
"total": 690
}
}
}
--- 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: '@wikimedia/codex-design-tokens@2.5.1',
npm WARN EBADENGINE required: { node: '>=20.20.2', npm: '>=10.8.1' },
npm WARN EBADENGINE current: { node: 'v20.19.2', npm: '9.2.0' }
npm WARN EBADENGINE }
--- stdout ---
{
"added": 0,
"removed": 0,
"changed": 0,
"audited": 691,
"funding": 171,
"audit": {
"auditReportVersion": 2,
"vulnerabilities": {
"diff": {
"name": "diff",
"severity": "low",
"isDirect": false,
"via": [
{
"source": 1112706,
"name": "diff",
"dependency": "diff",
"title": "jsdiff has a Denial of Service vulnerability in parsePatch and applyPatch",
"url": "https://github.com/advisories/GHSA-73rr-hh4g-fpgx",
"severity": "low",
"cwe": [
"CWE-400",
"CWE-1333"
],
"cvss": {
"score": 0,
"vectorString": null
},
"range": ">=6.0.0 <8.0.3"
}
],
"effects": [
"mocha"
],
"range": "6.0.0 - 8.0.2",
"nodes": [
"node_modules/diff"
],
"fixAvailable": true
},
"mocha": {
"name": "mocha",
"severity": "moderate",
"isDirect": false,
"via": [
"diff",
"serialize-javascript"
],
"effects": [],
"range": "8.2.0 - 12.0.0-beta-3",
"nodes": [
"node_modules/mocha"
],
"fixAvailable": true
},
"serialize-javascript": {
"name": "serialize-javascript",
"severity": "high",
"isDirect": false,
"via": [
{
"source": 1113686,
"name": "serialize-javascript",
"dependency": "serialize-javascript",
"title": "Serialize JavaScript is Vulnerable to RCE via RegExp.flags and Date.prototype.toISOString()",
"url": "https://github.com/advisories/GHSA-5c6j-r48x-rmvq",
"severity": "high",
"cwe": [
"CWE-96"
],
"cvss": {
"score": 8.1,
"vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H"
},
"range": "<=7.0.2"
},
{
"source": 1119440,
"name": "serialize-javascript",
"dependency": "serialize-javascript",
"title": "Serialize JavaScript has CPU Exhaustion Denial of Service via crafted array-like objects",
"url": "https://github.com/advisories/GHSA-qj8w-gfj5-8c6v",
"severity": "moderate",
"cwe": [
"CWE-400",
"CWE-834"
],
"cvss": {
"score": 5.9,
"vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H"
},
"range": ">=5.0.0 <7.0.5"
}
],
"effects": [
"mocha"
],
"range": "<=7.0.4",
"nodes": [
"node_modules/serialize-javascript"
],
"fixAvailable": true
}
},
"metadata": {
"vulnerabilities": {
"info": 0,
"low": 1,
"moderate": 1,
"high": 1,
"critical": 0,
"total": 3
},
"dependencies": {
"prod": 1,
"dev": 690,
"optional": 5,
"peer": 2,
"peerOptional": 0,
"total": 690
}
}
}
}
--- end ---
{"added": 0, "removed": 0, "changed": 0, "audited": 691, "funding": 171, "audit": {"auditReportVersion": 2, "vulnerabilities": {"diff": {"name": "diff", "severity": "low", "isDirect": false, "via": [{"source": 1112706, "name": "diff", "dependency": "diff", "title": "jsdiff has a Denial of Service vulnerability in parsePatch and applyPatch", "url": "https://github.com/advisories/GHSA-73rr-hh4g-fpgx", "severity": "low", "cwe": ["CWE-400", "CWE-1333"], "cvss": {"score": 0, "vectorString": null}, "range": ">=6.0.0 <8.0.3"}], "effects": ["mocha"], "range": "6.0.0 - 8.0.2", "nodes": ["node_modules/diff"], "fixAvailable": true}, "mocha": {"name": "mocha", "severity": "moderate", "isDirect": false, "via": ["diff", "serialize-javascript"], "effects": [], "range": "8.2.0 - 12.0.0-beta-3", "nodes": ["node_modules/mocha"], "fixAvailable": true}, "serialize-javascript": {"name": "serialize-javascript", "severity": "high", "isDirect": false, "via": [{"source": 1113686, "name": "serialize-javascript", "dependency": "serialize-javascript", "title": "Serialize JavaScript is Vulnerable to RCE via RegExp.flags and Date.prototype.toISOString()", "url": "https://github.com/advisories/GHSA-5c6j-r48x-rmvq", "severity": "high", "cwe": ["CWE-96"], "cvss": {"score": 8.1, "vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H"}, "range": "<=7.0.2"}, {"source": 1119440, "name": "serialize-javascript", "dependency": "serialize-javascript", "title": "Serialize JavaScript has CPU Exhaustion Denial of Service via crafted array-like objects", "url": "https://github.com/advisories/GHSA-qj8w-gfj5-8c6v", "severity": "moderate", "cwe": ["CWE-400", "CWE-834"], "cvss": {"score": 5.9, "vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H"}, "range": ">=5.0.0 <7.0.5"}], "effects": ["mocha"], "range": "<=7.0.4", "nodes": ["node_modules/serialize-javascript"], "fixAvailable": true}}, "metadata": {"vulnerabilities": {"info": 0, "low": 1, "moderate": 1, "high": 1, "critical": 0, "total": 3}, "dependencies": {"prod": 1, "dev": 690, "optional": 5, "peer": 2, "peerOptional": 0, "total": 690}}}}
$ /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: '@wikimedia/codex-design-tokens@2.5.1',
npm WARN EBADENGINE required: { node: '>=20.20.2', npm: '>=10.8.1' },
npm WARN EBADENGINE current: { node: 'v20.19.2', npm: '9.2.0' }
npm WARN EBADENGINE }
--- stdout ---
up to date, audited 691 packages in 2s
171 packages are looking for funding
run `npm fund` for details
# npm audit report
diff 6.0.0 - 8.0.2
jsdiff has a Denial of Service vulnerability in parsePatch and applyPatch - https://github.com/advisories/GHSA-73rr-hh4g-fpgx
fix available via `npm audit fix`
node_modules/diff
mocha 8.2.0 - 12.0.0-beta-3
Depends on vulnerable versions of diff
Depends on vulnerable versions of serialize-javascript
node_modules/mocha
serialize-javascript <=7.0.4
Severity: high
Serialize JavaScript is Vulnerable to RCE via RegExp.flags and Date.prototype.toISOString() - https://github.com/advisories/GHSA-5c6j-r48x-rmvq
Serialize JavaScript has CPU Exhaustion Denial of Service via crafted array-like objects - https://github.com/advisories/GHSA-qj8w-gfj5-8c6v
fix available via `npm audit fix`
node_modules/serialize-javascript
3 vulnerabilities (1 low, 1 moderate, 1 high)
To address all issues, run:
npm audit fix
--- end ---
Verifying that tests still pass
$ /usr/bin/npm ci
--- stderr ---
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE package: '@wikimedia/codex-design-tokens@2.5.1',
npm WARN EBADENGINE required: { node: '>=20.20.2', npm: '>=10.8.1' },
npm WARN EBADENGINE current: { node: 'v20.19.2', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN deprecated @humanwhocodes/config-array@0.13.0: Use @eslint/config-array instead
npm WARN deprecated @humanwhocodes/object-schema@2.0.3: Use @eslint/object-schema instead
npm WARN deprecated glob@11.1.0: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me
npm WARN deprecated glob@10.5.0: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me
npm WARN deprecated eslint@8.57.1: This version is no longer supported. Please see https://eslint.org/version-support for other options.
--- stdout ---
added 690 packages, and audited 691 packages in 8s
171 packages are looking for funding
run `npm fund` for details
3 vulnerabilities (1 low, 1 moderate, 1 high)
To address all issues, run:
npm audit fix
Run `npm audit` for details.
--- end ---
$ /usr/bin/npm test
--- stdout ---
> test
> grunt test
Running "eslint:all" (eslint) task
/src/repo/modules/ext.cite.referencePreviews/createReferenceGateway.js
8:1 warning The type 'Gateway' is undefined jsdoc/no-undefined-types
89:1 warning The type 'ext.popups.PreviewModel' is undefined jsdoc/no-undefined-types
/src/repo/modules/ext.cite.referencePreviews/createReferencePreview.js
41:1 warning The type 'ext.popups.PreviewModel' is undefined jsdoc/no-undefined-types
187:1 warning The type 'ext.popups.PreviewModel' is undefined jsdoc/no-undefined-types
188:1 warning The type 'ext.popups.Preview' is undefined jsdoc/no-undefined-types
/src/repo/modules/ve-cite/ve.dm.MWReferenceNode.js
89:1 warning Syntax error in type: Array(string,number)|null jsdoc/valid-types
✖ 6 problems (0 errors, 6 warnings)
Running "stylelint:all" (stylelint) task
>> modules/parsoid-styles/ext.cite.style.lzh.less
>> 1:1 ⚠ Unexpected browser feature "css-at-counter-style" is not supported by Safari 12-15,11.1,12.1,13.1,14.1,15.1,15.2-15.3,15.4,15.5,15.6,16,16.1,16.2,16.3,16.4,16.5,16.6, Safari on iOS 11.3-11.4,12.0-12.1,12.2-12.5,13.0-13.1,13.2,13.3,13.4-13.7,14.0-14.4,14.5-14.8,15.0-15.1,15.2-15.3,15.4,15.5,15.6-15.8,16,16.1,16.2,16.3,16.4,16.5,16.6-16.7 plugin/no-unsupported-browser-features
>>
>> modules/parsoid-styles/ext.cite.style.mni.less
>> 1:1 ⚠ Unexpected browser feature "css-at-counter-style" is not supported by Safari 12-15,11.1,12.1,13.1,14.1,15.1,15.2-15.3,15.4,15.5,15.6,16,16.1,16.2,16.3,16.4,16.5,16.6, Safari on iOS 11.3-11.4,12.0-12.1,12.2-12.5,13.0-13.1,13.2,13.3,13.4-13.7,14.0-14.4,14.5-14.8,15.0-15.1,15.2-15.3,15.4,15.5,15.6-15.8,16,16.1,16.2,16.3,16.4,16.5,16.6-16.7 plugin/no-unsupported-browser-features
>>
>> modules/parsoid-styles/ext.cite.style.nod.less
>> 1:1 ⚠ Unexpected browser feature "css-at-counter-style" is not supported by Safari 12-15,11.1,12.1,13.1,14.1,15.1,15.2-15.3,15.4,15.5,15.6,16,16.1,16.2,16.3,16.4,16.5,16.6, Safari on iOS 11.3-11.4,12.0-12.1,12.2-12.5,13.0-13.1,13.2,13.3,13.4-13.7,14.0-14.4,14.5-14.8,15.0-15.1,15.2-15.3,15.4,15.5,15.6-15.8,16,16.1,16.2,16.3,16.4,16.5,16.6-16.7 plugin/no-unsupported-browser-features
>>
>> modules/parsoid-styles/ext.cite.style.nqo.less
>> 3:1 ⚠ Unexpected browser feature "css-at-counter-style" is not supported by Safari 12-15,11.1,12.1,13.1,14.1,15.1,15.2-15.3,15.4,15.5,15.6,16,16.1,16.2,16.3,16.4,16.5,16.6, Safari on iOS 11.3-11.4,12.0-12.1,12.2-12.5,13.0-13.1,13.2,13.3,13.4-13.7,14.0-14.4,14.5-14.8,15.0-15.1,15.2-15.3,15.4,15.5,15.6-15.8,16,16.1,16.2,16.3,16.4,16.5,16.6-16.7 plugin/no-unsupported-browser-features
>>
>> modules/parsoid-styles/ext.cite.style.sat.less
>> 1:1 ⚠ Unexpected browser feature "css-at-counter-style" is not supported by Safari 12-15,11.1,12.1,13.1,14.1,15.1,15.2-15.3,15.4,15.5,15.6,16,16.1,16.2,16.3,16.4,16.5,16.6, Safari on iOS 11.3-11.4,12.0-12.1,12.2-12.5,13.0-13.1,13.2,13.3,13.4-13.7,14.0-14.4,14.5-14.8,15.0-15.1,15.2-15.3,15.4,15.5,15.6-15.8,16,16.1,16.2,16.3,16.4,16.5,16.6-16.7 plugin/no-unsupported-browser-features
>>
>> ⚠ 5 problems (0 errors, 5 warnings)
⚠ 5 warnings
>> Linted 96 files without errors
Running "banana:Cite" (banana) task
>> 2 message directories checked.
Done.
--- end ---
{"1112706": {"source": 1112706, "name": "diff", "dependency": "diff", "title": "jsdiff has a Denial of Service vulnerability in parsePatch and applyPatch", "url": "https://github.com/advisories/GHSA-73rr-hh4g-fpgx", "severity": "low", "cwe": ["CWE-400", "CWE-1333"], "cvss": {"score": 0, "vectorString": null}, "range": ">=6.0.0 <8.0.3"}}
{"1112706": {"source": 1112706, "name": "diff", "dependency": "diff", "title": "jsdiff has a Denial of Service vulnerability in parsePatch and applyPatch", "url": "https://github.com/advisories/GHSA-73rr-hh4g-fpgx", "severity": "low", "cwe": ["CWE-400", "CWE-1333"], "cvss": {"score": 0, "vectorString": null}, "range": ">=6.0.0 <8.0.3"}, "1113686": {"source": 1113686, "name": "serialize-javascript", "dependency": "serialize-javascript", "title": "Serialize JavaScript is Vulnerable to RCE via RegExp.flags and Date.prototype.toISOString()", "url": "https://github.com/advisories/GHSA-5c6j-r48x-rmvq", "severity": "high", "cwe": ["CWE-96"], "cvss": {"score": 8.1, "vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H"}, "range": "<=7.0.2"}, "1119440": {"source": 1119440, "name": "serialize-javascript", "dependency": "serialize-javascript", "title": "Serialize JavaScript has CPU Exhaustion Denial of Service via crafted array-like objects", "url": "https://github.com/advisories/GHSA-qj8w-gfj5-8c6v", "severity": "moderate", "cwe": ["CWE-400", "CWE-834"], "cvss": {"score": 5.9, "vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H"}, "range": ">=5.0.0 <7.0.5"}}
{"1113686": {"source": 1113686, "name": "serialize-javascript", "dependency": "serialize-javascript", "title": "Serialize JavaScript is Vulnerable to RCE via RegExp.flags and Date.prototype.toISOString()", "url": "https://github.com/advisories/GHSA-5c6j-r48x-rmvq", "severity": "high", "cwe": ["CWE-96"], "cvss": {"score": 8.1, "vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H"}, "range": "<=7.0.2"}, "1119440": {"source": 1119440, "name": "serialize-javascript", "dependency": "serialize-javascript", "title": "Serialize JavaScript has CPU Exhaustion Denial of Service via crafted array-like objects", "url": "https://github.com/advisories/GHSA-qj8w-gfj5-8c6v", "severity": "moderate", "cwe": ["CWE-400", "CWE-834"], "cvss": {"score": 5.9, "vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H"}, "range": ">=5.0.0 <7.0.5"}}
$ package-lock-lint /src/repo/package-lock.json
--- stdout ---
Checking /src/repo/package-lock.json
--- end ---
build: Updating jsdoc-wmf-theme to 1.3.0
$ git add .
--- stdout ---
--- end ---
$ git commit -F /tmp/tmp3ziyxq3g
--- stdout ---
[master 6489246] build: Updating jsdoc-wmf-theme to 1.3.0
2 files changed, 18 insertions(+), 19 deletions(-)
--- end ---
$ git format-patch HEAD~1 --stdout
--- stdout ---
From 6489246809e1fd434ffe75816ad27118482956f2 Mon Sep 17 00:00:00 2001
From: libraryupgrader <tools.libraryupgrader@tools.wmflabs.org>
Date: Thu, 4 Jun 2026 03:25:17 +0000
Subject: [PATCH] build: Updating jsdoc-wmf-theme to 1.3.0
Change-Id: I5dd89aeb8b71ebc35ddb218fc011f1a2839e1680
---
package-lock.json | 35 +++++++++++++++++------------------
package.json | 2 +-
2 files changed, 18 insertions(+), 19 deletions(-)
diff --git a/package-lock.json b/package-lock.json
index c47d35f..a42390b 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -16,7 +16,7 @@
"grunt-banana-checker": "0.13.0",
"grunt-eslint": "24.3.0",
"grunt-stylelint": "0.20.1",
- "jsdoc-wmf-theme": "1.2.0",
+ "jsdoc-wmf-theme": "1.3.0",
"stylelint-config-wikimedia": "0.18.0"
}
},
@@ -1039,13 +1039,13 @@
"dev": true
},
"node_modules/@wikimedia/codex-design-tokens": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/@wikimedia/codex-design-tokens/-/codex-design-tokens-1.1.1.tgz",
- "integrity": "sha512-qFX7LcR/l90yqVTBApvrIDY3Xa0WifoMlBJRGD1DoWff8e/yMhLmxF1o2DRcIfQlOvKDg0Vhy8jAttF6MUfMAA==",
+ "version": "2.5.1",
+ "resolved": "https://registry.npmjs.org/@wikimedia/codex-design-tokens/-/codex-design-tokens-2.5.1.tgz",
+ "integrity": "sha512-HhUP2zURfZYOEw9rHUILMF1OEBIylBAPS88xyGUVLRaTbJ3g8tTV85lesDR8qMhEKwClaeuCTXl8mgP4VDS6VQ==",
"dev": true,
"engines": {
- "node": ">=16",
- "npm": ">=7.21.0"
+ "node": ">=20.20.2",
+ "npm": ">=10.8.1"
}
},
"node_modules/abbrev": {
@@ -4904,14 +4904,13 @@
}
},
"node_modules/jsdoc-wmf-theme": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/jsdoc-wmf-theme/-/jsdoc-wmf-theme-1.2.0.tgz",
- "integrity": "sha512-4eWBcH+3KrAg+qrTOJoNxWqLtra63TbCBXCxsaTvz4x5VsXN4e63/9S4dACX+8GLflcnAEZMp9IJK8RlMwMJ0g==",
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/jsdoc-wmf-theme/-/jsdoc-wmf-theme-1.3.0.tgz",
+ "integrity": "sha512-/DKpcbJRIfhdJz0VEtyUVIenwep1RXeR6reYV2q535hQYwvINUtC/dLDBkt6dqjDe2EKEHb0pCdIEqw7oQjOTQ==",
"dev": true,
- "license": "Apache-2.0",
"dependencies": {
"@jsdoc/salty": "^0.2.8",
- "@wikimedia/codex-design-tokens": "1.1.1",
+ "@wikimedia/codex-design-tokens": "2.5.1",
"domino": "^2.1.6",
"jsdoc": "^4.0.5",
"jsdoc-class-hierarchy": "1.1.2",
@@ -9164,9 +9163,9 @@
"dev": true
},
"@wikimedia/codex-design-tokens": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/@wikimedia/codex-design-tokens/-/codex-design-tokens-1.1.1.tgz",
- "integrity": "sha512-qFX7LcR/l90yqVTBApvrIDY3Xa0WifoMlBJRGD1DoWff8e/yMhLmxF1o2DRcIfQlOvKDg0Vhy8jAttF6MUfMAA==",
+ "version": "2.5.1",
+ "resolved": "https://registry.npmjs.org/@wikimedia/codex-design-tokens/-/codex-design-tokens-2.5.1.tgz",
+ "integrity": "sha512-HhUP2zURfZYOEw9rHUILMF1OEBIylBAPS88xyGUVLRaTbJ3g8tTV85lesDR8qMhEKwClaeuCTXl8mgP4VDS6VQ==",
"dev": true
},
"abbrev": {
@@ -11896,13 +11895,13 @@
"dev": true
},
"jsdoc-wmf-theme": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/jsdoc-wmf-theme/-/jsdoc-wmf-theme-1.2.0.tgz",
- "integrity": "sha512-4eWBcH+3KrAg+qrTOJoNxWqLtra63TbCBXCxsaTvz4x5VsXN4e63/9S4dACX+8GLflcnAEZMp9IJK8RlMwMJ0g==",
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/jsdoc-wmf-theme/-/jsdoc-wmf-theme-1.3.0.tgz",
+ "integrity": "sha512-/DKpcbJRIfhdJz0VEtyUVIenwep1RXeR6reYV2q535hQYwvINUtC/dLDBkt6dqjDe2EKEHb0pCdIEqw7oQjOTQ==",
"dev": true,
"requires": {
"@jsdoc/salty": "^0.2.8",
- "@wikimedia/codex-design-tokens": "1.1.1",
+ "@wikimedia/codex-design-tokens": "2.5.1",
"domino": "^2.1.6",
"jsdoc": "^4.0.5",
"jsdoc-class-hierarchy": "1.1.2",
diff --git a/package.json b/package.json
index fc54cf4..4bc8eff 100644
--- a/package.json
+++ b/package.json
@@ -23,7 +23,7 @@
"grunt-banana-checker": "0.13.0",
"grunt-eslint": "24.3.0",
"grunt-stylelint": "0.20.1",
- "jsdoc-wmf-theme": "1.2.0",
+ "jsdoc-wmf-theme": "1.3.0",
"stylelint-config-wikimedia": "0.18.0"
}
}
--
2.47.3
--- end ---