$ date
--- stdout ---
Mon Mar 31 06:39:29 UTC 2025
--- end ---
$ git clone file:///srv/git/mediawiki-extensions-TwnMainPage.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 ---
d9cfde29b92f54e555a238d00cc6d40684508f6f refs/heads/master
--- end ---
$ /usr/bin/npm audit --json
--- stdout ---
{
"auditReportVersion": 2,
"vulnerabilities": {},
"metadata": {
"vulnerabilities": {
"info": 0,
"low": 0,
"moderate": 0,
"high": 0,
"critical": 0,
"total": 0
},
"dependencies": {
"prod": 1,
"dev": 411,
"optional": 0,
"peer": 1,
"peerOptional": 0,
"total": 411
}
}
}
--- 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 (v46.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.11.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.11.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 (v46.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
$ /usr/bin/npm install
--- stdout ---
added 411 packages, and audited 412 packages in 4s
91 packages are looking for funding
run `npm fund` for details
found 0 vulnerabilities
--- 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 412 packages in 834ms
91 packages are looking for funding
run `npm fund` for details
found 0 vulnerabilities
--- end ---
$ package-lock-lint package-lock.json
--- stdout ---
Checking package-lock.json
--- end ---
$ ./node_modules/.bin/eslint i18n/scn.json i18n/special-page-aliases/ku-latn.json i18n/id.json i18n/bug.json i18n/mwl.json i18n/sk.json i18n/special-page-aliases/bgn.json i18n/crh-latn.json i18n/ht.json package.json i18n/ne.json i18n/lzh.json i18n/so.json i18n/special-page-aliases/el.json i18n/mad.json i18n/eo.json i18n/ja.json i18n/br.json i18n/nds.json i18n/bgn.json i18n/special-page-aliases/gl.json i18n/ast.json i18n/lfn.json i18n/special-page-aliases/zh-hant.json i18n/special-page-aliases/he.json i18n/lb.json i18n/ie.json i18n/ur.json i18n/krl.json i18n/special-page-aliases/ar.json i18n/km.json i18n/special-page-aliases/diq.json i18n/udm.json i18n/crh-ro.json i18n/anp.json i18n/en.json i18n/mnw.json i18n/special-page-aliases/lb.json i18n/gl.json i18n/trv.json i18n/as.json i18n/special-page-aliases/lzh.json i18n/io.json resources/js/ext.translate.mainpage.signup.js i18n/bs.json i18n/hr.json i18n/it.json i18n/ksh.json i18n/bg.json i18n/kjp.json i18n/sr-el.json i18n/nl.json i18n/yue-hant.json i18n/ia.json i18n/lij.json i18n/zh-hk.json i18n/pnb.json i18n/kiu.json i18n/rm.json i18n/ar.json i18n/ko.json i18n/ckb.json i18n/hsb.json i18n/frr.json i18n/dsb.json i18n/sty.json i18n/zgh.json i18n/an.json i18n/hyw.json i18n/uz.json i18n/ka.json i18n/cy.json i18n/special-page-aliases/ast.json i18n/special-page-aliases/ml.json i18n/ban-bali.json i18n/de.json i18n/av.json i18n/ti.json i18n/awa.json i18n/tok.json i18n/arq.json i18n/special-page-aliases/ja.json i18n/pt-br.json i18n/te.json i18n/mr.json i18n/tr.json i18n/eu.json i18n/ms.json i18n/special-page-aliases/vi.json i18n/diq.json i18n/ary.json i18n/nn.json i18n/de-formal.json i18n/fi.json i18n/liv.json i18n/su.json i18n/he.json i18n/af.json i18n/special-page-aliases/min.json i18n/nan-latn-pehoeji.json i18n/ksw.json i18n/tt-cyrl.json i18n/tg-cyrl.json i18n/special-page-aliases/mr.json i18n/oc.json i18n/mk.json i18n/az.json i18n/cs.json i18n/be-tarask.json i18n/tcy.json i18n/special-page-aliases/mk.json i18n/lt.json i18n/vec.json i18n/roa-tara.json Gruntfile.js i18n/ky.json i18n/nap.json i18n/special-page-aliases/nl.json i18n/kk-cyrl.json i18n/azb.json i18n/ban.json i18n/mo.json i18n/es.json i18n/ba.json i18n/tum.json i18n/vi.json composer.json i18n/krc.json i18n/atj.json i18n/special-page-aliases/ka.json i18n/mni.json i18n/tk.json i18n/special-page-aliases/en.json i18n/ca.json i18n/mt.json i18n/my.json i18n/qu.json i18n/sms.json i18n/bn.json i18n/special-page-aliases/nb.json i18n/da.json i18n/tyv.json i18n/ig.json i18n/tly.json i18n/ang.json i18n/gu.json i18n/cu.json i18n/vo.json i18n/fit.json i18n/et.json i18n/special-page-aliases/fa.json i18n/frp.json i18n/smn.json i18n/vep.json i18n/sh-latn.json i18n/yi.json i18n/lv.json i18n/lki.json i18n/ro.json i18n/shn.json i18n/zh-hant.json i18n/wa.json i18n/prg.json i18n/ps.json i18n/el.json i18n/nah.json i18n/pl.json package-lock.json i18n/sdh.json i18n/fa.json i18n/lkt.json i18n/hu.json i18n/jv.json i18n/special-page-aliases/ko.json i18n/sco.json i18n/blk.json i18n/yrl.json i18n/zh-hans.json i18n/sd.json i18n/ko-kp.json i18n/szl.json i18n/nds-nl.json i18n/sv.json i18n/uk.json i18n/csb.json i18n/ce.json i18n/sw.json i18n/kaa.json extension.json i18n/qqq.json i18n/fy.json i18n/hi.json i18n/cv.json i18n/pa.json i18n/bxr.json i18n/special-page-aliases/arz.json i18n/special-page-aliases/de.json i18n/lrc.json i18n/special-page-aliases/hsb.json i18n/sl.json i18n/hy.json i18n/inh.json i18n/fr.json i18n/th.json i18n/tay.json i18n/special-page-aliases/tyv.json i18n/is.json i18n/ml.json i18n/ku-latn.json i18n/ru.json i18n/kea.json i18n/pt.json i18n/special-page-aliases/zh-hans.json i18n/special-page-aliases/cdo.json i18n/sr-ec.json i18n/ms-arab.json i18n/special-page-aliases/it.json i18n/nb.json resources/js/ext.translate.mainpage.js i18n/se.json i18n/be.json i18n/skr-arab.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/scn.json i18n/special-page-aliases/ku-latn.json i18n/id.json i18n/bug.json i18n/mwl.json i18n/sk.json i18n/special-page-aliases/bgn.json i18n/crh-latn.json i18n/ht.json package.json i18n/ne.json i18n/lzh.json i18n/so.json i18n/special-page-aliases/el.json i18n/mad.json i18n/eo.json i18n/ja.json i18n/br.json i18n/nds.json i18n/bgn.json i18n/special-page-aliases/gl.json i18n/ast.json i18n/lfn.json i18n/special-page-aliases/zh-hant.json i18n/special-page-aliases/he.json i18n/lb.json i18n/ie.json i18n/ur.json i18n/krl.json i18n/special-page-aliases/ar.json i18n/km.json i18n/special-page-aliases/diq.json i18n/udm.json i18n/crh-ro.json i18n/anp.json i18n/en.json i18n/mnw.json i18n/special-page-aliases/lb.json i18n/gl.json i18n/trv.json i18n/as.json i18n/special-page-aliases/lzh.json i18n/io.json resources/js/ext.translate.mainpage.signup.js i18n/bs.json i18n/hr.json i18n/it.json i18n/ksh.json i18n/bg.json i18n/kjp.json i18n/sr-el.json i18n/nl.json i18n/yue-hant.json i18n/ia.json i18n/lij.json i18n/zh-hk.json i18n/pnb.json i18n/kiu.json i18n/rm.json i18n/ar.json i18n/ko.json i18n/ckb.json i18n/hsb.json i18n/frr.json i18n/dsb.json i18n/sty.json i18n/zgh.json i18n/an.json i18n/hyw.json i18n/uz.json i18n/ka.json i18n/cy.json i18n/special-page-aliases/ast.json i18n/special-page-aliases/ml.json i18n/ban-bali.json i18n/de.json i18n/av.json i18n/ti.json i18n/awa.json i18n/tok.json i18n/arq.json i18n/special-page-aliases/ja.json i18n/pt-br.json i18n/te.json i18n/mr.json i18n/tr.json i18n/eu.json i18n/ms.json i18n/special-page-aliases/vi.json i18n/diq.json i18n/ary.json i18n/nn.json i18n/de-formal.json i18n/fi.json i18n/liv.json i18n/su.json i18n/he.json i18n/af.json i18n/special-page-aliases/min.json i18n/nan-latn-pehoeji.json i18n/ksw.json i18n/tt-cyrl.json i18n/tg-cyrl.json i18n/special-page-aliases/mr.json i18n/oc.json i18n/mk.json i18n/az.json i18n/cs.json i18n/be-tarask.json i18n/tcy.json i18n/special-page-aliases/mk.json i18n/lt.json i18n/vec.json i18n/roa-tara.json Gruntfile.js i18n/ky.json i18n/nap.json i18n/special-page-aliases/nl.json i18n/kk-cyrl.json i18n/azb.json i18n/ban.json i18n/mo.json i18n/es.json i18n/ba.json i18n/tum.json i18n/vi.json composer.json i18n/krc.json i18n/atj.json i18n/special-page-aliases/ka.json i18n/mni.json i18n/tk.json i18n/special-page-aliases/en.json i18n/ca.json i18n/mt.json i18n/my.json i18n/qu.json i18n/sms.json i18n/bn.json i18n/special-page-aliases/nb.json i18n/da.json i18n/tyv.json i18n/ig.json i18n/tly.json i18n/ang.json i18n/gu.json i18n/cu.json i18n/vo.json i18n/fit.json i18n/et.json i18n/special-page-aliases/fa.json i18n/frp.json i18n/smn.json i18n/vep.json i18n/sh-latn.json i18n/yi.json i18n/lv.json i18n/lki.json i18n/ro.json i18n/shn.json i18n/zh-hant.json i18n/wa.json i18n/prg.json i18n/ps.json i18n/el.json i18n/nah.json i18n/pl.json package-lock.json i18n/sdh.json i18n/fa.json i18n/lkt.json i18n/hu.json i18n/jv.json i18n/special-page-aliases/ko.json i18n/sco.json i18n/blk.json i18n/yrl.json i18n/zh-hans.json i18n/sd.json i18n/ko-kp.json i18n/szl.json i18n/nds-nl.json i18n/sv.json i18n/uk.json i18n/csb.json i18n/ce.json i18n/sw.json i18n/kaa.json extension.json i18n/qqq.json i18n/fy.json i18n/hi.json i18n/cv.json i18n/pa.json i18n/bxr.json i18n/special-page-aliases/arz.json i18n/special-page-aliases/de.json i18n/lrc.json i18n/special-page-aliases/hsb.json i18n/sl.json i18n/hy.json i18n/inh.json i18n/fr.json i18n/th.json i18n/tay.json i18n/special-page-aliases/tyv.json i18n/is.json i18n/ml.json i18n/ku-latn.json i18n/ru.json i18n/kea.json i18n/pt.json i18n/special-page-aliases/zh-hans.json i18n/special-page-aliases/cdo.json i18n/sr-ec.json i18n/ms-arab.json i18n/special-page-aliases/it.json i18n/nb.json resources/js/ext.translate.mainpage.js i18n/se.json i18n/be.json i18n/skr-arab.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)