mediawiki/libs/ZestJQ: main (log #2491379)

sourcepatches

This run took 54 seconds.

From 27bc67cb944530b9168809d487e7b97b54efe7ef Mon Sep 17 00:00:00 2001
From: libraryupgrader <tools.libraryupgrader@tools.wmflabs.org>
Date: Tue, 2 Jun 2026 06:09:51 +0000
Subject: [PATCH] [DNM] there are no updates

Change-Id: Ibb77c4e0ffec55274bc1e8dc30cd18b53bd6a54f
---
 package-lock.json | 78 +++++++++++++++++++++++------------------------
 1 file changed, 39 insertions(+), 39 deletions(-)

diff --git a/package-lock.json b/package-lock.json
index a5469f7..1ee2a5c 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1702,14 +1702,14 @@
 			"dev": true
 		},
 		"node_modules/@vitest/expect": {
-			"version": "3.2.4",
-			"resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-3.2.4.tgz",
-			"integrity": "sha512-Io0yyORnB6sikFlt8QW5K7slY4OjqNX9jmJQ02QDda8lyM6B5oNgVWoSoKPac8/kgnCUzuHQKrSLtu/uOqqrig==",
+			"version": "3.2.6",
+			"resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-3.2.6.tgz",
+			"integrity": "sha512-1+7q9BtaKzEmO+fmNT3kYvoNn5Y71XWAx2Q5HRim4tTVRQVRv4uJFAQ5FbK0OPUeNP/WmVCpxYxoJdvuHVjzBQ==",
 			"dev": true,
 			"dependencies": {
 				"@types/chai": "^5.2.2",
-				"@vitest/spy": "3.2.4",
-				"@vitest/utils": "3.2.4",
+				"@vitest/spy": "3.2.6",
+				"@vitest/utils": "3.2.6",
 				"chai": "^5.2.0",
 				"tinyrainbow": "^2.0.0"
 			},
@@ -1718,12 +1718,12 @@
 			}
 		},
 		"node_modules/@vitest/mocker": {
-			"version": "3.2.4",
-			"resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-3.2.4.tgz",
-			"integrity": "sha512-46ryTE9RZO/rfDd7pEqFl7etuyzekzEhUbTW3BvmeO/BcCMEgq59BKhek3dXDWgAj4oMK6OZi+vRr1wPW6qjEQ==",
+			"version": "3.2.6",
+			"resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-3.2.6.tgz",
+			"integrity": "sha512-EZOrpDbkKotFAP7wPAQV1UIyoGOk4oX7ynWhBhLB7v+meMHbQhU16oPpIYGTTe4oFlhpryGpgpcZP/sin3hYuw==",
 			"dev": true,
 			"dependencies": {
-				"@vitest/spy": "3.2.4",
+				"@vitest/spy": "3.2.6",
 				"estree-walker": "^3.0.3",
 				"magic-string": "^0.30.17"
 			},
@@ -1753,9 +1753,9 @@
 			}
 		},
 		"node_modules/@vitest/pretty-format": {
-			"version": "3.2.4",
-			"resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-3.2.4.tgz",
-			"integrity": "sha512-IVNZik8IVRJRTr9fxlitMKeJeXFFFN0JaB9PHPGQ8NKQbGpfjlTx9zO4RefN8gp7eqjNy8nyK3NZmBzOPeIxtA==",
+			"version": "3.2.6",
+			"resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-3.2.6.tgz",
+			"integrity": "sha512-lb7XXXzmm2h2ASzFnRvQpDo6onT1NmMJA3tkGTWiBFtRJ9lxGY3d3mm/Apt36gej2bkkOVLL/yTOtufDaFa/jA==",
 			"dev": true,
 			"dependencies": {
 				"tinyrainbow": "^2.0.0"
@@ -1765,12 +1765,12 @@
 			}
 		},
 		"node_modules/@vitest/runner": {
-			"version": "3.2.4",
-			"resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-3.2.4.tgz",
-			"integrity": "sha512-oukfKT9Mk41LreEW09vt45f8wx7DordoWUZMYdY/cyAk7w5TWkTRCNZYF7sX7n2wB7jyGAl74OxgwhPgKaqDMQ==",
+			"version": "3.2.6",
+			"resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-3.2.6.tgz",
+			"integrity": "sha512-HYcoSj1w5tcgUnzoF0HcyaAQjpA1gj9ftUJ7iSJSuipc02jW9gKkigwZbjFldAfYHA1fa8UZVRftdMY5msWM9Q==",
 			"dev": true,
 			"dependencies": {
-				"@vitest/utils": "3.2.4",
+				"@vitest/utils": "3.2.6",
 				"pathe": "^2.0.3",
 				"strip-literal": "^3.0.0"
 			},
@@ -1779,12 +1779,12 @@
 			}
 		},
 		"node_modules/@vitest/snapshot": {
-			"version": "3.2.4",
-			"resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-3.2.4.tgz",
-			"integrity": "sha512-dEYtS7qQP2CjU27QBC5oUOxLE/v5eLkGqPE0ZKEIDGMs4vKWe7IjgLOeauHsR0D5YuuycGRO5oSRXnwnmA78fQ==",
+			"version": "3.2.6",
+			"resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-3.2.6.tgz",
+			"integrity": "sha512-H+ZjNTWGpObenh0YnlBctAPnJSI20P81PL8BPzWpx54YXLLTm8hEsWawtcYLMrwvpK48hGxLLbCS+1KRXhsKhw==",
 			"dev": true,
 			"dependencies": {
-				"@vitest/pretty-format": "3.2.4",
+				"@vitest/pretty-format": "3.2.6",
 				"magic-string": "^0.30.17",
 				"pathe": "^2.0.3"
 			},
@@ -1793,9 +1793,9 @@
 			}
 		},
 		"node_modules/@vitest/spy": {
-			"version": "3.2.4",
-			"resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-3.2.4.tgz",
-			"integrity": "sha512-vAfasCOe6AIK70iP5UD11Ac4siNUNJ9i/9PZ3NKx07sG6sUxeag1LWdNrMWeKKYBLlzuK+Gn65Yd5nyL6ds+nw==",
+			"version": "3.2.6",
+			"resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-3.2.6.tgz",
+			"integrity": "sha512-oq6BbH68WzcWmwtBrU9nqLeaXTR4XwJF7FSLkKEZo4i6eoXcrxjcwSuTvWBIRUTC6VC72nXYunzqgZA+IKdtxg==",
 			"dev": true,
 			"dependencies": {
 				"tinyspy": "^4.0.3"
@@ -1805,12 +1805,12 @@
 			}
 		},
 		"node_modules/@vitest/utils": {
-			"version": "3.2.4",
-			"resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-3.2.4.tgz",
-			"integrity": "sha512-fB2V0JFrQSMsCo9HiSq3Ezpdv4iYaXRG1Sx8edX3MwxfyNn83mKiGzOcH+Fkxt4MHxr3y42fQi1oeAInqgX2QA==",
+			"version": "3.2.6",
+			"resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-3.2.6.tgz",
+			"integrity": "sha512-lI23nIs4bnT3T8NIoh+vFaz5s2/DdP0Jgt2jxwgWljvwn82cLJtyi/If+fjFyoLMGIOz0U/fKvWE0d4jsNQEfg==",
 			"dev": true,
 			"dependencies": {
-				"@vitest/pretty-format": "3.2.4",
+				"@vitest/pretty-format": "3.2.6",
 				"loupe": "^3.1.4",
 				"tinyrainbow": "^2.0.0"
 			},
@@ -5543,19 +5543,19 @@
 			}
 		},
 		"node_modules/vitest": {
-			"version": "3.2.4",
-			"resolved": "https://registry.npmjs.org/vitest/-/vitest-3.2.4.tgz",
-			"integrity": "sha512-LUCP5ev3GURDysTWiP47wRRUpLKMOfPh+yKTx3kVIEiu5KOMeqzpnYNsKyOoVrULivR8tLcks4+lga33Whn90A==",
+			"version": "3.2.6",
+			"resolved": "https://registry.npmjs.org/vitest/-/vitest-3.2.6.tgz",
+			"integrity": "sha512-xejya+bT/j/+R/AGa1XOfRxLmNUlLtlwjRsFUILF+xHfzElmGcmFydy2gqqIrd62ptIEfwVMofd19uNWD9L7Nw==",
 			"dev": true,
 			"dependencies": {
 				"@types/chai": "^5.2.2",
-				"@vitest/expect": "3.2.4",
-				"@vitest/mocker": "3.2.4",
-				"@vitest/pretty-format": "^3.2.4",
-				"@vitest/runner": "3.2.4",
-				"@vitest/snapshot": "3.2.4",
-				"@vitest/spy": "3.2.4",
-				"@vitest/utils": "3.2.4",
+				"@vitest/expect": "3.2.6",
+				"@vitest/mocker": "3.2.6",
+				"@vitest/pretty-format": "^3.2.6",
+				"@vitest/runner": "3.2.6",
+				"@vitest/snapshot": "3.2.6",
+				"@vitest/spy": "3.2.6",
+				"@vitest/utils": "3.2.6",
 				"chai": "^5.2.0",
 				"debug": "^4.4.1",
 				"expect-type": "^1.2.1",
@@ -5585,8 +5585,8 @@
 				"@edge-runtime/vm": "*",
 				"@types/debug": "^4.1.12",
 				"@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0",
-				"@vitest/browser": "3.2.4",
-				"@vitest/ui": "3.2.4",
+				"@vitest/browser": "3.2.6",
+				"@vitest/ui": "3.2.6",
 				"happy-dom": "*",
 				"jsdom": "*"
 			},
-- 
2.47.3

$ date
--- stdout ---
Tue Jun  2 06:09:12 UTC 2026

--- end ---
$ git clone file:///srv/git/mediawiki-libs-ZestJQ.git /src/repo --depth=1 -b main
--- stderr ---
Cloning into '/src/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/main
--- stdout ---
cf70071c7c32b4a1056c9b7db3a3ab53c0896ebf refs/heads/main

--- end ---
$ /usr/bin/npm audit --json
--- stdout ---
{
  "auditReportVersion": 2,
  "vulnerabilities": {
    "@rollup/plugin-terser": {
      "name": "@rollup/plugin-terser",
      "severity": "moderate",
      "isDirect": true,
      "via": [
        "serialize-javascript"
      ],
      "effects": [],
      "range": "0.2.0 - 0.4.4",
      "nodes": [
        "node_modules/@rollup/plugin-terser"
      ],
      "fixAvailable": {
        "name": "@rollup/plugin-terser",
        "version": "1.0.0",
        "isSemVerMajor": true
      }
    },
    "serialize-javascript": {
      "name": "serialize-javascript",
      "severity": "high",
      "isDirect": false,
      "via": [
        {
          "source": 1113686,
          "name": "serialize-javascript",
          "dependency": "serialize-javascript",
          "title": "Serialize JavaScript is Vulnerable to RCE via RegExp.flags and Date.prototype.toISOString()",
          "url": "https://github.com/advisories/GHSA-5c6j-r48x-rmvq",
          "severity": "high",
          "cwe": [
            "CWE-96"
          ],
          "cvss": {
            "score": 8.1,
            "vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H"
          },
          "range": "<=7.0.2"
        },
        {
          "source": 1119440,
          "name": "serialize-javascript",
          "dependency": "serialize-javascript",
          "title": "Serialize JavaScript has CPU Exhaustion Denial of Service via crafted array-like objects",
          "url": "https://github.com/advisories/GHSA-qj8w-gfj5-8c6v",
          "severity": "moderate",
          "cwe": [
            "CWE-400",
            "CWE-834"
          ],
          "cvss": {
            "score": 5.9,
            "vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H"
          },
          "range": ">=5.0.0 <7.0.5"
        }
      ],
      "effects": [
        "@rollup/plugin-terser"
      ],
      "range": "<=7.0.4",
      "nodes": [
        "node_modules/serialize-javascript"
      ],
      "fixAvailable": {
        "name": "@rollup/plugin-terser",
        "version": "1.0.0",
        "isSemVerMajor": true
      }
    },
    "vitest": {
      "name": "vitest",
      "severity": "critical",
      "isDirect": true,
      "via": [
        {
          "source": 1120011,
          "name": "vitest",
          "dependency": "vitest",
          "title": "When Vitest UI server is listening, arbitrary file can be read and executed",
          "url": "https://github.com/advisories/GHSA-5xrq-8626-4rwp",
          "severity": "critical",
          "cwe": [
            "CWE-862"
          ],
          "cvss": {
            "score": 9.8,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H"
          },
          "range": "<4.1.0"
        }
      ],
      "effects": [],
      "range": "<4.1.0",
      "nodes": [
        "node_modules/vitest"
      ],
      "fixAvailable": {
        "name": "vitest",
        "version": "4.1.8",
        "isSemVerMajor": true
      }
    }
  },
  "metadata": {
    "vulnerabilities": {
      "info": 0,
      "low": 0,
      "moderate": 1,
      "high": 1,
      "critical": 1,
      "total": 3
    },
    "dependencies": {
      "prod": 1,
      "dev": 439,
      "optional": 52,
      "peer": 4,
      "peerOptional": 0,
      "total": 443
    }
  }
}

--- 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: 66 installs, 0 updates, 0 removals
  - Locking composer/pcre (3.3.2)
  - Locking composer/semver (3.4.4)
  - Locking composer/spdx-licenses (1.6.0)
  - Locking composer/xdebug-handler (3.0.5)
  - Locking danog/advanced-json-rpc (v3.2.3)
  - Locking dealerdirect/phpcodesniffer-composer-installer (v1.2.1)
  - Locking doctrine/deprecations (1.1.6)
  - Locking mediawiki/mediawiki-codesniffer (v51.0.0)
  - Locking mediawiki/mediawiki-phan-config (0.20.0)
  - Locking mediawiki/minus-x (2.0.1)
  - Locking mediawiki/phan-taint-check-plugin (9.1.0)
  - Locking myclabs/deep-copy (1.13.4)
  - Locking netresearch/jsonmapper (v5.0.1)
  - Locking nikic/php-parser (v5.7.0)
  - Locking ockcyp/covers-validator (v1.7.0)
  - Locking phan/phan (6.0.2)
  - Locking phan/tolerant-php-parser (v0.2.0)
  - Locking phan/var_representation_polyfill (0.1.4)
  - Locking phar-io/manifest (2.0.4)
  - Locking phar-io/version (3.2.1)
  - 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.5.0)
  - Locking phpcsstandards/phpcsutils (1.2.2)
  - Locking phpdocumentor/reflection-common (2.2.0)
  - Locking phpdocumentor/reflection-docblock (6.0.3)
  - Locking phpdocumentor/type-resolver (2.0.0)
  - Locking phpstan/phpdoc-parser (2.3.2)
  - Locking phpunit/php-code-coverage (10.1.16)
  - Locking phpunit/php-file-iterator (4.1.0)
  - Locking phpunit/php-invoker (4.0.0)
  - Locking phpunit/php-text-template (3.0.1)
  - Locking phpunit/php-timer (6.0.0)
  - Locking phpunit/phpunit (10.5.63)
  - Locking psr/container (2.0.2)
  - Locking psr/log (3.0.2)
  - Locking sabre/event (6.1.0)
  - Locking sebastian/cli-parser (2.0.1)
  - Locking sebastian/code-unit (2.0.0)
  - Locking sebastian/code-unit-reverse-lookup (3.0.0)
  - Locking sebastian/comparator (5.0.5)
  - Locking sebastian/complexity (3.2.0)
  - Locking sebastian/diff (5.1.1)
  - Locking sebastian/environment (6.1.0)
  - Locking sebastian/exporter (5.1.4)
  - Locking sebastian/global-state (6.0.2)
  - Locking sebastian/lines-of-code (2.0.2)
  - Locking sebastian/object-enumerator (5.0.0)
  - Locking sebastian/object-reflector (3.0.0)
  - Locking sebastian/recursion-context (5.0.1)
  - Locking sebastian/type (4.0.0)
  - Locking sebastian/version (4.0.1)
  - Locking squizlabs/php_codesniffer (3.13.5)
  - Locking symfony/console (v6.4.41)
  - Locking symfony/deprecation-contracts (v3.7.0)
  - Locking symfony/polyfill-ctype (v1.37.0)
  - Locking symfony/polyfill-intl-grapheme (v1.38.1)
  - Locking symfony/polyfill-intl-normalizer (v1.38.0)
  - Locking symfony/polyfill-mbstring (v1.38.1)
  - Locking symfony/service-contracts (v3.7.0)
  - Locking symfony/string (v7.4.13)
  - Locking theseer/tokenizer (1.3.1)
  - Locking webmozart/assert (2.4.0)
  - Locking wikimedia/update-history (1.0.3)
  - Locking wikimedia/wikipeg (6.1.2)
