$ date
--- stdout ---
Mon Oct 21 01:21:47 UTC 2024
--- end ---
$ git clone file:///srv/git/mediawiki-extensions-Graph.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 ---
04ad64755b628f2b46c3e9dee8d89fc0e34e4b6a refs/heads/master
--- end ---
$ /usr/bin/npm audit --json
--- stdout ---
{
"auditReportVersion": 2,
"vulnerabilities": {
"browserify-sign": {
"name": "browserify-sign",
"severity": "low",
"isDirect": false,
"via": [
"elliptic"
],
"effects": [
"crypto-browserify"
],
"range": ">=2.4.0",
"nodes": [
"node_modules/browserify-sign"
],
"fixAvailable": true
},
"create-ecdh": {
"name": "create-ecdh",
"severity": "low",
"isDirect": false,
"via": [
"elliptic"
],
"effects": [
"crypto-browserify"
],
"range": "*",
"nodes": [
"node_modules/create-ecdh"
],
"fixAvailable": true
},
"crypto-browserify": {
"name": "crypto-browserify",
"severity": "low",
"isDirect": false,
"via": [
"browserify-sign",
"create-ecdh"
],
"effects": [],
"range": ">=3.4.0",
"nodes": [
"node_modules/crypto-browserify"
],
"fixAvailable": true
},
"elliptic": {
"name": "elliptic",
"severity": "low",
"isDirect": false,
"via": [
{
"source": 1100186,
"name": "elliptic",
"dependency": "elliptic",
"title": "Valid ECDSA signatures erroneously rejected in Elliptic",
"url": "https://github.com/advisories/GHSA-fc9h-whq2-v747",
"severity": "low",
"cwe": [
"CWE-347"
],
"cvss": {
"score": 0,
"vectorString": null
},
"range": "<=6.5.7"
}
],
"effects": [
"browserify-sign",
"create-ecdh"
],
"range": "*",
"nodes": [
"node_modules/elliptic"
],
"fixAvailable": true
}
},
"metadata": {
"vulnerabilities": {
"info": 0,
"low": 4,
"moderate": 0,
"high": 0,
"critical": 0,
"total": 4
},
"dependencies": {
"prod": 1,
"dev": 889,
"optional": 2,
"peer": 1,
"peerOptional": 0,
"total": 889
}
}
}
--- 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: 38 installs, 0 updates, 0 removals
- Locking composer/pcre (3.3.1)
- Locking composer/semver (3.4.2)
- 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.3)
- Locking felixfbecker/advanced-json-rpc (v3.2.1)
- Locking mediawiki/mediawiki-codesniffer (v44.0.0)
- Locking mediawiki/mediawiki-phan-config (0.14.0)
- Locking mediawiki/minus-x (1.1.3)
- 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.4.0)
- Locking phpcsstandards/phpcsextra (1.2.1)
- Locking phpcsstandards/phpcsutils (1.0.11)
- Locking phpdocumentor/reflection-common (2.2.0)
- Locking phpdocumentor/reflection-docblock (5.4.1)
- Locking phpdocumentor/type-resolver (1.8.2)
- Locking phpstan/phpdoc-parser (1.33.0)
- Locking psr/container (2.0.2)
- Locking psr/log (3.0.2)
- Locking sabre/event (5.1.7)
- Locking squizlabs/php_codesniffer (3.9.0)
- Locking symfony/console (v7.1.5)
- Locking symfony/deprecation-contracts (v3.5.0)
- 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.0)
- Locking symfony/string (v7.1.5)
- 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: 38 installs, 0 updates, 0 removals
0 [>---------------------------] 0 [->--------------------------]
- Installing squizlabs/php_codesniffer (3.9.0): Extracting archive
- Installing dealerdirect/phpcodesniffer-composer-installer (v1.0.0): Extracting archive
- Installing composer/pcre (3.3.1): Extracting archive
- Installing symfony/polyfill-php80 (v1.31.0): Extracting archive
- Installing phpcsstandards/phpcsutils (1.0.11): 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.2): Extracting archive
- Installing mediawiki/mediawiki-codesniffer (v44.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 (v7.1.5): Extracting archive
- Installing symfony/deprecation-contracts (v3.5.0): Extracting archive
- Installing psr/container (2.0.2): Extracting archive
- Installing symfony/service-contracts (v3.5.0): Extracting archive
- Installing symfony/console (v7.1.5): 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 (1.33.0): Extracting archive
- Installing phpdocumentor/reflection-common (2.2.0): Extracting archive
- Installing doctrine/deprecations (1.1.3): Extracting archive
- Installing phpdocumentor/type-resolver (1.8.2): Extracting archive
- Installing phpdocumentor/reflection-docblock (5.4.1): Extracting archive
- Installing felixfbecker/advanced-json-rpc (v3.2.1): Extracting archive
- Installing psr/log (3.0.2): 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.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/36 [>---------------------------] 0%
20/36 [===============>------------] 55%
35/36 [===========================>] 97%
36/36 [============================] 100%
Generating autoload files
16 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": {
"browserify-sign": {
"name": "browserify-sign",
"severity": "low",
"isDirect": false,
"via": [
"elliptic"
],
"effects": [
"crypto-browserify"
],
"range": ">=2.4.0",
"nodes": [
"node_modules/browserify-sign"
],
"fixAvailable": true
},
"create-ecdh": {
"name": "create-ecdh",
"severity": "low",
"isDirect": false,
"via": [
"elliptic"
],
"effects": [
"crypto-browserify"
],
"range": "*",
"nodes": [
"node_modules/create-ecdh"
],
"fixAvailable": true
},
"crypto-browserify": {
"name": "crypto-browserify",
"severity": "low",
"isDirect": false,
"via": [
"browserify-sign",
"create-ecdh"
],
"effects": [],
"range": ">=3.4.0",
"nodes": [
"node_modules/crypto-browserify"
],
"fixAvailable": true
},
"elliptic": {
"name": "elliptic",
"severity": "low",
"isDirect": false,
"via": [
{
"source": 1100186,
"name": "elliptic",
"dependency": "elliptic",
"title": "Valid ECDSA signatures erroneously rejected in Elliptic",
"url": "https://github.com/advisories/GHSA-fc9h-whq2-v747",
"severity": "low",
"cwe": [
"CWE-347"
],
"cvss": {
"score": 0,
"vectorString": null
},
"range": "<=6.5.7"
}
],
"effects": [
"browserify-sign",
"create-ecdh"
],
"range": "*",
"nodes": [
"node_modules/elliptic"
],
"fixAvailable": true
}
},
"metadata": {
"vulnerabilities": {
"info": 0,
"low": 4,
"moderate": 0,
"high": 0,
"critical": 0,
"total": 4
},
"dependencies": {
"prod": 1,
"dev": 889,
"optional": 2,
"peer": 1,
"peerOptional": 0,
"total": 889
}
}
}
--- 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": 889,
"removed": 0,
"changed": 0,
"audited": 890,
"funding": 105,
"audit": {
"auditReportVersion": 2,
"vulnerabilities": {
"browserify-sign": {
"name": "browserify-sign",
"severity": "low",
"isDirect": false,
"via": [
"elliptic"
],
"effects": [
"crypto-browserify"
],
"range": ">=2.4.0",
"nodes": [
"node_modules/browserify-sign"
],
"fixAvailable": true
},
"create-ecdh": {
"name": "create-ecdh",
"severity": "low",
"isDirect": false,
"via": [
"elliptic"
],
"effects": [
"crypto-browserify"
],
"range": "*",
"nodes": [
"node_modules/create-ecdh"
],
"fixAvailable": true
},
"crypto-browserify": {
"name": "crypto-browserify",
"severity": "low",
"isDirect": false,
"via": [
"browserify-sign",
"create-ecdh"
],
"effects": [],
"range": ">=3.4.0",
"nodes": [
"node_modules/crypto-browserify"
],
"fixAvailable": true
},
"elliptic": {
"name": "elliptic",
"severity": "low",
"isDirect": false,
"via": [
{
"source": 1100186,
"name": "elliptic",
"dependency": "elliptic",
"title": "Valid ECDSA signatures erroneously rejected in Elliptic",
"url": "https://github.com/advisories/GHSA-fc9h-whq2-v747",
"severity": "low",
"cwe": [
"CWE-347"
],
"cvss": {
"score": 0,
"vectorString": null
},
"range": "<=6.5.7"
}
],
"effects": [
"browserify-sign",
"create-ecdh"
],
"range": "*",
"nodes": [
"node_modules/elliptic"
],
"fixAvailable": true
}
},
"metadata": {
"vulnerabilities": {
"info": 0,
"low": 4,
"moderate": 0,
"high": 0,
"critical": 0,
"total": 4
},
"dependencies": {
"prod": 1,
"dev": 889,
"optional": 2,
"peer": 1,
"peerOptional": 0,
"total": 889
}
}
}
}
--- end ---
{"added": 889, "removed": 0, "changed": 0, "audited": 890, "funding": 105, "audit": {"auditReportVersion": 2, "vulnerabilities": {"browserify-sign": {"name": "browserify-sign", "severity": "low", "isDirect": false, "via": ["elliptic"], "effects": ["crypto-browserify"], "range": ">=2.4.0", "nodes": ["node_modules/browserify-sign"], "fixAvailable": true}, "create-ecdh": {"name": "create-ecdh", "severity": "low", "isDirect": false, "via": ["elliptic"], "effects": ["crypto-browserify"], "range": "*", "nodes": ["node_modules/create-ecdh"], "fixAvailable": true}, "crypto-browserify": {"name": "crypto-browserify", "severity": "low", "isDirect": false, "via": ["browserify-sign", "create-ecdh"], "effects": [], "range": ">=3.4.0", "nodes": ["node_modules/crypto-browserify"], "fixAvailable": true}, "elliptic": {"name": "elliptic", "severity": "low", "isDirect": false, "via": [{"source": 1100186, "name": "elliptic", "dependency": "elliptic", "title": "Valid ECDSA signatures erroneously rejected in Elliptic", "url": "https://github.com/advisories/GHSA-fc9h-whq2-v747", "severity": "low", "cwe": ["CWE-347"], "cvss": {"score": 0, "vectorString": null}, "range": "<=6.5.7"}], "effects": ["browserify-sign", "create-ecdh"], "range": "*", "nodes": ["node_modules/elliptic"], "fixAvailable": true}}, "metadata": {"vulnerabilities": {"info": 0, "low": 4, "moderate": 0, "high": 0, "critical": 0, "total": 4}, "dependencies": {"prod": 1, "dev": 889, "optional": 2, "peer": 1, "peerOptional": 0, "total": 889}}}}
$ /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 mkdirp@0.5.3: 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.)
npm WARN deprecated w3c-hr-time@1.0.2: Use your platform's native performance.now() and performance.timeOrigin.
npm WARN deprecated querystring@0.2.0: The querystring API is considered Legacy. new code should use the URLSearchParams API instead.
--- stdout ---
added 888 packages, and audited 889 packages in 9s
105 packages are looking for funding
run `npm fund` for details
# npm audit report
elliptic *
Valid ECDSA signatures erroneously rejected in Elliptic - https://github.com/advisories/GHSA-fc9h-whq2-v747
fix available via `npm audit fix`
node_modules/elliptic
browserify-sign >=2.4.0
Depends on vulnerable versions of elliptic
node_modules/browserify-sign
crypto-browserify >=3.4.0
Depends on vulnerable versions of browserify-sign
Depends on vulnerable versions of create-ecdh
node_modules/crypto-browserify
create-ecdh *
Depends on vulnerable versions of elliptic
node_modules/create-ecdh
4 low severity vulnerabilities
To address all issues, run:
npm audit fix
--- end ---
Verifying that tests still pass
$ /usr/bin/npm ci
--- stderr ---
npm WARN deprecated mkdirp@0.5.3: 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.)
npm WARN deprecated w3c-hr-time@1.0.2: Use your platform's native performance.now() and performance.timeOrigin.
npm WARN deprecated querystring@0.2.0: The querystring API is considered Legacy. new code should use the URLSearchParams API instead.
--- stdout ---
added 888 packages, and audited 889 packages in 10s
105 packages are looking for funding
run `npm fund` for details
4 low severity vulnerabilities
To address all issues, run:
npm audit fix
Run `npm audit` for details.
--- end ---
$ /usr/bin/npm test
--- stderr ---
PASS tests/jest/ext.graph.render/sanitizeUrl.test.js
PASS tests/jest/ext.graph.render/mapSchema.test.js (5.556 s)
Test Suites: 2 passed, 2 total
Tests: 34 passed, 34 total
Snapshots: 0 total
Time: 8.056 s
--- stdout ---
> Graph@0.0.0 test
> grunt test && npm run test:unit
Running "eslint:all" (eslint) task
/src/repo/modules/ext.graph.render/main.js
9:1 warning The type 'vega' is undefined jsdoc/no-undefined-types
9:1 warning The type 'vega' is undefined jsdoc/no-undefined-types
/src/repo/modules/ext.graph.render/mapSchema.js
91:1 warning This line has a length of 129. Maximum allowed is 100 max-len
/src/repo/modules/graph.sandbox.js
35:1 warning Syntax error in type: () => string jsdoc/valid-types
36:1 warning Syntax error in type: () => void jsdoc/valid-types
38:1 warning The type 'EditSession' is undefined jsdoc/no-undefined-types
124:5 warning ES2024 Resizable ArrayBuffer is forbidden es-x/no-resizable-and-growable-arraybuffers
/src/repo/modules/ve-graph/ve.ce.MWGraphNode.js
70:1 warning The type 'vega' is undefined jsdoc/no-undefined-types
/src/repo/tests/jest/ext.graph.render/sanitizeUrl.test.js
14:1 warning This line has a length of 103. Maximum allowed is 100 max-len
✖ 9 problems (0 errors, 9 warnings)
Running "banana:Graph" (banana) task
>> 2 message directories checked.
Running "stylelint:all" (stylelint) task
>> Linted 4 files without errors
Done.
> Graph@0.0.0 test:unit
> jest tests/jest --silent
--------------------------|---------|----------|---------|---------|-------------------
File | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s
--------------------------|---------|----------|---------|---------|-------------------
All files | 60.65 | 65.33 | 52.45 | 59.79 |
modules | 0 | 0 | 0 | 0 |
graph-loader.js | 0 | 0 | 0 | 0 | 1-71
graph.sandbox.js | 0 | 0 | 0 | 0 | 2-166
modules/ext.graph.render | 86.85 | 81.66 | 94.11 | 86.34 |
main.js | 0 | 0 | 0 | 0 | 1-46
mapSchema.js | 93.37 | 85.71 | 100 | 93.06 | 41,92-113,118,129
sanitizeUrl.js | 100 | 88.88 | 100 | 100 | 28
--------------------------|---------|----------|---------|---------|-------------------
--- end ---
{"1100186": {"source": 1100186, "name": "elliptic", "dependency": "elliptic", "title": "Valid ECDSA signatures erroneously rejected in Elliptic", "url": "https://github.com/advisories/GHSA-fc9h-whq2-v747", "severity": "low", "cwe": ["CWE-347"], "cvss": {"score": 0, "vectorString": null}, "range": "<=6.5.7"}}
{"1100186": {"source": 1100186, "name": "elliptic", "dependency": "elliptic", "title": "Valid ECDSA signatures erroneously rejected in Elliptic", "url": "https://github.com/advisories/GHSA-fc9h-whq2-v747", "severity": "low", "cwe": ["CWE-347"], "cvss": {"score": 0, "vectorString": null}, "range": "<=6.5.7"}}
{"1100186": {"source": 1100186, "name": "elliptic", "dependency": "elliptic", "title": "Valid ECDSA signatures erroneously rejected in Elliptic", "url": "https://github.com/advisories/GHSA-fc9h-whq2-v747", "severity": "low", "cwe": ["CWE-347"], "cvss": {"score": 0, "vectorString": null}, "range": "<=6.5.7"}}
{"1100186": {"source": 1100186, "name": "elliptic", "dependency": "elliptic", "title": "Valid ECDSA signatures erroneously rejected in Elliptic", "url": "https://github.com/advisories/GHSA-fc9h-whq2-v747", "severity": "low", "cwe": ["CWE-347"], "cvss": {"score": 0, "vectorString": null}, "range": "<=6.5.7"}}
$ 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/tmp6a4sahyk
--- stdout ---
On branch master
Your branch is up to date with 'origin/master'.
nothing to commit, working tree clean
--- end ---