$ date
--- stdout ---
Thu Mar 27 08:18:04 UTC 2025
--- end ---
$ git clone file:///srv/git/mediawiki-extensions-PageEncryption.git repo --depth=1 -b REL1_43
--- 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_43
--- stdout ---
329618f617b56fee6e548e72973808788e52cbca refs/heads/REL1_43
--- end ---
$ /usr/bin/npm audit --json
--- stdout ---
{
"auditReportVersion": 2,
"vulnerabilities": {
"nanoid": {
"name": "nanoid",
"severity": "moderate",
"isDirect": false,
"via": [
{
"source": 1101163,
"name": "nanoid",
"dependency": "nanoid",
"title": "Predictable results in nanoid generation when given non-integer values",
"url": "https://github.com/advisories/GHSA-mwcw-c2x4-8c55",
"severity": "moderate",
"cwe": [
"CWE-835"
],
"cvss": {
"score": 4.3,
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N"
},
"range": "<3.3.8"
}
],
"effects": [],
"range": "<3.3.8",
"nodes": [
"node_modules/nanoid"
],
"fixAvailable": true
}
},
"metadata": {
"vulnerabilities": {
"info": 0,
"low": 0,
"moderate": 1,
"high": 0,
"critical": 0,
"total": 1
},
"dependencies": {
"prod": 1,
"dev": 414,
"optional": 0,
"peer": 1,
"peerOptional": 0,
"total": 414
}
}
}
--- 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: 23 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 defuse/php-encryption (v2.4.0)
- Locking mediawiki/mediawiki-codesniffer (v45.0.0)
- Locking mediawiki/minus-x (1.1.3)
- Locking paragonie/random_compat (v9.99.100)
- 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.10.3)
- Locking symfony/console (v7.2.1)
- 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: 23 installs, 0 updates, 0 removals
0 [>---------------------------] 0 [->--------------------------]
- Installing squizlabs/php_codesniffer (3.10.3): Extracting archive
- Installing dealerdirect/phpcodesniffer-composer-installer (v1.0.0): Extracting archive
- Installing paragonie/random_compat (v9.99.100): Extracting archive
- Installing defuse/php-encryption (v2.4.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 (v45.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.1): 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/21 [>---------------------------] 0%
18/21 [========================>---] 85%
21/21 [============================] 100%
1 package suggestions were added by new dependencies, use `composer suggest` to see details.
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 ---
$ /usr/bin/npm audit --json
--- stdout ---
{
"auditReportVersion": 2,
"vulnerabilities": {
"nanoid": {
"name": "nanoid",
"severity": "moderate",
"isDirect": false,
"via": [
{
"source": 1101163,
"name": "nanoid",
"dependency": "nanoid",
"title": "Predictable results in nanoid generation when given non-integer values",
"url": "https://github.com/advisories/GHSA-mwcw-c2x4-8c55",
"severity": "moderate",
"cwe": [
"CWE-835"
],
"cvss": {
"score": 4.3,
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N"
},
"range": "<3.3.8"
}
],
"effects": [],
"range": "<3.3.8",
"nodes": [
"node_modules/nanoid"
],
"fixAvailable": true
}
},
"metadata": {
"vulnerabilities": {
"info": 0,
"low": 0,
"moderate": 1,
"high": 0,
"critical": 0,
"total": 1
},
"dependencies": {
"prod": 1,
"dev": 414,
"optional": 0,
"peer": 1,
"peerOptional": 0,
"total": 414
}
}
}
--- 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": 414,
"removed": 0,
"changed": 0,
"audited": 415,
"funding": 97,
"audit": {
"auditReportVersion": 2,
"vulnerabilities": {
"nanoid": {
"name": "nanoid",
"severity": "moderate",
"isDirect": false,
"via": [
{
"source": 1101163,
"name": "nanoid",
"dependency": "nanoid",
"title": "Predictable results in nanoid generation when given non-integer values",
"url": "https://github.com/advisories/GHSA-mwcw-c2x4-8c55",
"severity": "moderate",
"cwe": [
"CWE-835"
],
"cvss": {
"score": 4.3,
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N"
},
"range": "<3.3.8"
}
],
"effects": [],
"range": "<3.3.8",
"nodes": [
""
],
"fixAvailable": true
}
},
"metadata": {
"vulnerabilities": {
"info": 0,
"low": 0,
"moderate": 1,
"high": 0,
"critical": 0,
"total": 1
},
"dependencies": {
"prod": 1,
"dev": 414,
"optional": 0,
"peer": 1,
"peerOptional": 0,
"total": 414
}
}
}
}
--- end ---
{"added": 414, "removed": 0, "changed": 0, "audited": 415, "funding": 97, "audit": {"auditReportVersion": 2, "vulnerabilities": {"nanoid": {"name": "nanoid", "severity": "moderate", "isDirect": false, "via": [{"source": 1101163, "name": "nanoid", "dependency": "nanoid", "title": "Predictable results in nanoid generation when given non-integer values", "url": "https://github.com/advisories/GHSA-mwcw-c2x4-8c55", "severity": "moderate", "cwe": ["CWE-835"], "cvss": {"score": 4.3, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N"}, "range": "<3.3.8"}], "effects": [], "range": "<3.3.8", "nodes": [""], "fixAvailable": true}}, "metadata": {"vulnerabilities": {"info": 0, "low": 0, "moderate": 1, "high": 0, "critical": 0, "total": 1}, "dependencies": {"prod": 1, "dev": 414, "optional": 0, "peer": 1, "peerOptional": 0, "total": 414}}}}
$ /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 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.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 414 packages, and audited 415 packages in 5s
97 packages are looking for funding
run `npm fund` for details
found 0 vulnerabilities
--- end ---
Verifying that tests still pass
$ /usr/bin/npm ci
--- stderr ---
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.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 414 packages, and audited 415 packages in 5s
97 packages are looking for funding
run `npm fund` for details
found 0 vulnerabilities
--- end ---
$ /usr/bin/npm test
--- stdout ---
> test
> grunt test
Running "eslint:all" (eslint) task
/src/repo/resources/PageEncryptionPassword.js
84:3 warning Expected an assignment or function call and instead saw an expression no-unused-expressions
90:6 warning Unexpected use of comma operator no-sequences
227:8 warning 'password' declared on line 282 column 8 is used outside of binding context block-scoped-var
230:9 warning 'password' declared on line 282 column 8 is used outside of binding context block-scoped-var
245:24 warning 'PageEncryptionPasswordValidator' is not defined no-undef
246:42 warning 'password' declared on line 282 column 8 is used outside of binding context block-scoped-var
260:8 warning Unreachable code no-unreachable
282:8 warning 'password' is already defined no-redeclare
282:8 warning 'password' declared on line 227 column 8 is used outside of binding context block-scoped-var
287:14 warning 'password' declared on line 227 column 8 is used outside of binding context block-scoped-var
287:14 warning 'password' declared on line 282 column 8 is used outside of binding context block-scoped-var
299:6 warning Expected a 'break' statement before 'case' no-fallthrough
326:13 warning Unexpected console statement no-console
336:10 warning Unexpected console statement no-console
340:1 warning This line has a length of 101. Maximum allowed is 100 max-len
354:3 warning Unreachable code no-unreachable
378:5 warning Unexpected tab character no-tabs
379:5 warning Unexpected tab character no-tabs
380:5 warning Unexpected tab character no-tabs
/src/repo/resources/PageEncryptionPasswordValidator.js
18:1 warning Invalid JSDoc tag name "ingroup" jsdoc/check-tag-names
24:7 warning 'PageEncryptionPasswordValidator' is assigned a value but never used no-unused-vars
25:6 warning 'conf' is already defined no-redeclare
97:20 warning 'str' is defined but never used no-unused-vars
/src/repo/resources/PageEncryptionPermissions.js
23:2 warning Avoid queries which search the entire DOM. Keep DOM nodes in memory where possible no-jquery/no-global-selector
27:4 warning navigator.clipboard() is not supported in Safari 11.1, iOS Safari 11.3-11.4 compat/compat
28:5 warning Unexpected alert no-alert
37:2 warning Avoid queries which search the entire DOM. Keep DOM nodes in memory where possible no-jquery/no-global-selector
41:4 warning navigator.clipboard() is not supported in Safari 11.1, iOS Safari 11.3-11.4 compat/compat
42:5 warning Unexpected alert no-alert
75:3 warning 'canManagePermissions' is not defined no-undef
105:8 warning Avoid queries which search the entire DOM. Keep DOM nodes in memory where possible no-jquery/no-global-selector
✖ 31 problems (0 errors, 31 warnings)
Running "stylelint:all" (stylelint) task
>> Linted 1 files without errors
Done.
--- end ---
{"1101163": {"source": 1101163, "name": "nanoid", "dependency": "nanoid", "title": "Predictable results in nanoid generation when given non-integer values", "url": "https://github.com/advisories/GHSA-mwcw-c2x4-8c55", "severity": "moderate", "cwe": ["CWE-835"], "cvss": {"score": 4.3, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N"}, "range": "<3.3.8"}}
Upgrading n:nanoid from 3.3.7 -> 3.3.11
$ package-lock-lint package-lock.json
--- stdout ---
Checking package-lock.json
--- end ---
build: Updating nanoid to 3.3.11
* https://github.com/advisories/GHSA-mwcw-c2x4-8c55
Additional changes:
* Enable stylelint caching.
$ git add .
--- stdout ---
--- end ---
$ git commit -F /tmp/tmpy8pv1zwg
--- stdout ---
[REL1_43 d89ea00] build: Updating nanoid to 3.3.11
3 files changed, 7 insertions(+), 3 deletions(-)
--- end ---
$ git format-patch HEAD~1 --stdout
--- stdout ---
From d89ea0087831547c8d2434da6943c4f7a391b74b Mon Sep 17 00:00:00 2001
From: libraryupgrader <tools.libraryupgrader@tools.wmflabs.org>
Date: Thu, 27 Mar 2025 08:18:28 +0000
Subject: [PATCH] build: Updating nanoid to 3.3.11
* https://github.com/advisories/GHSA-mwcw-c2x4-8c55
Additional changes:
* Enable stylelint caching.
Change-Id: I6d5a02a6d5513e9a08aead5f3d1741b78ff97061
---
.gitignore | 1 +
Gruntfile.js | 3 +++
package-lock.json | 6 +++---
3 files changed, 7 insertions(+), 3 deletions(-)
diff --git a/.gitignore b/.gitignore
index d34f130..e40d78b 100644
--- a/.gitignore
+++ b/.gitignore
@@ -5,3 +5,4 @@
/vendor
/node_modules
/.eslintcache
+/.stylelintcache
diff --git a/Gruntfile.js b/Gruntfile.js
index cd81937..661ba75 100644
--- a/Gruntfile.js
+++ b/Gruntfile.js
@@ -15,6 +15,9 @@ module.exports = function ( grunt ) {
]
},
stylelint: {
+ options: {
+ cache: true
+ },
all: [
'**/*.{css,less}',
'!node_modules/**',
diff --git a/package-lock.json b/package-lock.json
index 595141b..04833f5 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -3117,9 +3117,9 @@
}
},
"node_modules/nanoid": {
- "version": "3.3.7",
- "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz",
- "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==",
+ "version": "3.3.11",
+ "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz",
+ "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==",
"dev": true,
"funding": [
{
--
2.39.2
--- end ---