Writing lock file
Installing dependencies from lock file (including require-dev)
Package operations: 66 installs, 0 updates, 0 removals
    0 [>---------------------------]    0 [->--------------------------]
  - Installing squizlabs/php_codesniffer (3.13.5): Extracting archive
  - Installing dealerdirect/phpcodesniffer-composer-installer (v1.2.1): Extracting archive
  - Installing composer/pcre (3.3.2): Extracting archive
  - Installing phpcsstandards/phpcsutils (1.2.2): Extracting archive
  - Installing phpcsstandards/phpcsextra (1.5.0): Extracting archive
  - Installing symfony/polyfill-mbstring (v1.38.1): Extracting archive
  - Installing composer/spdx-licenses (1.6.0): Extracting archive
  - Installing composer/semver (3.4.4): Extracting archive
  - Installing mediawiki/mediawiki-codesniffer (v51.0.0): Extracting archive
  - Installing symfony/polyfill-intl-normalizer (v1.38.0): Extracting archive
  - Installing symfony/polyfill-intl-grapheme (v1.38.1): Extracting archive
  - Installing symfony/polyfill-ctype (v1.37.0): Extracting archive
  - Installing symfony/deprecation-contracts (v3.7.0): Extracting archive
  - Installing symfony/string (v7.4.13): Extracting archive
  - Installing psr/container (2.0.2): Extracting archive
  - Installing symfony/service-contracts (v3.7.0): Extracting archive
  - Installing symfony/console (v6.4.41): Extracting archive
  - Installing sabre/event (6.1.0): Extracting archive
  - Installing phan/var_representation_polyfill (0.1.4): Extracting archive
  - Installing phan/tolerant-php-parser (v0.2.0): Extracting archive
  - Installing netresearch/jsonmapper (v5.0.1): Extracting archive
  - Installing webmozart/assert (2.4.0): Extracting archive
  - Installing phpstan/phpdoc-parser (2.3.2): Extracting archive
  - Installing phpdocumentor/reflection-common (2.2.0): Extracting archive
  - Installing doctrine/deprecations (1.1.6): Extracting archive
  - Installing phpdocumentor/type-resolver (2.0.0): Extracting archive
  - Installing phpdocumentor/reflection-docblock (6.0.3): Extracting archive
  - Installing danog/advanced-json-rpc (v3.2.3): Extracting archive
  - Installing psr/log (3.0.2): Extracting archive
  - Installing composer/xdebug-handler (3.0.5): Extracting archive
  - Installing phan/phan (6.0.2): Extracting archive
  - Installing mediawiki/phan-taint-check-plugin (9.1.0): Extracting archive
  - Installing mediawiki/mediawiki-phan-config (0.20.0): Extracting archive
  - Installing mediawiki/minus-x (2.0.1): Extracting archive
  - Installing sebastian/version (4.0.1): Extracting archive
  - Installing sebastian/type (4.0.0): Extracting archive
  - Installing sebastian/recursion-context (5.0.1): Extracting archive
  - Installing sebastian/object-reflector (3.0.0): Extracting archive
  - Installing sebastian/object-enumerator (5.0.0): Extracting archive
  - Installing sebastian/global-state (6.0.2): Extracting archive
  - Installing sebastian/exporter (5.1.4): Extracting archive
  - Installing sebastian/environment (6.1.0): Extracting archive
  - Installing sebastian/diff (5.1.1): Extracting archive
  - Installing sebastian/comparator (5.0.5): Extracting archive
  - Installing sebastian/code-unit (2.0.0): Extracting archive
  - Installing sebastian/cli-parser (2.0.1): Extracting archive
  - Installing phpunit/php-timer (6.0.0): Extracting archive
  - Installing phpunit/php-text-template (3.0.1): Extracting archive
  - Installing phpunit/php-invoker (4.0.0): Extracting archive
  - Installing phpunit/php-file-iterator (4.1.0): Extracting archive
  - Installing theseer/tokenizer (1.3.1): Extracting archive
  - Installing nikic/php-parser (v5.7.0): Extracting archive
  - Installing sebastian/lines-of-code (2.0.2): Extracting archive
  - Installing sebastian/complexity (3.2.0): Extracting archive
  - Installing sebastian/code-unit-reverse-lookup (3.0.0): Extracting archive
  - Installing phpunit/php-code-coverage (10.1.16): Extracting archive
  - Installing phar-io/version (3.2.1): Extracting archive
  - Installing phar-io/manifest (2.0.4): Extracting archive
  - Installing myclabs/deep-copy (1.13.4): Extracting archive
  - Installing phpunit/phpunit (10.5.63): Extracting archive
  - Installing ockcyp/covers-validator (v1.7.0): 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
  - Installing wikimedia/update-history (1.0.3): Extracting archive
  - Installing wikimedia/wikipeg (6.1.2): Extracting archive
  0/64 [>---------------------------]   0%
 28/64 [============>---------------]  43%
 46/64 [====================>-------]  71%
 57/64 [========================>---]  89%
 64/64 [============================] 100%
