This run took 89 seconds.
From 1ead810bac020f36ed5dc7a5619483fe1eec99d5 Mon Sep 17 00:00:00 2001
From: libraryupgrader <tools.libraryupgrader@tools.wmflabs.org>
Date: Sat, 18 Jul 2026 08:13:27 +0000
Subject: [PATCH] build: Updating stylelint-config-wikimedia to 0.19.3
Change-Id: I19b6af87db841cd696b8c75b91d0cfadbbf09fc8
---
package-lock.json | 14 +++++++-------
package.json | 2 +-
2 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/package-lock.json b/package-lock.json
index 4a61af2..1e28a7f 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -20,7 +20,7 @@
"jasmine": "^5.5.0",
"module-alias": "^2.2.3",
"sinon": "^19.0.0",
- "stylelint-config-wikimedia": "0.19.2",
+ "stylelint-config-wikimedia": "0.19.3",
"unexpected": "^13.2.1"
}
},
@@ -7341,9 +7341,9 @@
}
},
"node_modules/stylelint-config-wikimedia": {
- "version": "0.19.2",
- "resolved": "https://registry.npmjs.org/stylelint-config-wikimedia/-/stylelint-config-wikimedia-0.19.2.tgz",
- "integrity": "sha512-GTz6SmNbbrjXJpEVussRBtsE2703BSUo5R4PRR3f+o1j1h6ngyyH3/qKJ7oZzlkRMHpJHVtAS9h1emIAvc/XWw==",
+ "version": "0.19.3",
+ "resolved": "https://registry.npmjs.org/stylelint-config-wikimedia/-/stylelint-config-wikimedia-0.19.3.tgz",
+ "integrity": "sha512-90nh8DneSoP44tCBXLBiKkeyAPahdkCzqenKsK66tIUNghEjecfJXDkFmawPmpsUoa07O9ckBOnDZAkrvMaLfg==",
"dev": true,
"dependencies": {
"@stylistic/stylelint-config": "5.0.0",
@@ -14081,9 +14081,9 @@
"requires": {}
},
"stylelint-config-wikimedia": {
- "version": "0.19.2",
- "resolved": "https://registry.npmjs.org/stylelint-config-wikimedia/-/stylelint-config-wikimedia-0.19.2.tgz",
- "integrity": "sha512-GTz6SmNbbrjXJpEVussRBtsE2703BSUo5R4PRR3f+o1j1h6ngyyH3/qKJ7oZzlkRMHpJHVtAS9h1emIAvc/XWw==",
+ "version": "0.19.3",
+ "resolved": "https://registry.npmjs.org/stylelint-config-wikimedia/-/stylelint-config-wikimedia-0.19.3.tgz",
+ "integrity": "sha512-90nh8DneSoP44tCBXLBiKkeyAPahdkCzqenKsK66tIUNghEjecfJXDkFmawPmpsUoa07O9ckBOnDZAkrvMaLfg==",
"dev": true,
"requires": {
"@stylistic/stylelint-config": "5.0.0",
diff --git a/package.json b/package.json
index 441d4ca..2995daf 100644
--- a/package.json
+++ b/package.json
@@ -23,7 +23,7 @@
"jasmine": "^5.5.0",
"module-alias": "^2.2.3",
"sinon": "^19.0.0",
- "stylelint-config-wikimedia": "0.19.2",
+ "stylelint-config-wikimedia": "0.19.3",
"unexpected": "^13.2.1"
},
"_moduleAliases": {
--
2.47.3
$ date
--- stdout ---
Sat Jul 18 08:12:13 UTC 2026
--- end ---
$ git clone file:///srv/git/mediawiki-extensions-WikibaseQualityConstraints.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 ---
f2d29a94f3d84671e1636391d478605b0d1540c6 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": [
"sinon"
],
"range": "6.0.0 - 8.0.2",
"nodes": [
"node_modules/sinon/node_modules/diff"
],
"fixAvailable": {
"name": "sinon",
"version": "22.0.0",
"isSemVerMajor": true
}
},
"grunt": {
"name": "grunt",
"severity": "high",
"isDirect": true,
"via": [
"js-yaml",
"minimatch"
],
"effects": [
"grunt-eslint",
"grunt-jasmine-nodejs"
],
"range": ">=0.4.0-a",
"nodes": [
"node_modules/grunt"
],
"fixAvailable": false
},
"grunt-eslint": {
"name": "grunt-eslint",
"severity": "moderate",
"isDirect": true,
"via": [
"grunt"
],
"effects": [],
"range": "<=1.0.0 || >=18.1.0",
"nodes": [
"node_modules/grunt-eslint"
],
"fixAvailable": {
"name": "grunt-eslint",
"version": "18.0.0",
"isSemVerMajor": true
}
},
"grunt-jasmine-nodejs": {
"name": "grunt-jasmine-nodejs",
"severity": "moderate",
"isDirect": true,
"via": [
"grunt"
],
"effects": [],
"range": "*",
"nodes": [
"node_modules/grunt-jasmine-nodejs"
],
"fixAvailable": false
},
"js-yaml": {
"name": "js-yaml",
"severity": "moderate",
"isDirect": false,
"via": [
{
"source": 1121859,
"name": "js-yaml",
"dependency": "js-yaml",
"title": "JS-YAML: Quadratic-complexity DoS in merge key handling via repeated aliases",
"url": "https://github.com/advisories/GHSA-h67p-54hq-rp68",
"severity": "moderate",
"cwe": [
"CWE-407"
],
"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": "<3.15.0"
}
],
"effects": [
"grunt"
],
"range": "<3.15.0",
"nodes": [
"node_modules/js-yaml"
],
"fixAvailable": false
},
"minimatch": {
"name": "minimatch",
"severity": "high",
"isDirect": false,
"via": [
{
"source": 1113459,
"name": "minimatch",
"dependency": "minimatch",
"title": "minimatch has a ReDoS via repeated wildcards with non-matching literal in pattern",
"url": "https://github.com/advisories/GHSA-3ppc-4f35-3m26",
"severity": "high",
"cwe": [
"CWE-1333"
],
"cvss": {
"score": 0,
"vectorString": null
},
"range": "<3.1.3"
},
{
"source": 1113538,
"name": "minimatch",
"dependency": "minimatch",
"title": "minimatch has ReDoS: matchOne() combinatorial backtracking via multiple non-adjacent GLOBSTAR segments",
"url": "https://github.com/advisories/GHSA-7r86-cg39-jmmj",
"severity": "high",
"cwe": [
"CWE-407"
],
"cvss": {
"score": 7.5,
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
},
"range": "<3.1.3"
},
{
"source": 1113546,
"name": "minimatch",
"dependency": "minimatch",
"title": "minimatch ReDoS: nested *() extglobs generate catastrophically backtracking regular expressions",
"url": "https://github.com/advisories/GHSA-23c5-xmqv-rm74",
"severity": "high",
"cwe": [
"CWE-1333"
],
"cvss": {
"score": 7.5,
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
},
"range": "<3.1.4"
}
],
"effects": [
"grunt"
],
"range": "<=3.1.3",
"nodes": [
"node_modules/minimatch"
],
"fixAvailable": false
},
"sinon": {
"name": "sinon",
"severity": "low",
"isDirect": true,
"via": [
"diff"
],
"effects": [],
"range": "19.0.0 - 21.0.0",
"nodes": [
"node_modules/sinon"
],
"fixAvailable": {
"name": "sinon",
"version": "22.0.0",
"isSemVerMajor": true
}
}
},
"metadata": {
"vulnerabilities": {
"info": 0,
"low": 2,
"moderate": 3,
"high": 2,
"critical": 0,
"total": 7
},
"dependencies": {
"prod": 1,
"dev": 711,
"optional": 2,
"peer": 16,
"peerOptional": 0,
"total": 711
}
}
}
--- 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: 47 installs, 0 updates, 0 removals
- Locking composer/pcre (3.4.0)
- 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 data-values/common (1.2.0)
- Locking data-values/data-values (3.1.1)
- Locking data-values/geo (4.6.0)
- Locking data-values/interfaces (1.2.0)
- Locking data-values/number (0.13.0)
- Locking data-values/serialization (1.2.5)
- Locking data-values/time (1.2.0)
- 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.3)
- Locking psr/container (2.0.2)
- Locking psr/log (3.0.2)
- Locking sabre/event (6.1.1)
- Locking serialization/serialization (4.1.0)
- Locking squizlabs/php_codesniffer (3.13.5)
- Locking symfony/console (v8.1.1)
- Locking symfony/deprecation-contracts (v3.7.1)
- 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.2)
- Locking symfony/polyfill-php85 (v1.38.1)
- Locking symfony/service-contracts (v3.7.1)
- Locking symfony/string (v8.1.0)
- Locking webmozart/assert (2.4.1)
- Locking wikimedia/purtle (v2.0.0)
Writing lock file
Installing dependencies from lock file (including require-dev)
Package operations: 47 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.4.0): Extracting archive
- Installing data-values/interfaces (1.2.0): Extracting archive
- Installing data-values/data-values (3.1.1): Extracting archive
- Installing data-values/geo (4.6.0): Extracting archive
- Installing data-values/common (1.2.0): Extracting archive
- Installing data-values/number (0.13.0): Extracting archive
- Installing serialization/serialization (4.1.0): Extracting archive
- Installing data-values/serialization (1.2.5): Extracting archive
- Installing data-values/time (1.2.0): Extracting archive
- Installing phpcsstandards/phpcsutils (1.2.2): Extracting archive
- Installing phpcsstandards/phpcsextra (1.5.0): Extracting archive
- Installing symfony/polyfill-mbstring (v1.38.2): 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.1): Extracting archive
- Installing psr/container (2.0.2): Extracting archive
- Installing symfony/service-contracts (v3.7.1): Extracting archive
- Installing symfony/polyfill-php85 (v1.38.1): Extracting archive
- Installing symfony/console (v8.1.1): Extracting archive
- Installing sabre/event (6.1.1): 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.1): Extracting archive
- Installing phpstan/phpdoc-parser (2.3.3): 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
- Installing wikimedia/purtle (v2.0.0): Extracting archive
0/45 [>---------------------------] 0%
26/45 [================>-----------] 57%
44/45 [===========================>] 97%
45/45 [============================] 100%
1 package suggestions were added by new dependencies, use `composer suggest` to see details.
Generating autoload files
19 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:stylelint-config-wikimedia from 0.19.2 -> 0.19.3
$ /usr/bin/npm install
--- stderr ---
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE package: 'grunt-stylelint@0.21.0',
npm WARN EBADENGINE required: { node: '>=20.19.5' },
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@7.1.7: 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 711 packages, and audited 712 packages in 7s
174 packages are looking for funding
run `npm fund` for details
7 vulnerabilities (2 low, 3 moderate, 2 high)
To address all issues possible (including breaking changes), run:
npm audit fix --force
Some issues need review, and may require choosing
a different dependency.
Run `npm audit` for details.
--- end ---
$ package-lock-lint /src/repo/package-lock.json
--- stdout ---
Checking /src/repo/package-lock.json
--- end ---
$ ./node_modules/.bin/grunt stylelint
--- stdout ---
Running "stylelint:all" (stylelint) task
>> Linted 5 files without errors
Done.
--- end ---
$ /usr/bin/npm ci
--- stderr ---
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE package: 'grunt-stylelint@0.21.0',
npm WARN EBADENGINE required: { node: '>=20.19.5' },
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@7.1.7: 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 711 packages, and audited 712 packages in 14s
174 packages are looking for funding
run `npm fund` for details
7 vulnerabilities (2 low, 3 moderate, 2 high)
To address all issues possible (including breaking changes), run:
npm audit fix --force
Some issues need review, and may require choosing
a different dependency.
Run `npm audit` for details.
--- end ---
$ /usr/bin/npm test
--- stdout ---
> test
> grunt test
Running "eslint:all" (eslint) task
/src/repo/modules/gadget.js
411:19 warning OOUI button has no label. Even icon-only buttons should set a label with invisibleLabel set to true mediawiki/no-unlabeled-buttonwidget
✖ 1 problem (0 errors, 1 warning)
Running "banana:WikibaseQualityConstraints" (banana) task
>> 2 message directories checked.
Running "jasmine_nodejs:all" (jasmine_nodejs) task
>> Executing 34 defined specs...
Test Suites & Specs:
1) wikibase.quality.constraints.gadget
2) _addReportsToStatement
✔ extracts result for statement with property id and statement id
✔ adds results to qualifiers
✔ adds results to main snak
✔ adds results to references
3) _fullCheckAllIds
✔ chunks requests and combines their responses
4) _getEntityDataByStatementId
✔ returns null when the statementId isn't present
✔ extracts the entity data when the statementId exists
5) _extractResultsForStatement
✔ finds constraint violation result in entity data
6) default behavior
✔ sets entity from newFromEntityLoadedHook
✔ checks if wbIsEditView true
✔ gets entity id from wbEntityId
✔ runs a fullCheck once mw loader is done and entityView.rendered fires
✔ invokes mw loader and resumes once it is ready
7) config
✔ can be overwritten by constructor parameter
✔ has default values
8) fullCheck
✔ calls api with correct parameters
✔ tracks usage
✔ uses api response to update DOM statements
9) setting and getting an entity
✔ gets the same entity as set
10) snakCheck
✔ calls api with statement id
✔ adds reports to statement from response
✔ runs a full check
✔ exports an invokable module
11) wikibase.quality.constraints.suggestions.EntitySelectorHookHandler
12) getSearchHandler
✔ Returns a handler function
13) returned search handler
✔ calls passed callback
✔ doesn't call passed callback for items with qualifier context
✔ doesn't call passed callback for properties without qualifier context
✔ exports an invokable module
14) wikibase.quality.constraints.gadget with wbui2025
✔ calls api with correct parameters
✔ adds single issues (on main snak + qualifier) to the store
✔ clears issues (on main snak + qualifier) if they were previously set and then removed
✔ clear issues on reference if they are no longer present
✔ adds multiple issues (on reference) to the store, including advanced issues
✔ does not add anything if the only issue is "advanced"
>> Done!
Summary:
Suites: 14 of 14
Specs: 34 of 34
Expects: 0 (0 failures)
Finished in 0.170 seconds
>> Successful!
Running "stylelint:all" (stylelint) task
>> Linted 5 files without errors
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": [
"sinon"
],
"range": "6.0.0 - 8.0.2",
"nodes": [
"node_modules/sinon/node_modules/diff"
],
"fixAvailable": {
"name": "sinon",
"version": "22.0.0",
"isSemVerMajor": true
}
},
"grunt": {
"name": "grunt",
"severity": "high",
"isDirect": true,
"via": [
"js-yaml",
"minimatch"
],
"effects": [
"grunt-eslint",
"grunt-jasmine-nodejs"
],
"range": ">=0.4.0-a",
"nodes": [
"node_modules/grunt"
],
"fixAvailable": false
},
"grunt-eslint": {
"name": "grunt-eslint",
"severity": "moderate",
"isDirect": true,
"via": [
"grunt"
],
"effects": [],
"range": "<=1.0.0 || >=18.1.0",
"nodes": [
"node_modules/grunt-eslint"
],
"fixAvailable": {
"name": "grunt-eslint",
"version": "18.0.0",
"isSemVerMajor": true
}
},
"grunt-jasmine-nodejs": {
"name": "grunt-jasmine-nodejs",
"severity": "moderate",
"isDirect": true,
"via": [
"grunt"
],
"effects": [],
"range": "*",
"nodes": [
"node_modules/grunt-jasmine-nodejs"
],
"fixAvailable": false
},
"js-yaml": {
"name": "js-yaml",
"severity": "moderate",
"isDirect": false,
"via": [
{
"source": 1121859,
"name": "js-yaml",
"dependency": "js-yaml",
"title": "JS-YAML: Quadratic-complexity DoS in merge key handling via repeated aliases",
"url": "https://github.com/advisories/GHSA-h67p-54hq-rp68",
"severity": "moderate",
"cwe": [
"CWE-407"
],
"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": "<3.15.0"
}
],
"effects": [
"grunt"
],
"range": "<3.15.0",
"nodes": [
"node_modules/js-yaml"
],
"fixAvailable": false
},
"minimatch": {
"name": "minimatch",
"severity": "high",
"isDirect": false,
"via": [
{
"source": 1113459,
"name": "minimatch",
"dependency": "minimatch",
"title": "minimatch has a ReDoS via repeated wildcards with non-matching literal in pattern",
"url": "https://github.com/advisories/GHSA-3ppc-4f35-3m26",
"severity": "high",
"cwe": [
"CWE-1333"
],
"cvss": {
"score": 0,
"vectorString": null
},
"range": "<3.1.3"
},
{
"source": 1113538,
"name": "minimatch",
"dependency": "minimatch",
"title": "minimatch has ReDoS: matchOne() combinatorial backtracking via multiple non-adjacent GLOBSTAR segments",
"url": "https://github.com/advisories/GHSA-7r86-cg39-jmmj",
"severity": "high",
"cwe": [
"CWE-407"
],
"cvss": {
"score": 7.5,
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
},
"range": "<3.1.3"
},
{
"source": 1113546,
"name": "minimatch",
"dependency": "minimatch",
"title": "minimatch ReDoS: nested *() extglobs generate catastrophically backtracking regular expressions",
"url": "https://github.com/advisories/GHSA-23c5-xmqv-rm74",
"severity": "high",
"cwe": [
"CWE-1333"
],
"cvss": {
"score": 7.5,
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
},
"range": "<3.1.4"
}
],
"effects": [
"grunt"
],
"range": "<=3.1.3",
"nodes": [
"node_modules/minimatch"
],
"fixAvailable": false
},
"sinon": {
"name": "sinon",
"severity": "low",
"isDirect": true,
"via": [
"diff"
],
"effects": [],
"range": "19.0.0 - 21.0.0",
"nodes": [
"node_modules/sinon"
],
"fixAvailable": {
"name": "sinon",
"version": "22.0.0",
"isSemVerMajor": true
}
}
},
"metadata": {
"vulnerabilities": {
"info": 0,
"low": 2,
"moderate": 3,
"high": 2,
"critical": 0,
"total": 7
},
"dependencies": {
"prod": 1,
"dev": 711,
"optional": 2,
"peer": 16,
"peerOptional": 0,
"total": 711
}
}
}
--- 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: 'grunt-stylelint@0.21.0',
npm WARN EBADENGINE required: { node: '>=20.19.5' },
npm WARN EBADENGINE current: { node: 'v20.19.2', npm: '9.2.0' }
npm WARN EBADENGINE }
--- stdout ---
{
"added": 0,
"removed": 0,
"changed": 0,
"audited": 712,
"funding": 174,
"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": [
"sinon"
],
"range": "6.0.0 - 8.0.2",
"nodes": [
"node_modules/sinon/node_modules/diff"
],
"fixAvailable": {
"name": "sinon",
"version": "22.0.0",
"isSemVerMajor": true
}
},
"grunt": {
"name": "grunt",
"severity": "high",
"isDirect": true,
"via": [
"js-yaml",
"minimatch"
],
"effects": [
"grunt-eslint",
"grunt-jasmine-nodejs"
],
"range": ">=0.4.0-a",
"nodes": [
"node_modules/grunt"
],
"fixAvailable": false
},
"grunt-eslint": {
"name": "grunt-eslint",
"severity": "moderate",
"isDirect": true,
"via": [
"grunt"
],
"effects": [],
"range": "<=1.0.0 || >=18.1.0",
"nodes": [
"node_modules/grunt-eslint"
],
"fixAvailable": {
"name": "grunt-eslint",
"version": "18.0.0",
"isSemVerMajor": true
}
},
"grunt-jasmine-nodejs": {
"name": "grunt-jasmine-nodejs",
"severity": "moderate",
"isDirect": true,
"via": [
"grunt"
],
"effects": [],
"range": "*",
"nodes": [
"node_modules/grunt-jasmine-nodejs"
],
"fixAvailable": false
},
"js-yaml": {
"name": "js-yaml",
"severity": "moderate",
"isDirect": false,
"via": [
{
"source": 1121859,
"name": "js-yaml",
"dependency": "js-yaml",
"title": "JS-YAML: Quadratic-complexity DoS in merge key handling via repeated aliases",
"url": "https://github.com/advisories/GHSA-h67p-54hq-rp68",
"severity": "moderate",
"cwe": [
"CWE-407"
],
"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": "<3.15.0"
}
],
"effects": [
"grunt"
],
"range": "<3.15.0",
"nodes": [
"node_modules/js-yaml"
],
"fixAvailable": false
},
"minimatch": {
"name": "minimatch",
"severity": "high",
"isDirect": false,
"via": [
{
"source": 1113459,
"name": "minimatch",
"dependency": "minimatch",
"title": "minimatch has a ReDoS via repeated wildcards with non-matching literal in pattern",
"url": "https://github.com/advisories/GHSA-3ppc-4f35-3m26",
"severity": "high",
"cwe": [
"CWE-1333"
],
"cvss": {
"score": 0,
"vectorString": null
},
"range": "<3.1.3"
},
{
"source": 1113538,
"name": "minimatch",
"dependency": "minimatch",
"title": "minimatch has ReDoS: matchOne() combinatorial backtracking via multiple non-adjacent GLOBSTAR segments",
"url": "https://github.com/advisories/GHSA-7r86-cg39-jmmj",
"severity": "high",
"cwe": [
"CWE-407"
],
"cvss": {
"score": 7.5,
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
},
"range": "<3.1.3"
},
{
"source": 1113546,
"name": "minimatch",
"dependency": "minimatch",
"title": "minimatch ReDoS: nested *() extglobs generate catastrophically backtracking regular expressions",
"url": "https://github.com/advisories/GHSA-23c5-xmqv-rm74",
"severity": "high",
"cwe": [
"CWE-1333"
],
"cvss": {
"score": 7.5,
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
},
"range": "<3.1.4"
}
],
"effects": [
"grunt"
],
"range": "<=3.1.3",
"nodes": [
"node_modules/minimatch"
],
"fixAvailable": false
},
"sinon": {
"name": "sinon",
"severity": "low",
"isDirect": true,
"via": [
"diff"
],
"effects": [],
"range": "19.0.0 - 21.0.0",
"nodes": [
"node_modules/sinon"
],
"fixAvailable": {
"name": "sinon",
"version": "22.0.0",
"isSemVerMajor": true
}
}
},
"metadata": {
"vulnerabilities": {
"info": 0,
"low": 2,
"moderate": 3,
"high": 2,
"critical": 0,
"total": 7
},
"dependencies": {
"prod": 1,
"dev": 711,
"optional": 2,
"peer": 16,
"peerOptional": 0,
"total": 711
}
}
}
}
--- end ---
{"added": 0, "removed": 0, "changed": 0, "audited": 712, "funding": 174, "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": ["sinon"], "range": "6.0.0 - 8.0.2", "nodes": ["node_modules/sinon/node_modules/diff"], "fixAvailable": {"name": "sinon", "version": "22.0.0", "isSemVerMajor": true}}, "grunt": {"name": "grunt", "severity": "high", "isDirect": true, "via": ["js-yaml", "minimatch"], "effects": ["grunt-eslint", "grunt-jasmine-nodejs"], "range": ">=0.4.0-a", "nodes": ["node_modules/grunt"], "fixAvailable": false}, "grunt-eslint": {"name": "grunt-eslint", "severity": "moderate", "isDirect": true, "via": ["grunt"], "effects": [], "range": "<=1.0.0 || >=18.1.0", "nodes": ["node_modules/grunt-eslint"], "fixAvailable": {"name": "grunt-eslint", "version": "18.0.0", "isSemVerMajor": true}}, "grunt-jasmine-nodejs": {"name": "grunt-jasmine-nodejs", "severity": "moderate", "isDirect": true, "via": ["grunt"], "effects": [], "range": "*", "nodes": ["node_modules/grunt-jasmine-nodejs"], "fixAvailable": false}, "js-yaml": {"name": "js-yaml", "severity": "moderate", "isDirect": false, "via": [{"source": 1121859, "name": "js-yaml", "dependency": "js-yaml", "title": "JS-YAML: Quadratic-complexity DoS in merge key handling via repeated aliases", "url": "https://github.com/advisories/GHSA-h67p-54hq-rp68", "severity": "moderate", "cwe": ["CWE-407"], "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": "<3.15.0"}], "effects": ["grunt"], "range": "<3.15.0", "nodes": ["node_modules/js-yaml"], "fixAvailable": false}, "minimatch": {"name": "minimatch", "severity": "high", "isDirect": false, "via": [{"source": 1113459, "name": "minimatch", "dependency": "minimatch", "title": "minimatch has a ReDoS via repeated wildcards with non-matching literal in pattern", "url": "https://github.com/advisories/GHSA-3ppc-4f35-3m26", "severity": "high", "cwe": ["CWE-1333"], "cvss": {"score": 0, "vectorString": null}, "range": "<3.1.3"}, {"source": 1113538, "name": "minimatch", "dependency": "minimatch", "title": "minimatch has ReDoS: matchOne() combinatorial backtracking via multiple non-adjacent GLOBSTAR segments", "url": "https://github.com/advisories/GHSA-7r86-cg39-jmmj", "severity": "high", "cwe": ["CWE-407"], "cvss": {"score": 7.5, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"}, "range": "<3.1.3"}, {"source": 1113546, "name": "minimatch", "dependency": "minimatch", "title": "minimatch ReDoS: nested *() extglobs generate catastrophically backtracking regular expressions", "url": "https://github.com/advisories/GHSA-23c5-xmqv-rm74", "severity": "high", "cwe": ["CWE-1333"], "cvss": {"score": 7.5, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"}, "range": "<3.1.4"}], "effects": ["grunt"], "range": "<=3.1.3", "nodes": ["node_modules/minimatch"], "fixAvailable": false}, "sinon": {"name": "sinon", "severity": "low", "isDirect": true, "via": ["diff"], "effects": [], "range": "19.0.0 - 21.0.0", "nodes": ["node_modules/sinon"], "fixAvailable": {"name": "sinon", "version": "22.0.0", "isSemVerMajor": true}}}, "metadata": {"vulnerabilities": {"info": 0, "low": 2, "moderate": 3, "high": 2, "critical": 0, "total": 7}, "dependencies": {"prod": 1, "dev": 711, "optional": 2, "peer": 16, "peerOptional": 0, "total": 711}}}}
$ /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: 'grunt-stylelint@0.21.0',
npm WARN EBADENGINE required: { node: '>=20.19.5' },
npm WARN EBADENGINE current: { node: 'v20.19.2', npm: '9.2.0' }
npm WARN EBADENGINE }
--- stdout ---
up to date, audited 712 packages in 2s
174 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 --force`
Will install sinon@22.0.0, which is a breaking change
node_modules/sinon/node_modules/diff
sinon 19.0.0 - 21.0.0
Depends on vulnerable versions of diff
node_modules/sinon
js-yaml <3.15.0
Severity: moderate
JS-YAML: Quadratic-complexity DoS in merge key handling via repeated aliases - https://github.com/advisories/GHSA-h67p-54hq-rp68
No fix available
node_modules/js-yaml
grunt >=0.4.0-a
Depends on vulnerable versions of js-yaml
Depends on vulnerable versions of minimatch
node_modules/grunt
grunt-eslint <=1.0.0 || >=18.1.0
Depends on vulnerable versions of grunt
node_modules/grunt-eslint
grunt-jasmine-nodejs *
Depends on vulnerable versions of grunt
node_modules/grunt-jasmine-nodejs
minimatch <=3.1.3
Severity: high
minimatch has a ReDoS via repeated wildcards with non-matching literal in pattern - https://github.com/advisories/GHSA-3ppc-4f35-3m26
minimatch has ReDoS: matchOne() combinatorial backtracking via multiple non-adjacent GLOBSTAR segments - https://github.com/advisories/GHSA-7r86-cg39-jmmj
minimatch ReDoS: nested *() extglobs generate catastrophically backtracking regular expressions - https://github.com/advisories/GHSA-23c5-xmqv-rm74
No fix available
node_modules/minimatch
7 vulnerabilities (2 low, 3 moderate, 2 high)
To address all issues possible (including breaking changes), run:
npm audit fix --force
Some issues need review, and may require choosing
a different dependency.
--- end ---
Verifying that tests still pass
$ /usr/bin/npm ci
--- stderr ---
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE package: 'grunt-stylelint@0.21.0',
npm WARN EBADENGINE required: { node: '>=20.19.5' },
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@7.1.7: 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 711 packages, and audited 712 packages in 10s
174 packages are looking for funding
run `npm fund` for details
7 vulnerabilities (2 low, 3 moderate, 2 high)
To address all issues possible (including breaking changes), run:
npm audit fix --force
Some issues need review, and may require choosing
a different dependency.
Run `npm audit` for details.
--- end ---
$ /usr/bin/npm test
--- stdout ---
> test
> grunt test
Running "eslint:all" (eslint) task
/src/repo/modules/gadget.js
411:19 warning OOUI button has no label. Even icon-only buttons should set a label with invisibleLabel set to true mediawiki/no-unlabeled-buttonwidget
✖ 1 problem (0 errors, 1 warning)
Running "banana:WikibaseQualityConstraints" (banana) task
>> 2 message directories checked.
Running "jasmine_nodejs:all" (jasmine_nodejs) task
>> Executing 34 defined specs...
Test Suites & Specs:
1) wikibase.quality.constraints.suggestions.EntitySelectorHookHandler
2) returned search handler
✔ doesn't call passed callback for items with qualifier context
✔ calls passed callback
✔ doesn't call passed callback for properties without qualifier context
3) getSearchHandler
✔ Returns a handler function
✔ exports an invokable module
4) wikibase.quality.constraints.gadget with wbui2025
✔ adds single issues (on main snak + qualifier) to the store
✔ calls api with correct parameters
✔ clears issues (on main snak + qualifier) if they were previously set and then removed
✔ clear issues on reference if they are no longer present
✔ adds multiple issues (on reference) to the store, including advanced issues
✔ does not add anything if the only issue is "advanced"
5) wikibase.quality.constraints.gadget
6) _extractResultsForStatement
✔ finds constraint violation result in entity data
7) _addReportsToStatement
✔ adds results to references
✔ extracts result for statement with property id and statement id
✔ adds results to qualifiers
✔ adds results to main snak
8) _getEntityDataByStatementId
✔ returns null when the statementId isn't present
✔ extracts the entity data when the statementId exists
9) snakCheck
✔ runs a full check
✔ adds reports to statement from response
✔ calls api with statement id
10) default behavior
✔ invokes mw loader and resumes once it is ready
✔ runs a fullCheck once mw loader is done and entityView.rendered fires
✔ checks if wbIsEditView true
✔ gets entity id from wbEntityId
✔ sets entity from newFromEntityLoadedHook
11) fullCheck
✔ uses api response to update DOM statements
✔ calls api with correct parameters
✔ tracks usage
12) setting and getting an entity
✔ gets the same entity as set
✔ exports an invokable module
13) _fullCheckAllIds
✔ chunks requests and combines their responses
14) config
✔ can be overwritten by constructor parameter
✔ has default values
>> Done!
Summary:
Suites: 14 of 14
Specs: 34 of 34
Expects: 0 (0 failures)
Finished in 0.218 seconds
>> Successful!
Running "stylelint:all" (stylelint) task
>> Linted 5 files without errors
Done.
--- end ---
$ package-lock-lint /src/repo/package-lock.json
--- stdout ---
Checking /src/repo/package-lock.json
--- end ---
build: Updating stylelint-config-wikimedia to 0.19.3
$ git add .
--- stdout ---
--- end ---
$ git commit -F /tmp/tmpuhx0iz8z
--- stdout ---
[master 1ead810] build: Updating stylelint-config-wikimedia to 0.19.3
2 files changed, 8 insertions(+), 8 deletions(-)
--- end ---
$ git format-patch HEAD~1 --stdout
--- stdout ---
From 1ead810bac020f36ed5dc7a5619483fe1eec99d5 Mon Sep 17 00:00:00 2001
From: libraryupgrader <tools.libraryupgrader@tools.wmflabs.org>
Date: Sat, 18 Jul 2026 08:13:27 +0000
Subject: [PATCH] build: Updating stylelint-config-wikimedia to 0.19.3
Change-Id: I19b6af87db841cd696b8c75b91d0cfadbbf09fc8
---
package-lock.json | 14 +++++++-------
package.json | 2 +-
2 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/package-lock.json b/package-lock.json
index 4a61af2..1e28a7f 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -20,7 +20,7 @@
"jasmine": "^5.5.0",
"module-alias": "^2.2.3",
"sinon": "^19.0.0",
- "stylelint-config-wikimedia": "0.19.2",
+ "stylelint-config-wikimedia": "0.19.3",
"unexpected": "^13.2.1"
}
},
@@ -7341,9 +7341,9 @@
}
},
"node_modules/stylelint-config-wikimedia": {
- "version": "0.19.2",
- "resolved": "https://registry.npmjs.org/stylelint-config-wikimedia/-/stylelint-config-wikimedia-0.19.2.tgz",
- "integrity": "sha512-GTz6SmNbbrjXJpEVussRBtsE2703BSUo5R4PRR3f+o1j1h6ngyyH3/qKJ7oZzlkRMHpJHVtAS9h1emIAvc/XWw==",
+ "version": "0.19.3",
+ "resolved": "https://registry.npmjs.org/stylelint-config-wikimedia/-/stylelint-config-wikimedia-0.19.3.tgz",
+ "integrity": "sha512-90nh8DneSoP44tCBXLBiKkeyAPahdkCzqenKsK66tIUNghEjecfJXDkFmawPmpsUoa07O9ckBOnDZAkrvMaLfg==",
"dev": true,
"dependencies": {
"@stylistic/stylelint-config": "5.0.0",
@@ -14081,9 +14081,9 @@
"requires": {}
},
"stylelint-config-wikimedia": {
- "version": "0.19.2",
- "resolved": "https://registry.npmjs.org/stylelint-config-wikimedia/-/stylelint-config-wikimedia-0.19.2.tgz",
- "integrity": "sha512-GTz6SmNbbrjXJpEVussRBtsE2703BSUo5R4PRR3f+o1j1h6ngyyH3/qKJ7oZzlkRMHpJHVtAS9h1emIAvc/XWw==",
+ "version": "0.19.3",
+ "resolved": "https://registry.npmjs.org/stylelint-config-wikimedia/-/stylelint-config-wikimedia-0.19.3.tgz",
+ "integrity": "sha512-90nh8DneSoP44tCBXLBiKkeyAPahdkCzqenKsK66tIUNghEjecfJXDkFmawPmpsUoa07O9ckBOnDZAkrvMaLfg==",
"dev": true,
"requires": {
"@stylistic/stylelint-config": "5.0.0",
diff --git a/package.json b/package.json
index 441d4ca..2995daf 100644
--- a/package.json
+++ b/package.json
@@ -23,7 +23,7 @@
"jasmine": "^5.5.0",
"module-alias": "^2.2.3",
"sinon": "^19.0.0",
- "stylelint-config-wikimedia": "0.19.2",
+ "stylelint-config-wikimedia": "0.19.3",
"unexpected": "^13.2.1"
},
"_moduleAliases": {
--
2.47.3
--- end ---