This run took 38 seconds.
$ date
--- stdout ---
Fri Jan 16 06:32:12 UTC 2026
--- end ---
$ git clone file:///srv/git/mediawiki-skins-SimpleText.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 ---
7ff928f0b7ba1406c48fbc0c7703eb014ac99714 refs/heads/master
--- end ---
$ /usr/bin/npm audit --json
--- stdout ---
{
"auditReportVersion": 2,
"vulnerabilities": {
"@prantlf/jsonlint": {
"name": "@prantlf/jsonlint",
"severity": "low",
"isDirect": false,
"via": [
"diff"
],
"effects": [
"grunt-jsonlint"
],
"range": ">=11.4.0",
"nodes": [
"node_modules/@prantlf/jsonlint"
],
"fixAvailable": {
"name": "grunt-jsonlint",
"version": "2.1.5",
"isSemVerMajor": true
}
},
"diff": {
"name": "diff",
"severity": "low",
"isDirect": false,
"via": [
{
"source": 1112148,
"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": "<8.0.3"
}
],
"effects": [
"@prantlf/jsonlint"
],
"range": "<8.0.3",
"nodes": [
"node_modules/diff"
],
"fixAvailable": {
"name": "grunt-jsonlint",
"version": "2.1.5",
"isSemVerMajor": true
}
},
"grunt-jsonlint": {
"name": "grunt-jsonlint",
"severity": "low",
"isDirect": true,
"via": [
"@prantlf/jsonlint"
],
"effects": [],
"range": ">=3.0.0",
"nodes": [
"node_modules/grunt-jsonlint"
],
"fixAvailable": {
"name": "grunt-jsonlint",
"version": "2.1.5",
"isSemVerMajor": true
}
}
},
"metadata": {
"vulnerabilities": {
"info": 0,
"low": 3,
"moderate": 0,
"high": 0,
"critical": 0,
"total": 3
},
"dependencies": {
"prod": 1,
"dev": 445,
"optional": 0,
"peer": 1,
"peerOptional": 0,
"total": 445
}
}
}
--- 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.5.9)
- Locking dealerdirect/phpcodesniffer-composer-installer (v1.2.0)
- Locking mediawiki/mediawiki-codesniffer (v49.0.0)
- Locking mediawiki/minus-x (1.1.3)
- 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.4.0)
- Locking phpcsstandards/phpcsutils (1.2.2)
- Locking psr/container (2.0.2)
- Locking squizlabs/php_codesniffer (3.13.5)
- Locking symfony/console (v7.4.3)
- Locking symfony/deprecation-contracts (v3.6.0)
- Locking symfony/polyfill-ctype (v1.33.0)
- Locking symfony/polyfill-intl-grapheme (v1.33.0)
- Locking symfony/polyfill-intl-normalizer (v1.33.0)
- Locking symfony/polyfill-mbstring (v1.33.0)
- Locking symfony/service-contracts (v3.6.1)
- Locking symfony/string (v8.0.1)
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.0): Extracting archive
- Installing phpcsstandards/phpcsutils (1.2.2): Extracting archive
- Installing phpcsstandards/phpcsextra (1.4.0): Extracting archive
- Installing symfony/polyfill-mbstring (v1.33.0): Extracting archive
- Installing composer/spdx-licenses (1.5.9): Extracting archive
- Installing composer/semver (3.4.4): Extracting archive
- Installing mediawiki/mediawiki-codesniffer (v49.0.0): Extracting archive
- Installing symfony/polyfill-intl-normalizer (v1.33.0): Extracting archive
- Installing symfony/polyfill-intl-grapheme (v1.33.0): Extracting archive
- Installing symfony/polyfill-ctype (v1.33.0): Extracting archive
- Installing symfony/string (v8.0.1): Extracting archive
- Installing symfony/deprecation-contracts (v3.6.0): Extracting archive
- Installing psr/container (2.0.2): Extracting archive
- Installing symfony/service-contracts (v3.6.1): Extracting archive
- Installing symfony/console (v7.4.3): Extracting archive
- Installing mediawiki/minus-x (1.1.3): 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": {
"@prantlf/jsonlint": {
"name": "@prantlf/jsonlint",
"severity": "low",
"isDirect": false,
"via": [
"diff"
],
"effects": [
"grunt-jsonlint"
],
"range": ">=11.4.0",
"nodes": [
"node_modules/@prantlf/jsonlint"
],
"fixAvailable": {
"name": "grunt-jsonlint",
"version": "2.1.5",
"isSemVerMajor": true
}
},
"diff": {
"name": "diff",
"severity": "low",
"isDirect": false,
"via": [
{
"source": 1112148,
"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": "<8.0.3"
}
],
"effects": [
"@prantlf/jsonlint"
],
"range": "<8.0.3",
"nodes": [
"node_modules/diff"
],
"fixAvailable": {
"name": "grunt-jsonlint",
"version": "2.1.5",
"isSemVerMajor": true
}
},
"grunt-jsonlint": {
"name": "grunt-jsonlint",
"severity": "low",
"isDirect": true,
"via": [
"@prantlf/jsonlint"
],
"effects": [],
"range": ">=3.0.0",
"nodes": [
"node_modules/grunt-jsonlint"
],
"fixAvailable": {
"name": "grunt-jsonlint",
"version": "2.1.5",
"isSemVerMajor": true
}
}
},
"metadata": {
"vulnerabilities": {
"info": 0,
"low": 3,
"moderate": 0,
"high": 0,
"critical": 0,
"total": 3
},
"dependencies": {
"prod": 1,
"dev": 445,
"optional": 0,
"peer": 1,
"peerOptional": 0,
"total": 445
}
}
}
--- 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": 445,
"removed": 0,
"changed": 0,
"audited": 446,
"funding": 108,
"audit": {
"auditReportVersion": 2,
"vulnerabilities": {
"@prantlf/jsonlint": {
"name": "@prantlf/jsonlint",
"severity": "low",
"isDirect": false,
"via": [
"diff"
],
"effects": [
"grunt-jsonlint"
],
"range": ">=11.4.0",
"nodes": [
"node_modules/@prantlf/jsonlint"
],
"fixAvailable": {
"name": "grunt-jsonlint",
"version": "2.1.5",
"isSemVerMajor": true
}
},
"diff": {
"name": "diff",
"severity": "low",
"isDirect": false,
"via": [
{
"source": 1112148,
"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": "<8.0.3"
}
],
"effects": [
"@prantlf/jsonlint"
],
"range": "<8.0.3",
"nodes": [
"node_modules/diff"
],
"fixAvailable": {
"name": "grunt-jsonlint",
"version": "2.1.5",
"isSemVerMajor": true
}
},
"grunt-jsonlint": {
"name": "grunt-jsonlint",
"severity": "low",
"isDirect": true,
"via": [
"@prantlf/jsonlint"
],
"effects": [],
"range": ">=3.0.0",
"nodes": [
"node_modules/grunt-jsonlint"
],
"fixAvailable": {
"name": "grunt-jsonlint",
"version": "2.1.5",
"isSemVerMajor": true
}
}
},
"metadata": {
"vulnerabilities": {
"info": 0,
"low": 3,
"moderate": 0,
"high": 0,
"critical": 0,
"total": 3
},
"dependencies": {
"prod": 1,
"dev": 445,
"optional": 0,
"peer": 1,
"peerOptional": 0,
"total": 445
}
}
}
}
--- end ---
{"added": 445, "removed": 0, "changed": 0, "audited": 446, "funding": 108, "audit": {"auditReportVersion": 2, "vulnerabilities": {"@prantlf/jsonlint": {"name": "@prantlf/jsonlint", "severity": "low", "isDirect": false, "via": ["diff"], "effects": ["grunt-jsonlint"], "range": ">=11.4.0", "nodes": ["node_modules/@prantlf/jsonlint"], "fixAvailable": {"name": "grunt-jsonlint", "version": "2.1.5", "isSemVerMajor": true}}, "diff": {"name": "diff", "severity": "low", "isDirect": false, "via": [{"source": 1112148, "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": "<8.0.3"}], "effects": ["@prantlf/jsonlint"], "range": "<8.0.3", "nodes": ["node_modules/diff"], "fixAvailable": {"name": "grunt-jsonlint", "version": "2.1.5", "isSemVerMajor": true}}, "grunt-jsonlint": {"name": "grunt-jsonlint", "severity": "low", "isDirect": true, "via": ["@prantlf/jsonlint"], "effects": [], "range": ">=3.0.0", "nodes": ["node_modules/grunt-jsonlint"], "fixAvailable": {"name": "grunt-jsonlint", "version": "2.1.5", "isSemVerMajor": true}}}, "metadata": {"vulnerabilities": {"info": 0, "low": 3, "moderate": 0, "high": 0, "critical": 0, "total": 3}, "dependencies": {"prod": 1, "dev": 445, "optional": 0, "peer": 1, "peerOptional": 0, "total": 445}}}}
$ /usr/bin/npm audit fix --only=dev
--- stderr ---
npm WARN invalid config only="dev" set in command line options
npm WARN invalid config Must be one of: null, prod, production
npm WARN deprecated osenv@0.1.5: This package is no longer supported.
npm WARN deprecated inflight@1.0.6: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.
npm WARN deprecated @humanwhocodes/config-array@0.13.0: Use @eslint/config-array instead
npm WARN deprecated rimraf@3.0.2: Rimraf versions prior to v4 are no longer supported
npm WARN deprecated @humanwhocodes/object-schema@2.0.3: Use @eslint/object-schema instead
npm WARN deprecated glob@7.1.7: Glob versions prior to v9 are no longer supported
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 445 packages, and audited 446 packages in 5s
108 packages are looking for funding
run `npm fund` for details
# npm audit report
diff <8.0.3
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 grunt-jsonlint@2.1.5, which is a breaking change
node_modules/diff
@prantlf/jsonlint >=11.4.0
Depends on vulnerable versions of diff
node_modules/@prantlf/jsonlint
grunt-jsonlint >=3.0.0
Depends on vulnerable versions of @prantlf/jsonlint
node_modules/grunt-jsonlint
3 low severity vulnerabilities
To address all issues (including breaking changes), run:
npm audit fix --force
--- end ---
Verifying that tests still pass
$ /usr/bin/npm ci
--- stderr ---
npm WARN deprecated osenv@0.1.5: This package is no longer supported.
npm WARN deprecated inflight@1.0.6: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.
npm WARN deprecated @humanwhocodes/config-array@0.13.0: Use @eslint/config-array instead
npm WARN deprecated rimraf@3.0.2: Rimraf versions prior to v4 are no longer supported
npm WARN deprecated @humanwhocodes/object-schema@2.0.3: Use @eslint/object-schema instead
npm WARN deprecated glob@7.1.7: Glob versions prior to v9 are no longer supported
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 445 packages, and audited 446 packages in 5s
108 packages are looking for funding
run `npm fund` for details
3 low severity vulnerabilities
To address all issues (including breaking changes), run:
npm audit fix --force
Run `npm audit` for details.
--- end ---
$ /usr/bin/npm test
--- stderr ---
[baseline-browser-mapping] The data in this module is over two months old. To ensure accurate Baseline data, please update: `npm i baseline-browser-mapping@latest -D`
--- stdout ---
> test
> grunt
Running "eslint:all" (eslint) task
Running "jsonlint:all" (jsonlint) task
>> 6 files lint free.
Running "banana:all" (banana) task
>> 1 message directory checked.
Running "stylelint:all" (stylelint) task
>> Linted 3 files without errors
Done.
--- end ---
$ package-lock-lint /src/repo/package-lock.json
--- stdout ---
Checking /src/repo/package-lock.json
--- end ---
[DNM] there are no updates
$ git add .
--- stdout ---
--- end ---
$ git commit -F /tmp/tmp22njuctz
--- stdout ---
On branch master
Your branch is up to date with 'origin/master'.
nothing to commit, working tree clean
--- end ---