3 package suggestions were added by new dependencies, use `composer suggest` to see details.
Generating autoload files
40 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": {
    "@rollup/plugin-terser": {
      "name": "@rollup/plugin-terser",
      "severity": "moderate",
      "isDirect": true,
      "via": [
        "serialize-javascript"
      ],
      "effects": [],
      "range": "0.2.0 - 0.4.4",
      "nodes": [
        "node_modules/@rollup/plugin-terser"
      ],
      "fixAvailable": {
        "name": "@rollup/plugin-terser",
        "version": "1.0.0",
        "isSemVerMajor": true
      }
    },
    "serialize-javascript": {
      "name": "serialize-javascript",
      "severity": "high",
      "isDirect": false,
      "via": [
        {
          "source": 1113686,
          "name": "serialize-javascript",
          "dependency": "serialize-javascript",
          "title": "Serialize JavaScript is Vulnerable to RCE via RegExp.flags and Date.prototype.toISOString()",
          "url": "https://github.com/advisories/GHSA-5c6j-r48x-rmvq",
          "severity": "high",
          "cwe": [
            "CWE-96"
          ],
          "cvss": {
            "score": 8.1,
            "vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H"
          },
          "range": "<=7.0.2"
        },
        {
          "source": 1119440,
          "name": "serialize-javascript",
          "dependency": "serialize-javascript",
          "title": "Serialize JavaScript has CPU Exhaustion Denial of Service via crafted array-like objects",
          "url": "https://github.com/advisories/GHSA-qj8w-gfj5-8c6v",
          "severity": "moderate",
          "cwe": [
            "CWE-400",
            "CWE-834"
          ],
          "cvss": {
            "score": 5.9,
            "vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H"
          },
          "range": ">=5.0.0 <7.0.5"
        }
      ],
      "effects": [
        "@rollup/plugin-terser"
      ],
      "range": "<=7.0.4",
      "nodes": [
        "node_modules/serialize-javascript"
      ],
      "fixAvailable": {
        "name": "@rollup/plugin-terser",
        "version": "1.0.0",
        "isSemVerMajor": true
      }
    },
    "vitest": {
      "name": "vitest",
      "severity": "critical",
      "isDirect": true,
      "via": [
        {
          "source": 1120011,
          "name": "vitest",
          "dependency": "vitest",
          "title": "When Vitest UI server is listening, arbitrary file can be read and executed",
          "url": "https://github.com/advisories/GHSA-5xrq-8626-4rwp",
          "severity": "critical",
          "cwe": [
            "CWE-862"
          ],
          "cvss": {
            "score": 9.8,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H"
          },
          "range": "<4.1.0"
        }
      ],
      "effects": [],
      "range": "<4.1.0",
      "nodes": [
        "node_modules/vitest"
      ],
      "fixAvailable": {
        "name": "vitest",
        "version": "4.1.8",
        "isSemVerMajor": true
      }
    }
  },
  "metadata": {
    "vulnerabilities": {
      "info": 0,
      "low": 0,
      "moderate": 1,
      "high": 1,
      "critical": 1,
      "total": 3
    },
    "dependencies": {
      "prod": 1,
      "dev": 439,
      "optional": 52,
      "peer": 4,
      "peerOptional": 0,
      "total": 443
    }
  }
}

