This run took 75 seconds.
$ date --- stdout --- Sun Feb 9 16:38:43 UTC 2025 --- end --- $ git clone file:///srv/git/mediawiki-skins-Vector.git repo --depth=1 -b REL1_42 --- 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/REL1_42 --- stdout --- a3626c6d7893805c73867e63464a796f6ae1dc57 refs/heads/REL1_42 --- end --- $ /usr/bin/npm audit --json --- stdout --- { "auditReportVersion": 2, "vulnerabilities": { "cross-spawn": { "name": "cross-spawn", "severity": "high", "isDirect": false, "via": [ { "source": 1100562, "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": "<6.0.6" } ], "effects": [ "pre-commit" ], "range": "<6.0.6", "nodes": [ "node_modules/pre-commit/node_modules/cross-spawn" ], "fixAvailable": { "name": "pre-commit", "version": "1.0.10", "isSemVerMajor": true } }, "pre-commit": { "name": "pre-commit", "severity": "high", "isDirect": true, "via": [ "cross-spawn" ], "effects": [], "range": ">=1.1.0", "nodes": [ "node_modules/pre-commit" ], "fixAvailable": { "name": "pre-commit", "version": "1.0.10", "isSemVerMajor": true } } }, "metadata": { "vulnerabilities": { "info": 0, "low": 0, "moderate": 0, "high": 2, "critical": 0, "total": 2 }, "dependencies": { "prod": 1, "dev": 1082, "optional": 2, "peer": 0, "peerOptional": 0, "total": 1082 } } } --- 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: 40 installs, 0 updates, 0 removals - Locking composer/installers (v2.3.0) - Locking composer/pcre (3.3.2) - Locking composer/semver (3.4.0) - Locking composer/spdx-licenses (1.5.8) - Locking composer/xdebug-handler (3.0.5) - Locking dealerdirect/phpcodesniffer-composer-installer (v1.0.0) - Locking doctrine/deprecations (1.1.4) - Locking felixfbecker/advanced-json-rpc (v3.2.1) - Locking mediawiki/mediawiki-codesniffer (v43.0.0) - Locking mediawiki/mediawiki-phan-config (0.14.0) - Locking mediawiki/minus-x (1.1.1) - Locking mediawiki/phan-taint-check-plugin (6.0.0) - Locking microsoft/tolerant-php-parser (v0.1.2) - Locking netresearch/jsonmapper (v4.5.0) - Locking phan/phan (5.4.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.3.2) - Locking phpcsstandards/phpcsextra (1.1.2) - Locking phpcsstandards/phpcsutils (1.0.9) - Locking phpdocumentor/reflection-common (2.2.0) - Locking phpdocumentor/reflection-docblock (5.6.1) - Locking phpdocumentor/type-resolver (1.10.0) - Locking phpstan/phpdoc-parser (2.0.0) - Locking psr/container (2.0.2) - Locking psr/log (2.0.0) - Locking sabre/event (5.1.7) - Locking squizlabs/php_codesniffer (3.8.1) - Locking symfony/console (v5.4.47) - 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-php73 (v1.31.0) - Locking symfony/polyfill-php80 (v1.31.0) - Locking symfony/service-contracts (v3.5.1) - Locking symfony/string (v6.4.15) - Locking tysonandre/var_representation_polyfill (0.1.3) - Locking webmozart/assert (1.11.0) Writing lock file Installing dependencies from lock file (including require-dev) Package operations: 40 installs, 0 updates, 0 removals 0 [>---------------------------] 0 [->--------------------------] - Installing composer/installers (v2.3.0): Extracting archive - Installing squizlabs/php_codesniffer (3.8.1): Extracting archive - Installing dealerdirect/phpcodesniffer-composer-installer (v1.0.0): Extracting archive - Installing composer/pcre (3.3.2): Extracting archive - Installing symfony/polyfill-php80 (v1.31.0): Extracting archive - Installing phpcsstandards/phpcsutils (1.0.9): Extracting archive - Installing phpcsstandards/phpcsextra (1.1.2): 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.0): Extracting archive - Installing mediawiki/mediawiki-codesniffer (v43.0.0): Extracting archive - Installing tysonandre/var_representation_polyfill (0.1.3): 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 (v6.4.15): 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/polyfill-php73 (v1.31.0): Extracting archive - Installing symfony/console (v5.4.47): Extracting archive - Installing sabre/event (5.1.7): Extracting archive - Installing netresearch/jsonmapper (v4.5.0): Extracting archive - Installing microsoft/tolerant-php-parser (v0.1.2): Extracting archive - Installing webmozart/assert (1.11.0): Extracting archive - Installing phpstan/phpdoc-parser (2.0.0): Extracting archive - Installing phpdocumentor/reflection-common (2.2.0): Extracting archive - Installing doctrine/deprecations (1.1.4): Extracting archive - Installing phpdocumentor/type-resolver (1.10.0): Extracting archive - Installing phpdocumentor/reflection-docblock (5.6.1): Extracting archive - Installing felixfbecker/advanced-json-rpc (v3.2.1): Extracting archive - Installing psr/log (2.0.0): Extracting archive - Installing composer/xdebug-handler (3.0.5): Extracting archive - Installing phan/phan (5.4.3): Extracting archive - Installing mediawiki/phan-taint-check-plugin (6.0.0): Extracting archive - Installing mediawiki/mediawiki-phan-config (0.14.0): Extracting archive - Installing mediawiki/minus-x (1.1.1): 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.3.2): Extracting archive 0/37 [>---------------------------] 0% 20/37 [===============>------------] 54% 36/37 [===========================>] 97% 37/37 [============================] 100% 3 package suggestions were added by new dependencies, use `composer suggest` to see details. Generating autoload files 17 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": { "cross-spawn": { "name": "cross-spawn", "severity": "high", "isDirect": false, "via": [ { "source": 1100562, "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": "<6.0.6" } ], "effects": [ "pre-commit" ], "range": "<6.0.6", "nodes": [ "node_modules/pre-commit/node_modules/cross-spawn" ], "fixAvailable": { "name": "pre-commit", "version": "1.0.10", "isSemVerMajor": true } }, "pre-commit": { "name": "pre-commit", "severity": "high", "isDirect": true, "via": [ "cross-spawn" ], "effects": [], "range": ">=1.1.0", "nodes": [ "node_modules/pre-commit" ], "fixAvailable": { "name": "pre-commit", "version": "1.0.10", "isSemVerMajor": true } } }, "metadata": { "vulnerabilities": { "info": 0, "low": 0, "moderate": 0, "high": 2, "critical": 0, "total": 2 }, "dependencies": { "prod": 1, "dev": 1082, "optional": 2, "peer": 0, "peerOptional": 0, "total": 1082 } } } --- 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": 1082, "removed": 0, "changed": 0, "audited": 1083, "funding": 122, "audit": { "auditReportVersion": 2, "vulnerabilities": { "cross-spawn": { "name": "cross-spawn", "severity": "high", "isDirect": false, "via": [ { "source": 1100562, "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": "<6.0.6" } ], "effects": [ "pre-commit" ], "range": "<6.0.6", "nodes": [ "node_modules/pre-commit/node_modules/cross-spawn" ], "fixAvailable": { "name": "pre-commit", "version": "1.0.10", "isSemVerMajor": true } }, "pre-commit": { "name": "pre-commit", "severity": "high", "isDirect": true, "via": [ "cross-spawn" ], "effects": [], "range": ">=1.1.0", "nodes": [ "node_modules/pre-commit" ], "fixAvailable": { "name": "pre-commit", "version": "1.0.10", "isSemVerMajor": true } } }, "metadata": { "vulnerabilities": { "info": 0, "low": 0, "moderate": 0, "high": 2, "critical": 0, "total": 2 }, "dependencies": { "prod": 1, "dev": 1082, "optional": 2, "peer": 0, "peerOptional": 0, "total": 1082 } } } } --- end --- {"added": 1082, "removed": 0, "changed": 0, "audited": 1083, "funding": 122, "audit": {"auditReportVersion": 2, "vulnerabilities": {"cross-spawn": {"name": "cross-spawn", "severity": "high", "isDirect": false, "via": [{"source": 1100562, "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": "<6.0.6"}], "effects": ["pre-commit"], "range": "<6.0.6", "nodes": ["node_modules/pre-commit/node_modules/cross-spawn"], "fixAvailable": {"name": "pre-commit", "version": "1.0.10", "isSemVerMajor": true}}, "pre-commit": {"name": "pre-commit", "severity": "high", "isDirect": true, "via": ["cross-spawn"], "effects": [], "range": ">=1.1.0", "nodes": ["node_modules/pre-commit"], "fixAvailable": {"name": "pre-commit", "version": "1.0.10", "isSemVerMajor": true}}}, "metadata": {"vulnerabilities": {"info": 0, "low": 0, "moderate": 0, "high": 2, "critical": 0, "total": 2}, "dependencies": {"prod": 1, "dev": 1082, "optional": 2, "peer": 0, "peerOptional": 0, "total": 1082}}}} $ /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 w3c-hr-time@1.0.2: Use your platform's native performance.now() and performance.timeOrigin. npm WARN deprecated mkdirp@0.3.0: Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.) --- stdout --- added 1081 packages, and audited 1082 packages in 11s 122 packages are looking for funding run `npm fund` for details # npm audit report cross-spawn <6.0.6 Severity: high Regular Expression Denial of Service (ReDoS) in cross-spawn - https://github.com/advisories/GHSA-3xgq-45jj-v275 fix available via `npm audit fix --force` Will install pre-commit@1.0.10, which is a breaking change node_modules/pre-commit/node_modules/cross-spawn pre-commit >=1.1.0 Depends on vulnerable versions of cross-spawn node_modules/pre-commit 2 high 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 w3c-hr-time@1.0.2: Use your platform's native performance.now() and performance.timeOrigin. npm WARN deprecated mkdirp@0.3.0: Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.) --- stdout --- added 1081 packages, and audited 1082 packages in 16s 122 packages are looking for funding run `npm fund` for details 2 high 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 --- PASS tests/jest/AB.test.js PASS tests/jest/pinnableElement.test.js PASS tests/jest/skins.vector.js/dropdownMenus.test.js PASS tests/jest/tableOfContents.test.js PASS tests/jest/restSearchClient.test.js PASS tests/jest/stickyHeader.test.js PASS tests/jest/skins.vector.es6/main.test.js PASS tests/jest/skins.vector.legacy.js/portlets.test.js PASS tests/jest/skins.vector.js/portlets.test.js PASS tests/jest/popupNotification.test.js PASS tests/jest/skins.vector.js/menuTabs.test.js PASS tests/jest/instrumentation.test.js PASS tests/jest/fetch.test.js PASS tests/jest/urlGenerator.test.js PASS tests/jest/skins.vector.clientPreferences.test.js PASS tests/jest/skins.vector.es6/features.test.js PASS tests/jest/deferUntilFrame.test.js PASS tests/jest/userLinks.test.js PASS tests/jest/App.test.js Test Suites: 19 passed, 19 total Tests: 90 passed, 90 total Snapshots: 15 passed, 15 total Time: 7.028 s --- stdout --- > test > npm -s run lint && tsc && npm run test:unit /src/repo/resources/skins.vector.clientPreferences/clientPreferences.js 6:1 warning Invalid JSDoc @property "callback" type "function"; prefer: "Function" jsdoc/check-types 65:1 warning This line has a length of 101. Maximum allowed is 100 max-len ✖ 2 problems (0 errors, 2 warnings) 0 errors and 1 warning potentially fixable with the `--fix` option. resources/skins.vector.styles/layouts/screen.less 165:2 ⚠ Unexpected browser feature "pointer" is not supported by Safari 11,12,11.1,12.1, Safari on iOS 11.0-11.2,11.3-11.4,12.0-12.1,12.2-12.5 plugin/no-unsupported-browser-features 165:2 ⚠ Unexpected browser feature "css-touch-action" is not supported by Safari 11,12,13,14,15,11.1,12.1,13.1,14.1,15.1,15.2-15.3,15.4,15.5,15.6,16.0,16.1,16.2,16.3,16.4,16.5,16.6,17.0,17.1,17.2 plugin/no-unsupported-browser-features 2 problems (0 errors, 2 warnings) Checked 1 message directory. > test:unit > jest --silent --------------------------------|---------|----------|---------|---------|----------------------------------------------------------------- File | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s --------------------------------|---------|----------|---------|---------|----------------------------------------------------------------- All files | 48.46 | 35.38 | 45.51 | 48.32 | skins.vector.clientPreferences | 76.29 | 42.55 | 67.85 | 75.93 | clientPreferences.js | 76.29 | 42.55 | 67.85 | 75.93 | 45-67,137,164,199,205,222,238,251,278,296-312 skins.vector.js | 49.22 | 37.32 | 47.11 | 49.12 | AB.js | 100 | 93.33 | 100 | 100 | 197 deferUntilFrame.js | 100 | 100 | 100 | 100 | dropdownMenus.js | 90.38 | 80 | 83.33 | 90.38 | 25,88,98,131,160 echo.js | 0 | 0 | 0 | 0 | 6-35 features.js | 68.57 | 54.05 | 50 | 68.57 | 19-20,26-28,85-104 languageButton.js | 0 | 0 | 0 | 0 | 9-52 legacyMessageBoxStyles.js | 0 | 0 | 0 | 0 | 4-7 limitedWidthToggle.js | 0 | 0 | 0 | 0 | 1-75 menuTabs.js | 100 | 100 | 100 | 100 | pinnableElement.js | 78.02 | 74.28 | 73.68 | 78.88 | 25,29-30,34-35,82-86,134,184,207,230,260-276 popupNotification.js | 91.66 | 64.28 | 75 | 91.66 | 75,78 portlets.js | 85.52 | 58.06 | 60 | 85.52 | 20,35-37,60,113,126-132 scrollObserver.js | 41.66 | 0 | 0 | 41.66 | 20-46 searchLoader.js | 0 | 0 | 0 | 0 | 12-123 searchToggle.js | 13.33 | 0 | 0 | 13.33 | 18-94,110-125 sectionObserver.js | 2.77 | 0 | 0 | 2.77 | 47-187 setupIntersectionObservers.js | 45.58 | 20 | 50 | 45.18 | 93-117,146,151-175,184-199,222,247-268,281-367 skin.js | 0 | 0 | 0 | 0 | 1-146 stickyHeader.js | 16.9 | 3.5 | 19.44 | 16.99 | 27-66,94-111,128-140,169-390,427-429,449-586 stickyHeaderAB.js | 0 | 0 | 0 | 0 | tableOfContents.js | 83.51 | 70.4 | 89.74 | 83.24 | 130,153,189,201,207-231,249,279,353,388,401,422,475-482,506,509 watchstar.js | 20 | 0 | 0 | 20 | 7-24,29-36 skins.vector.legacy.js | 22.09 | 11.84 | 6.66 | 22.09 | collapsibleTabs.js | 0 | 0 | 0 | 0 | 13-237 portlets.js | 83.33 | 64.28 | 66.66 | 83.33 | 18,35-37,47,85-88 skin-legacy.js | 0 | 100 | 0 | 0 | 4-19 vector.js | 0 | 0 | 0 | 0 | 7-118 skins.vector.search | 50 | 39.28 | 51.42 | 50 | App.vue | 28.2 | 14.28 | 30.76 | 28.2 | 174-263,268-270 fetch.js | 100 | 75 | 75 | 100 | 28 instrumentation.js | 45.45 | 25 | 37.5 | 45.45 | 24-87 restSearchClient.js | 100 | 75 | 100 | 100 | 26-48 skins.vector.search.js | 0 | 0 | 0 | 0 | 4-51 types.js | 0 | 0 | 0 | 0 | urlGenerator.js | 100 | 100 | 100 | 100 | --------------------------------|---------|----------|---------|---------|----------------------------------------------------------------- --- end --- $ package-lock-lint package-lock.json --- stdout --- Checking package-lock.json --- end --- [DNM] there are no updates $ git add . --- stdout --- --- end --- $ git commit -F /tmp/tmpq2iai8cz --- stderr --- pre-commit: pre-commit: No changes detected. pre-commit: Skipping the pre-commit hook. pre-commit: --- stdout --- On branch REL1_42 Your branch is up to date with 'origin/REL1_42'. nothing to commit, working tree clean --- end ---