$ date
--- stdout ---
Sat May 24 03:59:53 UTC 2025
--- end ---
$ git clone file:///srv/git/mediawiki-extensions-VueTest.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
--- stderr ---
Submodule 'lib/codex' (https://gerrit.wikimedia.org/r/design/codex) registered for path 'lib/codex'
Cloning into '/src/repo/lib/codex'...
--- stdout ---
Submodule path 'lib/codex': checked out '821a94b2890356c6897dd3d19490f5007f90f7f6'
--- end ---
$ grr init
--- stdout ---
Installed commit-msg hook.
--- end ---
$ git show-ref refs/heads/master
--- stdout ---
1708b2c2bbb6c831ad106cc97e3294546c5e78a0 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": 1023,
"optional": 3,
"peer": 1,
"peerOptional": 0,
"total": 1023
}
}
}
--- 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.9)
- Locking dealerdirect/phpcodesniffer-composer-installer (v1.0.0)
- Locking mediawiki/mediawiki-codesniffer (v47.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.12.2)
- Locking symfony/console (v7.2.6)
- Locking symfony/deprecation-contracts (v3.5.1)
- Locking symfony/polyfill-ctype (v1.32.0)
- Locking symfony/polyfill-intl-grapheme (v1.32.0)
- Locking symfony/polyfill-intl-normalizer (v1.32.0)
- Locking symfony/polyfill-mbstring (v1.32.0)
- Locking symfony/polyfill-php80 (v1.32.0)
- Locking symfony/service-contracts (v3.5.1)
- Locking symfony/string (v7.2.6)
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.12.2): Extracting archive
- Installing dealerdirect/phpcodesniffer-composer-installer (v1.0.0): Extracting archive
- Installing symfony/polyfill-php80 (v1.32.0): Extracting archive
- Installing phpcsstandards/phpcsutils (1.0.12): Extracting archive
- Installing phpcsstandards/phpcsextra (1.2.1): Extracting archive
- Installing symfony/polyfill-mbstring (v1.32.0): Extracting archive
- Installing composer/spdx-licenses (1.5.9): Extracting archive
- Installing composer/semver (3.4.3): Extracting archive
- Installing mediawiki/mediawiki-codesniffer (v47.0.0): Extracting archive
- Installing symfony/polyfill-intl-normalizer (v1.32.0): Extracting archive
- Installing symfony/polyfill-intl-grapheme (v1.32.0): Extracting archive
- Installing symfony/polyfill-ctype (v1.32.0): Extracting archive
- Installing symfony/string (v7.2.6): 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.6): 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:@vue/compiler-sfc from 3.4.27 -> 3.5.13
Upgrading n:@vue/test-utils from ^2.0.0 -> 2.4.6
Upgrading n:@vue/vue3-jest from 27.0.0-alpha.4 -> 29.2.6
Upgrading n:@wikimedia/codex from 1.16.0 -> 2.0.0-rc.1
Upgrading n:jest from ^27.4.7 -> 29.7.0
Upgrading n:vue from 3.4.27 -> 3.5.13
$ /usr/bin/npm install
--- stderr ---
npm ERR! code ERESOLVE
npm ERR! ERESOLVE could not resolve
npm ERR!
npm ERR! While resolving: VueTest@undefined
npm ERR! Found: @wikimedia/codex@1.16.0
npm ERR! node_modules/@wikimedia/codex
npm ERR! dev @wikimedia/codex@"2.0.0-rc.1" from the root project
npm ERR!
npm ERR! Could not resolve dependency:
npm ERR! dev @wikimedia/codex@"2.0.0-rc.1" from the root project
npm ERR!
npm ERR! Conflicting peer dependency: vue@3.5.13
npm ERR! node_modules/vue
npm ERR! peer vue@"^3.5.13" from @wikimedia/codex@2.0.0-rc.1
npm ERR! node_modules/@wikimedia/codex
npm ERR! dev @wikimedia/codex@"2.0.0-rc.1" from the root project
npm ERR!
npm ERR! Fix the upstream dependency conflict, or retry
npm ERR! this command with --force or --legacy-peer-deps
npm ERR! to accept an incorrect (and potentially broken) dependency resolution.
npm ERR!
npm ERR!
npm ERR! For a full report see:
npm ERR! /cache/_logs/2025-05-24T04_00_01_045Z-eresolve-report.txt
npm ERR! A complete log of this run can be found in:
npm ERR! /cache/_logs/2025-05-24T04_00_01_045Z-debug-0.log
--- stdout ---
--- end ---
$ rm -rf package-lock.json node_modules
--- stdout ---
--- end ---
$ /usr/bin/npm install
--- stderr ---
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE package: '@wikimedia/codex@2.0.0-rc.1',
npm WARN EBADENGINE required: { npm: '>=10.8.1', node: '>=20' },
npm WARN EBADENGINE current: { node: 'v18.19.0', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE package: '@wikimedia/codex-icons@2.0.0-rc.1',
npm WARN EBADENGINE required: { npm: '>=10.8.1', node: '>=20' },
npm WARN EBADENGINE current: { node: 'v18.19.0', npm: '9.2.0' }
npm WARN EBADENGINE }
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.2.3: Glob versions prior to v9 are no longer supported
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 980 packages, and audited 981 packages in 23s
130 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 jest-environment-jsdom@29.7.0 --save-dev --save-exact
--- stderr ---
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE package: '@wikimedia/codex@2.0.0-rc.1',
npm WARN EBADENGINE required: { node: '>=20', npm: '>=10.8.1' },
npm WARN EBADENGINE current: { node: 'v18.19.0', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE package: '@wikimedia/codex-icons@2.0.0-rc.1',
npm WARN EBADENGINE required: { node: '>=20', npm: '>=10.8.1' },
npm WARN EBADENGINE current: { node: 'v18.19.0', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN deprecated abab@2.0.6: Use your platform's native atob() and btoa() methods instead
npm WARN deprecated domexception@4.0.0: Use your platform's native DOMException instead
--- stdout ---
added 58 packages, and audited 1039 packages in 4s
137 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 ci
--- stderr ---
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE package: '@wikimedia/codex@2.0.0-rc.1',
npm WARN EBADENGINE required: { node: '>=20', npm: '>=10.8.1' },
npm WARN EBADENGINE current: { node: 'v18.19.0', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE package: '@wikimedia/codex-icons@2.0.0-rc.1',
npm WARN EBADENGINE required: { node: '>=20', npm: '>=10.8.1' },
npm WARN EBADENGINE current: { node: 'v18.19.0', npm: '9.2.0' }
npm WARN EBADENGINE }
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 abab@2.0.6: Use your platform's native atob() and btoa() methods instead
npm WARN deprecated glob@7.2.3: Glob versions prior to v9 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 domexception@4.0.0: Use your platform's native DOMException instead
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 1038 packages, and audited 1039 packages in 13s
137 packages are looking for funding
run `npm fund` for details
found 0 vulnerabilities
--- end ---
$ /usr/bin/npm test
--- stderr ---
FAIL resources/components/App.test.js
● Test suite failed to run
ReferenceError: Vue is not defined
> 1 | const VueTestUtils = require( '@vue/test-utils' );
| ^
2 | const App = require( './App.vue' );
3 |
4 | VueTestUtils.config.global.mocks = {
at Object.<anonymous> (node_modules/@vue/test-utils/dist/vue-test-utils.browser.js:8510:8)
at Object.<anonymous> (resources/components/App.test.js:1:124)
Test Suites: 1 failed, 1 total
Tests: 0 total
Snapshots: 0 total
Time: 16.885 s
Ran all test suites.
--- stdout ---
> test
> grunt test && npm run test:unit
Running "eslint:all" (eslint) task
Running "stylelint:all" (stylelint) task
>> Linted 432 files without errors
Running "banana:VueTest" (banana) task
>> 1 message directory checked.
Done.
> test:unit
> jest
---------------------|---------|----------|---------|---------|-------------------
File | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s
---------------------|---------|----------|---------|---------|-------------------
All files | 0 | 0 | 0 | 0 |
codex-demos | 0 | 0 | 0 | 0 |
Sandbox.vue | 0 | 0 | 0 | 0 | 1-351
codex-demos.js | 0 | 0 | 0 | 0 | 1
codex-demos.umd.js | 0 | 0 | 0 | 0 | 1-7
init.js | 0 | 100 | 0 | 0 | 1-5
components | 0 | 0 | 0 | 0 |
App.vue | 0 | 0 | 0 | 0 | 6-76
---------------------|---------|----------|---------|---------|-------------------
--- end ---
$ node_modules/.bin/jest -u
--- stderr ---
FAIL resources/components/App.test.js
● Test suite failed to run
ReferenceError: Vue is not defined
> 1 | const VueTestUtils = require( '@vue/test-utils' );
| ^
2 | const App = require( './App.vue' );
3 |
4 | VueTestUtils.config.global.mocks = {
at Object.<anonymous> (node_modules/@vue/test-utils/dist/vue-test-utils.browser.js:8510:8)
at Object.<anonymous> (resources/components/App.test.js:1:124)
Test Suites: 1 failed, 1 total
Tests: 0 total
Snapshots: 0 total
Time: 12.823 s
Ran all test suites.
--- stdout ---
---------------------|---------|----------|---------|---------|-------------------
File | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s
---------------------|---------|----------|---------|---------|-------------------
All files | 0 | 0 | 0 | 0 |
codex-demos | 0 | 0 | 0 | 0 |
Sandbox.vue | 0 | 0 | 0 | 0 | 1-351
codex-demos.js | 0 | 0 | 0 | 0 | 1
codex-demos.umd.js | 0 | 0 | 0 | 0 | 1-7
init.js | 0 | 100 | 0 | 0 | 1-5
components | 0 | 0 | 0 | 0 |
App.vue | 0 | 0 | 0 | 0 | 6-76
---------------------|---------|----------|---------|---------|-------------------
--- end ---
Traceback (most recent call last):
File "/venv/lib/python3.11/site-packages/runner-0.1.0-py3.11.egg/runner/__init__.py", line 325, in npm_test
self.check_call(["npm", "test"])
File "/venv/lib/python3.11/site-packages/runner-0.1.0-py3.11.egg/runner/shell2.py", line 59, in check_call
res.check_returncode()
File "/usr/lib/python3.11/subprocess.py", line 502, in check_returncode
raise CalledProcessError(self.returncode, self.args, self.stdout,
subprocess.CalledProcessError: Command '['/usr/bin/npm', 'test']' returned non-zero exit status 1.
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/venv/lib/python3.11/site-packages/runner-0.1.0-py3.11.egg/runner/__init__.py", line 2026, 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 1962, in run
self.npm_upgrade(plan)
File "/venv/lib/python3.11/site-packages/runner-0.1.0-py3.11.egg/runner/__init__.py", line 1256, in npm_upgrade
self.npm_test()
File "/venv/lib/python3.11/site-packages/runner-0.1.0-py3.11.egg/runner/__init__.py", line 330, in npm_test
self.check_call(["node_modules/.bin/jest", "-u"])
File "/venv/lib/python3.11/site-packages/runner-0.1.0-py3.11.egg/runner/shell2.py", line 59, in check_call
res.check_returncode()
File "/usr/lib/python3.11/subprocess.py", line 502, in check_returncode
raise CalledProcessError(self.returncode, self.args, self.stdout,
subprocess.CalledProcessError: Command '['node_modules/.bin/jest', '-u']' returned non-zero exit status 1.