--- 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": 443,
  "removed": 0,
  "changed": 0,
  "audited": 444,
  "funding": 108,
  "audit": {
    "auditReportVersion": 2,
    "vulnerabilities": {
      "@rollup/plugin-terser": {
        "name": "@rollup/plugin-terser",
        "severity": "moderate",
        "isDirect": true,
        "via": [
          "serialize-javascript"
        ],
        "effects": [],
        "range": "0.2.0 - 0.4.4",
        "nodes": [
          "node_modules/@rollup/plugin-terser"
        ],
        "fixAvailable": {
          "name": "@rollup/plugin-terser",
          "version": "1.0.0",
          "isSemVerMajor": true
        }
      },
      "serialize-javascript": {
        "name": "serialize-javascript",
        "severity": "high",
        "isDirect": false,
        "via": [
          {
            "source": 1113686,
            "name": "serialize-javascript",
            "dependency": "serialize-javascript",
            "title": "Serialize JavaScript is Vulnerable to RCE via RegExp.flags and Date.prototype.toISOString()",
            "url": "https://github.com/advisories/GHSA-5c6j-r48x-rmvq",
            "severity": "high",
            "cwe": [
              "CWE-96"
            ],
            "cvss": {
              "score": 8.1,
              "vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H"
            },
            "range": "<=7.0.2"
          },
          {
            "source": 1119440,
            "name": "serialize-javascript",
            "dependency": "serialize-javascript",
            "title": "Serialize JavaScript has CPU Exhaustion Denial of Service via crafted array-like objects",
            "url": "https://github.com/advisories/GHSA-qj8w-gfj5-8c6v",
            "severity": "moderate",
            "cwe": [
              "CWE-400",
              "CWE-834"
            ],
            "cvss": {
              "score": 5.9,
              "vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H"
            },
            "range": ">=5.0.0 <7.0.5"
          }
        ],
        "effects": [
          "@rollup/plugin-terser"
        ],
        "range": "<=7.0.4",
        "nodes": [
          "node_modules/serialize-javascript"
        ],
        "fixAvailable": {
          "name": "@rollup/plugin-terser",
          "version": "1.0.0",
          "isSemVerMajor": true
        }
      },
      "vitest": {
        "name": "vitest",
        "severity": "critical",
        "isDirect": false,
        "via": [
          {
            "source": 1120011,
            "name": "vitest",
            "dependency": "vitest",
            "title": "When Vitest UI server is listening, arbitrary file can be read and executed",
            "url": "https://github.com/advisories/GHSA-5xrq-8626-4rwp",
            "severity": "critical",
            "cwe": [
              "CWE-862"
            ],
            "cvss": {
              "score": 9.8,
              "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H"
            },
            "range": "<4.1.0"
          }
        ],
        "effects": [],
        "range": "<4.1.0",
        "nodes": [
          ""
        ],
        "fixAvailable": {
          "name": "vitest",
          "version": "4.1.8",
          "isSemVerMajor": true
        }
      }
    },
    "metadata": {
      "vulnerabilities": {
        "info": 0,
        "low": 0,
        "moderate": 1,
        "high": 1,
        "critical": 1,
        "total": 3
      },
      "dependencies": {
        "prod": 1,
        "dev": 439,
        "optional": 52,
        "peer": 4,
        "peerOptional": 0,
        "total": 443
      }
    }
  }
}

