$ date
--- stdout ---
Mon Mar 31 07:56:33 UTC 2025
--- end ---
$ git clone file:///srv/git/mediawiki-extensions-WikiForum.git repo --depth=1 -b master
--- stderr ---
Cloning into '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 ---
a6d1cc49f3479b8c6bbfde7dae1f058aa4bf12a6 refs/heads/master
--- end ---
$ /usr/bin/npm audit --json
--- stdout ---
{
"auditReportVersion": 2,
"vulnerabilities": {
"cross-spawn": {
"name": "cross-spawn",
"severity": "high",
"isDirect": false,
"via": [
{
"source": 1100563,
"name": "cross-spawn",
"dependency": "cross-spawn",
"title": "Regular Expression Denial of Service (ReDoS) in cross-spawn",
"url": "https://github.com/advisories/GHSA-3xgq-45jj-v275",
"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": ">=7.0.0 <7.0.5"
}
],
"effects": [],
"range": "7.0.0 - 7.0.4",
"nodes": [
"node_modules/cross-spawn"
],
"fixAvailable": true
},
"nanoid": {
"name": "nanoid",
"severity": "moderate",
"isDirect": false,
"via": [
{
"source": 1101163,
"name": "nanoid",
"dependency": "nanoid",
"title": "Predictable results in nanoid generation when given non-integer values",
"url": "https://github.com/advisories/GHSA-mwcw-c2x4-8c55",
"severity": "moderate",
"cwe": [
"CWE-835"
],
"cvss": {
"score": 4.3,
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N"
},
"range": "<3.3.8"
}
],
"effects": [],
"range": "<3.3.8",
"nodes": [
"node_modules/nanoid"
],
"fixAvailable": true
}
},
"metadata": {
"vulnerabilities": {
"info": 0,
"low": 0,
"moderate": 1,
"high": 1,
"critical": 0,
"total": 2
},
"dependencies": {
"prod": 1,
"dev": 418,
"optional": 0,
"peer": 1,
"peerOptional": 0,
"total": 418
}
}
}
--- 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: 21 installs, 0 updates, 0 removals
- Locking composer/semver (3.4.3)
- Locking composer/spdx-licenses (1.5.8)
- Locking dealerdirect/phpcodesniffer-composer-installer (v1.0.0)
- Locking mediawiki/mediawiki-codesniffer (v45.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.2.1)
- Locking phpcsstandards/phpcsutils (1.0.12)
- Locking psr/container (2.0.2)
- Locking squizlabs/php_codesniffer (3.10.3)
- Locking symfony/console (v7.2.5)
- Locking symfony/deprecation-contracts (v3.5.1)
- Locking symfony/polyfill-ctype (v1.31.0)
- Locking symfony/polyfill-intl-grapheme (v1.31.0)
- Locking symfony/polyfill-intl-normalizer (v1.31.0)
- Locking symfony/polyfill-mbstring (v1.31.0)
- Locking symfony/polyfill-php80 (v1.31.0)
- Locking symfony/service-contracts (v3.5.1)
- Locking symfony/string (v7.2.0)
Writing lock file
Installing dependencies from lock file (including require-dev)
Package operations: 21 installs, 0 updates, 0 removals
0 [>---------------------------] 0 [->--------------------------]
- Installing squizlabs/php_codesniffer (3.10.3): Extracting archive
- Installing dealerdirect/phpcodesniffer-composer-installer (v1.0.0): Extracting archive
- Installing symfony/polyfill-php80 (v1.31.0): Extracting archive
- Installing phpcsstandards/phpcsutils (1.0.12): Extracting archive
- Installing phpcsstandards/phpcsextra (1.2.1): Extracting archive
- Installing symfony/polyfill-mbstring (v1.31.0): Extracting archive
- Installing composer/spdx-licenses (1.5.8): Extracting archive
- Installing composer/semver (3.4.3): Extracting archive
- Installing mediawiki/mediawiki-codesniffer (v45.0.0): Extracting archive
- Installing symfony/polyfill-intl-normalizer (v1.31.0): Extracting archive
- Installing symfony/polyfill-intl-grapheme (v1.31.0): Extracting archive
- Installing symfony/polyfill-ctype (v1.31.0): Extracting archive
- Installing symfony/string (v7.2.0): Extracting archive
- Installing symfony/deprecation-contracts (v3.5.1): Extracting archive
- Installing psr/container (2.0.2): Extracting archive
- Installing symfony/service-contracts (v3.5.1): Extracting archive
- Installing symfony/console (v7.2.5): 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/19 [>---------------------------] 0%
19/19 [============================] 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 ---
Upgrading n:eslint-config-wikimedia from 0.28.2 -> 0.29.1
Upgrading n:stylelint-config-wikimedia from 0.17.2 -> 0.18.0
$ /usr/bin/npm install
--- stdout ---
added 404 packages, and audited 405 packages in 5s
91 packages are looking for funding
run `npm fund` for details
1 high severity vulnerability
To address all issues, run:
npm audit fix
Run `npm audit` for details.
--- end ---
$ package-lock-lint package-lock.json
--- stdout ---
Checking package-lock.json
--- end ---
$ /usr/bin/npm install grunt-eslint@24.3.0 --save-exact
--- stdout ---
up to date, audited 405 packages in 985ms
91 packages are looking for funding
run `npm fund` for details
1 high severity vulnerability
To address all issues, run:
npm audit fix
Run `npm audit` for details.
--- end ---
$ package-lock-lint package-lock.json
--- stdout ---
Checking package-lock.json
--- end ---
$ ./node_modules/.bin/eslint i18n/jbo.json i18n/hy.json i18n/diq.json i18n/uz.json i18n/my.json i18n/nl.json i18n/lb.json resources/js/ext.wikiForum.admin-links.js i18n/tyv.json i18n/pt.json i18n/lki.json i18n/frp.json i18n/dsb.json i18n/tr.json i18n/en.json i18n/fr.json i18n/ast.json i18n/pms.json i18n/oc.json i18n/bn.json i18n/pl.json i18n/ka.json i18n/qqq.json Gruntfile.js i18n/sms.json i18n/ko.json i18n/eu.json i18n/tl.json i18n/lv.json i18n/zh-hant.json i18n/ti.json i18n/api/qqq.json package.json package-lock.json i18n/fy.json i18n/av.json i18n/lt.json i18n/te.json i18n/zh-hans.json i18n/sje.json i18n/ar.json i18n/it.json i18n/azb.json i18n/pa.json i18n/he.json i18n/tw.json i18n/api/en.json i18n/si.json i18n/scn.json i18n/ce.json i18n/sd.json i18n/se.json i18n/lrc.json i18n/ksh.json i18n/ja.json i18n/ku-latn.json i18n/el.json i18n/ur.json i18n/sah.json i18n/ms.json i18n/kn.json i18n/de.json i18n/atj.json i18n/gsw.json i18n/bcc.json i18n/mk.json composer.json i18n/roa-tara.json i18n/ru.json i18n/uk.json i18n/mr.json i18n/ga.json i18n/af.json i18n/mwl.json resources/js/ext.wikiForum.admin-sticky-links.js i18n/sv.json i18n/gl.json i18n/nb.json i18n/yi.json i18n/ne.json i18n/hr.json i18n/et.json i18n/pt-br.json i18n/smn.json i18n/id.json i18n/kiu.json i18n/cu.json i18n/th.json i18n/sh-latn.json i18n/be-tarask.json i18n/xal.json i18n/lfn.json i18n/br.json i18n/ta.json i18n/or.json i18n/az.json i18n/trv.json i18n/sr-ec.json i18n/es.json i18n/eo.json i18n/arc.json i18n/vi.json i18n/ba.json i18n/blk.json i18n/pnb.json extension.json i18n/km.json i18n/sl.json i18n/udm.json i18n/ig.json i18n/inh.json i18n/shn.json i18n/ro.json i18n/ky.json i18n/pdc.json i18n/hsb.json i18n/luz.json i18n/ca.json i18n/io.json i18n/cs.json i18n/fa.json i18n/szy.json i18n/sco.json i18n/ia.json i18n/de-formal.json i18n/ps.json i18n/cv.json i18n/sr-el.json i18n/fi.json i18n/bg.json --fix
--- stderr ---
Oops! Something went wrong! :(
ESLint: 8.57.0
ESLint couldn't find the config "wikimedia/client-es5" to extend from. Please check that the name of the config is correct.
The config "wikimedia/client-es5" was referenced from the config file in "/src/repo/.eslintrc.json".
If you still have problems, please stop by https://eslint.org/chat/help to chat with the team.
--- stdout ---
--- end ---
$ ./node_modules/.bin/eslint i18n/jbo.json i18n/hy.json i18n/diq.json i18n/uz.json i18n/my.json i18n/nl.json i18n/lb.json resources/js/ext.wikiForum.admin-links.js i18n/tyv.json i18n/pt.json i18n/lki.json i18n/frp.json i18n/dsb.json i18n/tr.json i18n/en.json i18n/fr.json i18n/ast.json i18n/pms.json i18n/oc.json i18n/bn.json i18n/pl.json i18n/ka.json i18n/qqq.json Gruntfile.js i18n/sms.json i18n/ko.json i18n/eu.json i18n/tl.json i18n/lv.json i18n/zh-hant.json i18n/ti.json i18n/api/qqq.json package.json package-lock.json i18n/fy.json i18n/av.json i18n/lt.json i18n/te.json i18n/zh-hans.json i18n/sje.json i18n/ar.json i18n/it.json i18n/azb.json i18n/pa.json i18n/he.json i18n/tw.json i18n/api/en.json i18n/si.json i18n/scn.json i18n/ce.json i18n/sd.json i18n/se.json i18n/lrc.json i18n/ksh.json i18n/ja.json i18n/ku-latn.json i18n/el.json i18n/ur.json i18n/sah.json i18n/ms.json i18n/kn.json i18n/de.json i18n/atj.json i18n/gsw.json i18n/bcc.json i18n/mk.json composer.json i18n/roa-tara.json i18n/ru.json i18n/uk.json i18n/mr.json i18n/ga.json i18n/af.json i18n/mwl.json resources/js/ext.wikiForum.admin-sticky-links.js i18n/sv.json i18n/gl.json i18n/nb.json i18n/yi.json i18n/ne.json i18n/hr.json i18n/et.json i18n/pt-br.json i18n/smn.json i18n/id.json i18n/kiu.json i18n/cu.json i18n/th.json i18n/sh-latn.json i18n/be-tarask.json i18n/xal.json i18n/lfn.json i18n/br.json i18n/ta.json i18n/or.json i18n/az.json i18n/trv.json i18n/sr-ec.json i18n/es.json i18n/eo.json i18n/arc.json i18n/vi.json i18n/ba.json i18n/blk.json i18n/pnb.json extension.json i18n/km.json i18n/sl.json i18n/udm.json i18n/ig.json i18n/inh.json i18n/shn.json i18n/ro.json i18n/ky.json i18n/pdc.json i18n/hsb.json i18n/luz.json i18n/ca.json i18n/io.json i18n/cs.json i18n/fa.json i18n/szy.json i18n/sco.json i18n/ia.json i18n/de-formal.json i18n/ps.json i18n/cv.json i18n/sr-el.json i18n/fi.json i18n/bg.json -f json
--- stderr ---
Oops! Something went wrong! :(
ESLint: 8.57.0
ESLint couldn't find the config "wikimedia/client-es5" to extend from. Please check that the name of the config is correct.
The config "wikimedia/client-es5" was referenced from the config file in "/src/repo/.eslintrc.json".
If you still have problems, please stop by https://eslint.org/chat/help to chat with the team.
--- stdout ---
--- end ---
Traceback (most recent call last):
File "/venv/lib/python3.11/site-packages/runner-0.1.0-py3.11.egg/runner/__init__.py", line 1964, in main
libup.run(args.repo, args.output, args.branch)
File "/venv/lib/python3.11/site-packages/runner-0.1.0-py3.11.egg/runner/__init__.py", line 1902, in run
self.npm_upgrade(plan)
File "/venv/lib/python3.11/site-packages/runner-0.1.0-py3.11.egg/runner/__init__.py", line 1249, in npm_upgrade
hook(update)
File "/venv/lib/python3.11/site-packages/runner-0.1.0-py3.11.egg/runner/__init__.py", line 1599, in _handle_eslint
errors = json.loads(
^^^^^^^^^^^
File "/usr/lib/python3.11/json/__init__.py", line 346, in loads
return _default_decoder.decode(s)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/json/decoder.py", line 337, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/json/decoder.py", line 355, in raw_decode
raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)