This run took 20 seconds.
$ date --- stdout --- Mon Mar 31 04:18:09 UTC 2025 --- end --- $ git clone file:///srv/git/mediawiki-extensions-NoTitle.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 --- c36b6972cd2c402aa5a5f62c2a7d0f90fc63c68f 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": 315, "optional": 0, "peer": 1, "peerOptional": 0, "total": 315 } } } --- 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 315 packages, and audited 316 packages in 4s 58 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 316 packages in 1s 58 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/pt-br.json i18n/it.json i18n/id.json i18n/be-tarask.json i18n/lt.json i18n/es.json i18n/sl.json i18n/cy.json i18n/pl.json package-lock.json i18n/sv.json composer.json i18n/uk.json i18n/lb.json i18n/ksh.json i18n/tl.json i18n/eo.json i18n/ko.json i18n/hsb.json i18n/dsb.json i18n/lzh.json i18n/scn.json i18n/pnb.json i18n/oc.json i18n/pa.json i18n/nl.json i18n/li.json i18n/zh-hans.json i18n/ja.json i18n/eu.json i18n/lij.json i18n/qqq.json extension.json i18n/en.json i18n/ru.json i18n/ast.json i18n/roa-tara.json i18n/ar.json i18n/tr.json i18n/fa.json i18n/pt.json i18n/fi.json i18n/el.json i18n/th.json i18n/sr-el.json i18n/gl.json i18n/nb.json package.json i18n/de.json Gruntfile.js i18n/fr.json i18n/he.json i18n/mk.json i18n/sr-ec.json i18n/tt-cyrl.json i18n/ia.json i18n/zh-hant.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/pt-br.json i18n/it.json i18n/id.json i18n/be-tarask.json i18n/lt.json i18n/es.json i18n/sl.json i18n/cy.json i18n/pl.json package-lock.json i18n/sv.json composer.json i18n/uk.json i18n/lb.json i18n/ksh.json i18n/tl.json i18n/eo.json i18n/ko.json i18n/hsb.json i18n/dsb.json i18n/lzh.json i18n/scn.json i18n/pnb.json i18n/oc.json i18n/pa.json i18n/nl.json i18n/li.json i18n/zh-hans.json i18n/ja.json i18n/eu.json i18n/lij.json i18n/qqq.json extension.json i18n/en.json i18n/ru.json i18n/ast.json i18n/roa-tara.json i18n/ar.json i18n/tr.json i18n/fa.json i18n/pt.json i18n/fi.json i18n/el.json i18n/th.json i18n/sr-el.json i18n/gl.json i18n/nb.json package.json i18n/de.json Gruntfile.js i18n/fr.json i18n/he.json i18n/mk.json i18n/sr-ec.json i18n/tt-cyrl.json i18n/ia.json i18n/zh-hant.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)