--- end ---
{"added": 443, "removed": 0, "changed": 0, "audited": 444, "funding": 108, "audit": {"auditReportVersion": 2, "vulnerabilities": {"@rollup/plugin-terser": {"name": "@rollup/plugin-terser", "severity": "moderate", "isDirect": true, "via": ["serialize-javascript"], "effects": [], "range": "0.2.0 - 0.4.4", "nodes": ["node_modules/@rollup/plugin-terser"], "fixAvailable": {"name": "@rollup/plugin-terser", "version": "1.0.0", "isSemVerMajor": true}}, "serialize-javascript": {"name": "serialize-javascript", "severity": "high", "isDirect": false, "via": [{"source": 1113686, "name": "serialize-javascript", "dependency": "serialize-javascript", "title": "Serialize JavaScript is Vulnerable to RCE via RegExp.flags and Date.prototype.toISOString()", "url": "https://github.com/advisories/GHSA-5c6j-r48x-rmvq", "severity": "high", "cwe": ["CWE-96"], "cvss": {"score": 8.1, "vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H"}, "range": "<=7.0.2"}, {"source": 1119440, "name": "serialize-javascript", "dependency": "serialize-javascript", "title": "Serialize JavaScript has CPU Exhaustion Denial of Service via crafted array-like objects", "url": "https://github.com/advisories/GHSA-qj8w-gfj5-8c6v", "severity": "moderate", "cwe": ["CWE-400", "CWE-834"], "cvss": {"score": 5.9, "vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H"}, "range": ">=5.0.0 <7.0.5"}], "effects": ["@rollup/plugin-terser"], "range": "<=7.0.4", "nodes": ["node_modules/serialize-javascript"], "fixAvailable": {"name": "@rollup/plugin-terser", "version": "1.0.0", "isSemVerMajor": true}}, "vitest": {"name": "vitest", "severity": "critical", "isDirect": false, "via": [{"source": 1120011, "name": "vitest", "dependency": "vitest", "title": "When Vitest UI server is listening, arbitrary file can be read and executed", "url": "https://github.com/advisories/GHSA-5xrq-8626-4rwp", "severity": "critical", "cwe": ["CWE-862"], "cvss": {"score": 9.8, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H"}, "range": "<4.1.0"}], "effects": [], "range": "<4.1.0", "nodes": [""], "fixAvailable": {"name": "vitest", "version": "4.1.8", "isSemVerMajor": true}}}, "metadata": {"vulnerabilities": {"info": 0, "low": 0, "moderate": 1, "high": 1, "critical": 1, "total": 3}, "dependencies": {"prod": 1, "dev": 439, "optional": 52, "peer": 4, "peerOptional": 0, "total": 443}}}}
$ /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 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 glob@7.2.3: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me
npm WARN deprecated @humanwhocodes/object-schema@2.0.3: Use @eslint/object-schema 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 394 packages, and audited 395 packages in 8s

108 packages are looking for funding
  run `npm fund` for details

# npm audit report

serialize-javascript  <=7.0.4
Severity: high
Serialize JavaScript is Vulnerable to RCE via RegExp.flags and Date.prototype.toISOString() - https://github.com/advisories/GHSA-5c6j-r48x-rmvq
Serialize JavaScript has CPU Exhaustion Denial of Service via crafted array-like objects - https://github.com/advisories/GHSA-qj8w-gfj5-8c6v
fix available via `npm audit fix --force`
Will install @rollup/plugin-terser@1.0.0, which is a breaking change
node_modules/serialize-javascript
  @rollup/plugin-terser  0.2.0 - 0.4.4
  Depends on vulnerable versions of serialize-javascript
  node_modules/@rollup/plugin-terser

vitest  <4.1.0
Severity: critical
When Vitest UI server is listening, arbitrary file can be read and executed - https://github.com/advisories/GHSA-5xrq-8626-4rwp
fix available via `npm audit fix --force`
Will install vitest@4.1.8, which is a breaking change
node_modules/vitest

3 vulnerabilities (1 moderate, 1 high, 1 critical)

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 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 glob@7.2.3: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me
npm WARN deprecated @humanwhocodes/object-schema@2.0.3: Use @eslint/object-schema 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 394 packages, and audited 395 packages in 6s

108 packages are looking for funding
  run `npm fund` for details

3 vulnerabilities (1 moderate, 1 high, 1 critical)

To address all issues (including breaking changes), run:
  npm audit fix --force

Run `npm audit` for details.

--- end ---
$ /usr/bin/npm test
--- stdout ---

> test
> vitest run && npm run lint && npm run typecheck


 RUN  v3.2.6 /src/repo

 ✓ tests/js/JQUtilsTest.ts (73 tests) 20ms
 ✓ tests/js/JQGrammarTest.ts (606 tests | 9 skipped) 502ms
 ✓ tests/js/JQCompileTest.ts (587 tests | 30 skipped) 1631ms
   ↓ JQCompile jq.test > line 689: [(infinite, -infinite) % (1, -1, infinite)] [JSON can not portably represent NaN or infinite values]
   ↓ JQCompile jq.test > line 1306: .[] = 1 [JSON can not portably represent NaN or infinite values]
   ✓ JQCompile jq.test > line 1895: last(range(365 * 67)|("1970-03-01T01:02:03Z"|strptime("%Y-%m-%dT%H:%M:%SZ")|mktime) + (86400 * .)|strftime("%Y-%m-%dT%H:%M:%SZ")|strptime("%Y-%m-%dT%H:%M:%SZ"))  754ms
   ↓ JQCompile jq.test > line 1900: import "a" as foo; import "b" as bar; def fooa: foo::a; [fooa, bar::a, bar::b, foo::a] [Module-level directives not implemented]
   ↓ JQCompile jq.test > line 1904: import "c" as foo; [foo::a, foo::c] [Module-level directives not implemented]
   ↓ JQCompile jq.test > line 1908: include "c"; [a, c] [Module-level directives not implemented]
   ↓ JQCompile jq.test > line 1912: import "data" as $e; import "data" as $d; [$d[].this,$e[].that,$d::d[].this,$e::e[].that]|join(";") [Module-level directives not implemented]
   ↓ JQCompile jq.test > line 1917: import "data" as $a; import "data" as $b; def f: {$a, $b}; f [Module-level directives not implemented]
   ↓ JQCompile jq.test > line 1921: include "shadow1"; e [Module-level directives not implemented]
   ↓ JQCompile jq.test > line 1925: include "shadow1"; include "shadow2"; e [Module-level directives not implemented]
   ↓ JQCompile jq.test > line 1929: import "shadow1" as f; import "shadow2" as f; import "shadow1" as e; [e::e, f::e] [Module-level directives not implemented]
   ↓ JQCompile jq.test > line 1969: modulemeta [Module-level directives not implemented]
   ↓ JQCompile jq.test > line 1973: modulemeta | .deps | length [Module-level directives not implemented]
   ↓ JQCompile jq.test > line 1977: modulemeta | .defs | length [Module-level directives not implemented]
   ↓ JQCompile jq.test > line 1993: import "test_bind_order" as check; check::check [Module-level directives not implemented]
   ↓ JQCompile jq.test > line 2014: try (. + "x") catch . == if have_decnum then "number (12345678901234567890123456...) and string (\"x\") cannot be added" else "number (12345678901234568000000000...) and string (\"x\") cannot be added" end [Error message format differs from jq]
   ↓ JQCompile jq.test > line 2232: [1E+1000,-1E+1000 | tojson] == if have_decnum then ["1E+1000","-1E+1000"] else ["1.7976931348623157e+308","-1.7976931348623157e+308"] end [JSON can not portably represent NaN or infinite values]
   ↓ JQCompile jq.test > line 2271: [1E+1000,-1E+1000 | abs | tojson] | unique == if have_decnum then ["1E+1000"] else ["1.7976931348623157e+308"] end [JSON can not portably represent NaN or infinite values]
   ↓ JQCompile jq.test > line 2275: [1E+1000,-1E+1000 | length | tojson] | unique == if have_decnum then ["1E+1000"] else ["1.7976931348623157e+308"] end [JSON can not portably represent NaN or infinite values]
   ↓ JQCompile jq.test > line 2315: fromjson | isnan [NaN handling differs from jq (tojson, fromjson does not accept nan literals)]
   ↓ JQCompile jq.test > line 2319: tojson | fromjson [NaN handling differs from jq (tojson, fromjson does not accept nan literals)]
   ↓ JQCompile jq.test > line 2324: .[] | try (fromjson | isnan) catch . [NaN handling differs from jq (tojson, fromjson does not accept nan literals)]
   ↓ JQCompile jq.test > line 2337: try input catch . [debug/0 and input/0 not implemented]
   ↓ JQCompile jq.test > line 2341: debug [debug/0 and input/0 not implemented]
   ↓ JQCompile jq.test > line 2407: map(try implode catch .) [JSON can not portably represent NaN or infinite values]
   ↓ JQCompile jq.test > line 2558: reduce range(9999) as $_ ([];[.]) | tojson | fromjson | flatten [JSON nesting depth limits and path depth limits not implemented]
   ↓ JQCompile jq.test > line 2563: reduce range(10000) as $_ ([];[.]) | tojson | try (fromjson) catch . | (contains("<skipped: too deep>") | not) and contains("Exceeds depth limit for parsing") [JSON nesting depth limits and path depth limits not implemented]
   ↓ JQCompile jq.test > line 2568: reduce range(10001) as $_ ([];[.]) | tojson | contains("<skipped: too deep>") [JSON nesting depth limits and path depth limits not implemented]
   ↓ JQCompile jq.test > line 2573: setpath([range(10000) | 0]; 0) | flatten [setAtPath recursive implementation exhausts PHP call stack at depth 10000]
   ↓ JQCompile jq.test > line 2593: try delpaths([[range(10001) | 0]]) catch . [JSON nesting depth limits and path depth limits not implemented]
   ↓ JQCompile jq.test > line 2602: try (reduce range(10001) as $_ ([]; [.]) as $x | $x | contains($x)) catch . [JSON nesting depth limits and path depth limits not implemented]

 Test Files  3 passed (3)
      Tests  1227 passed | 39 skipped (1266)
   Start at  06:09:38
   Duration  2.97s (transform 687ms, setup 2.09s, collect 275ms, tests 2.15s, environment 2ms, prepare 364ms)


> lint
> eslint .


> typecheck
> npx tsc --noEmit --skipLibCheck


--- end ---
$ package-lock-lint /src/repo/package-lock.json
--- stdout ---
Checking /src/repo/package-lock.json

--- end ---
[DNM] there are no updates
$ git add .
--- stdout ---

--- end ---
$ git commit -F /tmp/tmp2quypjyl
--- stdout ---
[main 27bc67c] [DNM] there are no updates
 1 file changed, 39 insertions(+), 39 deletions(-)

--- end ---
$ git format-patch HEAD~1 --stdout
--- stdout ---
From 27bc67cb944530b9168809d487e7b97b54efe7ef Mon Sep 17 00:00:00 2001
From: libraryupgrader <tools.libraryupgrader@tools.wmflabs.org>
Date: Tue, 2 Jun 2026 06:09:51 +0000
Subject: [PATCH] [DNM] there are no updates

Change-Id: Ibb77c4e0ffec55274bc1e8dc30cd18b53bd6a54f
---
 package-lock.json | 78 +++++++++++++++++++++++------------------------
 1 file changed, 39 insertions(+), 39 deletions(-)

diff --git a/package-lock.json b/package-lock.json
index a5469f7..1ee2a5c 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1702,14 +1702,14 @@
 			"dev": true
 		},
 		"node_modules/@vitest/expect": {
-			"version": "3.2.4",
-			"resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-3.2.4.tgz",
-			"integrity": "sha512-Io0yyORnB6sikFlt8QW5K7slY4OjqNX9jmJQ02QDda8lyM6B5oNgVWoSoKPac8/kgnCUzuHQKrSLtu/uOqqrig==",
+			"version": "3.2.6",
+			"resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-3.2.6.tgz",
+			"integrity": "sha512-1+7q9BtaKzEmO+fmNT3kYvoNn5Y71XWAx2Q5HRim4tTVRQVRv4uJFAQ5FbK0OPUeNP/WmVCpxYxoJdvuHVjzBQ==",
 			"dev": true,
 			"dependencies": {
 				"@types/chai": "^5.2.2",
-				"@vitest/spy": "3.2.4",
-				"@vitest/utils": "3.2.4",
+				"@vitest/spy": "3.2.6",
+				"@vitest/utils": "3.2.6",
 				"chai": "^5.2.0",
 				"tinyrainbow": "^2.0.0"
 			},
@@ -1718,12 +1718,12 @@
 			}
 		},
 		"node_modules/@vitest/mocker": {
-			"version": "3.2.4",
-			"resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-3.2.4.tgz",
-			"integrity": "sha512-46ryTE9RZO/rfDd7pEqFl7etuyzekzEhUbTW3BvmeO/BcCMEgq59BKhek3dXDWgAj4oMK6OZi+vRr1wPW6qjEQ==",
+			"version": "3.2.6",
+			"resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-3.2.6.tgz",
+			"integrity": "sha512-EZOrpDbkKotFAP7wPAQV1UIyoGOk4oX7ynWhBhLB7v+meMHbQhU16oPpIYGTTe4oFlhpryGpgpcZP/sin3hYuw==",
 			"dev": true,
 			"dependencies": {
-				"@vitest/spy": "3.2.4",
+				"@vitest/spy": "3.2.6",
 				"estree-walker": "^3.0.3",
 				"magic-string": "^0.30.17"
 			},
@@ -1753,9 +1753,9 @@
 			}
 		},
 		"node_modules/@vitest/pretty-format": {
-			"version": "3.2.4",
-			"resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-3.2.4.tgz",
-			"integrity": "sha512-IVNZik8IVRJRTr9fxlitMKeJeXFFFN0JaB9PHPGQ8NKQbGpfjlTx9zO4RefN8gp7eqjNy8nyK3NZmBzOPeIxtA==",
+			"version": "3.2.6",
+			"resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-3.2.6.tgz",
+			"integrity": "sha512-lb7XXXzmm2h2ASzFnRvQpDo6onT1NmMJA3tkGTWiBFtRJ9lxGY3d3mm/Apt36gej2bkkOVLL/yTOtufDaFa/jA==",
 			"dev": true,
 			"dependencies": {
 				"tinyrainbow": "^2.0.0"
@@ -1765,12 +1765,12 @@
 			}
 		},
 		"node_modules/@vitest/runner": {
-			"version": "3.2.4",
-			"resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-3.2.4.tgz",
-			"integrity": "sha512-oukfKT9Mk41LreEW09vt45f8wx7DordoWUZMYdY/cyAk7w5TWkTRCNZYF7sX7n2wB7jyGAl74OxgwhPgKaqDMQ==",
+			"version": "3.2.6",
+			"resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-3.2.6.tgz",
+			"integrity": "sha512-HYcoSj1w5tcgUnzoF0HcyaAQjpA1gj9ftUJ7iSJSuipc02jW9gKkigwZbjFldAfYHA1fa8UZVRftdMY5msWM9Q==",
 			"dev": true,
 			"dependencies": {
-				"@vitest/utils": "3.2.4",
+				"@vitest/utils": "3.2.6",
 				"pathe": "^2.0.3",
 				"strip-literal": "^3.0.0"
 			},
@@ -1779,12 +1779,12 @@
 			}
 		},
 		"node_modules/@vitest/snapshot": {
-			"version": "3.2.4",
-			"resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-3.2.4.tgz",
-			"integrity": "sha512-dEYtS7qQP2CjU27QBC5oUOxLE/v5eLkGqPE0ZKEIDGMs4vKWe7IjgLOeauHsR0D5YuuycGRO5oSRXnwnmA78fQ==",
+			"version": "3.2.6",
+			"resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-3.2.6.tgz",
+			"integrity": "sha512-H+ZjNTWGpObenh0YnlBctAPnJSI20P81PL8BPzWpx54YXLLTm8hEsWawtcYLMrwvpK48hGxLLbCS+1KRXhsKhw==",
 			"dev": true,
 			"dependencies": {
-				"@vitest/pretty-format": "3.2.4",
+				"@vitest/pretty-format": "3.2.6",
 				"magic-string": "^0.30.17",
 				"pathe": "^2.0.3"
 			},
@@ -1793,9 +1793,9 @@
 			}
 		},
 		"node_modules/@vitest/spy": {
-			"version": "3.2.4",
-			"resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-3.2.4.tgz",
-			"integrity": "sha512-vAfasCOe6AIK70iP5UD11Ac4siNUNJ9i/9PZ3NKx07sG6sUxeag1LWdNrMWeKKYBLlzuK+Gn65Yd5nyL6ds+nw==",
+			"version": "3.2.6",
+			"resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-3.2.6.tgz",
+			"integrity": "sha512-oq6BbH68WzcWmwtBrU9nqLeaXTR4XwJF7FSLkKEZo4i6eoXcrxjcwSuTvWBIRUTC6VC72nXYunzqgZA+IKdtxg==",
 			"dev": true,
 			"dependencies": {
 				"tinyspy": "^4.0.3"
@@ -1805,12 +1805,12 @@
 			}
 		},
 		"node_modules/@vitest/utils": {
-			"version": "3.2.4",
-			"resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-3.2.4.tgz",
-			"integrity": "sha512-fB2V0JFrQSMsCo9HiSq3Ezpdv4iYaXRG1Sx8edX3MwxfyNn83mKiGzOcH+Fkxt4MHxr3y42fQi1oeAInqgX2QA==",
+			"version": "3.2.6",
+			"resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-3.2.6.tgz",
+			"integrity": "sha512-lI23nIs4bnT3T8NIoh+vFaz5s2/DdP0Jgt2jxwgWljvwn82cLJtyi/If+fjFyoLMGIOz0U/fKvWE0d4jsNQEfg==",
 			"dev": true,
 			"dependencies": {
-				"@vitest/pretty-format": "3.2.4",
+				"@vitest/pretty-format": "3.2.6",
 				"loupe": "^3.1.4",
 				"tinyrainbow": "^2.0.0"
 			},
@@ -5543,19 +5543,19 @@
 			}
 		},
 		"node_modules/vitest": {
-			"version": "3.2.4",
-			"resolved": "https://registry.npmjs.org/vitest/-/vitest-3.2.4.tgz",
-			"integrity": "sha512-LUCP5ev3GURDysTWiP47wRRUpLKMOfPh+yKTx3kVIEiu5KOMeqzpnYNsKyOoVrULivR8tLcks4+lga33Whn90A==",
+			"version": "3.2.6",
+			"resolved": "https://registry.npmjs.org/vitest/-/vitest-3.2.6.tgz",
+			"integrity": "sha512-xejya+bT/j/+R/AGa1XOfRxLmNUlLtlwjRsFUILF+xHfzElmGcmFydy2gqqIrd62ptIEfwVMofd19uNWD9L7Nw==",
 			"dev": true,
 			"dependencies": {
 				"@types/chai": "^5.2.2",
-				"@vitest/expect": "3.2.4",
-				"@vitest/mocker": "3.2.4",
-				"@vitest/pretty-format": "^3.2.4",
-				"@vitest/runner": "3.2.4",
-				"@vitest/snapshot": "3.2.4",
-				"@vitest/spy": "3.2.4",
-				"@vitest/utils": "3.2.4",
+				"@vitest/expect": "3.2.6",
+				"@vitest/mocker": "3.2.6",
+				"@vitest/pretty-format": "^3.2.6",
+				"@vitest/runner": "3.2.6",
+				"@vitest/snapshot": "3.2.6",
+				"@vitest/spy": "3.2.6",
+				"@vitest/utils": "3.2.6",
 				"chai": "^5.2.0",
 				"debug": "^4.4.1",
 				"expect-type": "^1.2.1",
@@ -5585,8 +5585,8 @@
 				"@edge-runtime/vm": "*",
 				"@types/debug": "^4.1.12",
 				"@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0",
-				"@vitest/browser": "3.2.4",
-				"@vitest/ui": "3.2.4",
+				"@vitest/browser": "3.2.6",
+				"@vitest/ui": "3.2.6",
 				"happy-dom": "*",
 				"jsdom": "*"
 			},
-- 
2.47.3


--- end ---
Source code is licensed under the AGPL.