This run took 604 seconds.
From e34d1ddb1ae9eb0c2f165c59dccd59b3bf0c5626 Mon Sep 17 00:00:00 2001
From: libraryupgrader <tools.libraryupgrader@tools.wmflabs.org>
Date: Sun, 14 Jun 2026 21:42:55 +0000
Subject: [PATCH] build: Updating npm dependencies
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
* @wikimedia/codex: 2.5.1 → 2.6.0
* esbuild: 0.25.12 → 0.28.1
* https://github.com/advisories/GHSA-gv7w-rqvm-qjhr
* tsx: 4.20.6 → 4.22.4
* https://github.com/advisories/GHSA-gv7w-rqvm-qjhr
Change-Id: I6e0312cb5d7e8e43b74c81c65c2755829192e944
---
package-lock.json | 269 ++++++++++++++++++++--------------------------
package.json | 2 +-
2 files changed, 120 insertions(+), 151 deletions(-)
diff --git a/package-lock.json b/package-lock.json
index dcd069b..ffde6bb 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -17,7 +17,7 @@
"@wdio/local-runner": "9.20.1",
"@wdio/mocha-framework": "9.20.1",
"@wdio/spec-reporter": "9.20.0",
- "@wikimedia/codex": "2.5.1",
+ "@wikimedia/codex": "2.6.0",
"eslint-config-wikimedia": "0.32.4",
"grunt": "1.6.2",
"grunt-banana-checker": "0.13.0",
@@ -1976,14 +1976,13 @@
}
},
"node_modules/@esbuild/aix-ppc64": {
- "version": "0.25.12",
- "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.12.tgz",
- "integrity": "sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA==",
+ "version": "0.28.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.28.1.tgz",
+ "integrity": "sha512-Svl7tq8k/08+p6CXPpRjQ1fKX+1odH/BQbb48fV6fj3CWHhsoIOoY87w1oHXm0qEpkIK3ZfVgp0hed3XBXzXMQ==",
"cpu": [
"ppc64"
],
"dev": true,
- "license": "MIT",
"optional": true,
"os": [
"aix"
@@ -1993,14 +1992,13 @@
}
},
"node_modules/@esbuild/android-arm": {
- "version": "0.25.12",
- "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.12.tgz",
- "integrity": "sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg==",
+ "version": "0.28.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.28.1.tgz",
+ "integrity": "sha512-0k2F129Xdio1TdJfzJ8sy1Q47vUD2NnwdhiAf7drUN1EBTfPf4hsFCtmMgu/6m8JSzsBrlmVjudMBQqOfG8usQ==",
"cpu": [
"arm"
],
"dev": true,
- "license": "MIT",
"optional": true,
"os": [
"android"
@@ -2010,14 +2008,13 @@
}
},
"node_modules/@esbuild/android-arm64": {
- "version": "0.25.12",
- "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.12.tgz",
- "integrity": "sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg==",
+ "version": "0.28.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.28.1.tgz",
+ "integrity": "sha512-34EGEbCIAgosYz6goLcopX6Mo7NyGv9tfwEM2/7Ce2VcVRk568iSvniGWcUXIy7wEDR1wzolcxcriFVrWYcwBg==",
"cpu": [
"arm64"
],
"dev": true,
- "license": "MIT",
"optional": true,
"os": [
"android"
@@ -2027,14 +2024,13 @@
}
},
"node_modules/@esbuild/android-x64": {
- "version": "0.25.12",
- "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.12.tgz",
- "integrity": "sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg==",
+ "version": "0.28.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.28.1.tgz",
+ "integrity": "sha512-dbwY7ltSMDWsRatcRpCnES4F+im88OCUgGZjy52shC7GqHRE/cYlxNbB4Z4UpJswpcc4Qxd2oE/ufM0p61IKng==",
"cpu": [
"x64"
],
"dev": true,
- "license": "MIT",
"optional": true,
"os": [
"android"
@@ -2044,14 +2040,13 @@
}
},
"node_modules/@esbuild/darwin-arm64": {
- "version": "0.25.12",
- "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.12.tgz",
- "integrity": "sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg==",
+ "version": "0.28.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.28.1.tgz",
+ "integrity": "sha512-TZbWkQY7kvTAXbXUT7uVACR5cMHsDiSz9z7ZKAX/RTq/WJEk3QyRr0wZpNhBDX+/0CtdqUIJlOiodQcta6tY3Q==",
"cpu": [
"arm64"
],
"dev": true,
- "license": "MIT",
"optional": true,
"os": [
"darwin"
@@ -2061,14 +2056,13 @@
}
},
"node_modules/@esbuild/darwin-x64": {
- "version": "0.25.12",
- "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.12.tgz",
- "integrity": "sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA==",
+ "version": "0.28.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.28.1.tgz",
+ "integrity": "sha512-zfdzgK9ACBNZLI/CyHTOx81SyNbM6YXn7rxSgX97VjyiPl9W1i4Ka4fgKECEoFCKGpvBj5qArWIGgQjOwkgskQ==",
"cpu": [
"x64"
],
"dev": true,
- "license": "MIT",
"optional": true,
"os": [
"darwin"
@@ -2078,14 +2072,13 @@
}
},
"node_modules/@esbuild/freebsd-arm64": {
- "version": "0.25.12",
- "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.12.tgz",
- "integrity": "sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg==",
+ "version": "0.28.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.28.1.tgz",
+ "integrity": "sha512-wG2EA8ENdEI0qhkSZMjfqrdY+ziCYCPMmtZjjIwOmXFjmyzEHn+UUxk5of+SYsjtfs3VpnlC7QLzSI5hY/rOAw==",
"cpu": [
"arm64"
],
"dev": true,
- "license": "MIT",
"optional": true,
"os": [
"freebsd"
@@ -2095,14 +2088,13 @@
}
},
"node_modules/@esbuild/freebsd-x64": {
- "version": "0.25.12",
- "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.12.tgz",
- "integrity": "sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ==",
+ "version": "0.28.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.28.1.tgz",
+ "integrity": "sha512-i7dZ9vQgnvSCzi/rYCXNgtF/U+eKZNJBzu3eTQbRgHnM7tNSizLOkRFAl3qzVc/Op/u5YkHHa4pf/3DOYHthLQ==",
"cpu": [
"x64"
],
"dev": true,
- "license": "MIT",
"optional": true,
"os": [
"freebsd"
@@ -2112,14 +2104,13 @@
}
},
"node_modules/@esbuild/linux-arm": {
- "version": "0.25.12",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.12.tgz",
- "integrity": "sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw==",
+ "version": "0.28.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.28.1.tgz",
+ "integrity": "sha512-qVXBOHQS+d5Y722GwJzJUtOLlX7km3CraOaGormF1pDtPd2C/l1SHRPgjLunLGe51Sh5YYWKMFDyV4SxgMQYTQ==",
"cpu": [
"arm"
],
"dev": true,
- "license": "MIT",
"optional": true,
"os": [
"linux"
@@ -2129,14 +2120,13 @@
}
},
"node_modules/@esbuild/linux-arm64": {
- "version": "0.25.12",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.12.tgz",
- "integrity": "sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ==",
+ "version": "0.28.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.28.1.tgz",
+ "integrity": "sha512-yHs+0uc8+nvEAfAfxrWQKK5peSNzBc4PegcMO0EJ2hT71uA7vB8Ihg2e77R2P7SG5uYjPbHlLLmve4LLLRCf0g==",
"cpu": [
"arm64"
],
"dev": true,
- "license": "MIT",
"optional": true,
"os": [
"linux"
@@ -2146,14 +2136,13 @@
}
},
"node_modules/@esbuild/linux-ia32": {
- "version": "0.25.12",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.12.tgz",
- "integrity": "sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA==",
+ "version": "0.28.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.28.1.tgz",
+ "integrity": "sha512-d1z4ZuP0ajrfz/FhGT4vv278rX8KnPPJx8i5+AtK7TYbx9Le9F1hyzurZpkEyjkGa9dUGhQow4C1NmeGvqxN2w==",
"cpu": [
"ia32"
],
"dev": true,
- "license": "MIT",
"optional": true,
"os": [
"linux"
@@ -2163,14 +2152,13 @@
}
},
"node_modules/@esbuild/linux-loong64": {
- "version": "0.25.12",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.12.tgz",
- "integrity": "sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng==",
+ "version": "0.28.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.28.1.tgz",
+ "integrity": "sha512-M5sRjUVZrkm1OAPR3dlOYzNmN+loZKGVi1VUQGrwuqLcbR6qeAz+famMhjASeH3YVKvZz+zT1jlh/keC3Rj/lg==",
"cpu": [
"loong64"
],
"dev": true,
- "license": "MIT",
"optional": true,
"os": [
"linux"
@@ -2180,14 +2168,13 @@
}
},
"node_modules/@esbuild/linux-mips64el": {
- "version": "0.25.12",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.12.tgz",
- "integrity": "sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw==",
+ "version": "0.28.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.28.1.tgz",
+ "integrity": "sha512-mRObBZeHh2OxcBFPWE/FjylkRgZdYuiTR3vaTozquCGOH14iP9oN4x4Ge81CoIDYQrXmIxpFumJBu5MtZpnQJQ==",
"cpu": [
"mips64el"
],
"dev": true,
- "license": "MIT",
"optional": true,
"os": [
"linux"
@@ -2197,14 +2184,13 @@
}
},
"node_modules/@esbuild/linux-ppc64": {
- "version": "0.25.12",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.12.tgz",
- "integrity": "sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA==",
+ "version": "0.28.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.28.1.tgz",
+ "integrity": "sha512-slScBsMAb3GFDcdrCgLwZtPYRoH2H/youv10QiZyRjmsP48fznoveWytSgCI/R0ZcUgpc0ZhIUEx6LHts8yrfQ==",
"cpu": [
"ppc64"
],
"dev": true,
- "license": "MIT",
"optional": true,
"os": [
"linux"
@@ -2214,14 +2200,13 @@
}
},
"node_modules/@esbuild/linux-riscv64": {
- "version": "0.25.12",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.12.tgz",
- "integrity": "sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w==",
+ "version": "0.28.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.28.1.tgz",
+ "integrity": "sha512-kw0owk1o0GFETUJyW0jc0G4Yzs0BHZn0JDZ8JRT088vjJYX777BAs1fDGxAC+q831qOs2DTC96mNsG2opdfyyQ==",
"cpu": [
"riscv64"
],
"dev": true,
- "license": "MIT",
"optional": true,
"os": [
"linux"
@@ -2231,14 +2216,13 @@
}
},
"node_modules/@esbuild/linux-s390x": {
- "version": "0.25.12",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.12.tgz",
- "integrity": "sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg==",
+ "version": "0.28.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.28.1.tgz",
+ "integrity": "sha512-/lAIjX8aYFRByhh6L5rYtPEDRqa9de/4V/juOXcta5frjvzXO4/sqEtyytse0g3zZFuWu5cDN0MkLz2qRDD2Ag==",
"cpu": [
"s390x"
],
"dev": true,
- "license": "MIT",
"optional": true,
"os": [
"linux"
@@ -2248,14 +2232,13 @@
}
},
"node_modules/@esbuild/linux-x64": {
- "version": "0.25.12",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.12.tgz",
- "integrity": "sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw==",
+ "version": "0.28.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.28.1.tgz",
+ "integrity": "sha512-u/anNYF2mmVOEDwLtnQ1wOr3EZ9sTNGLWrsYGYwHWzGA3Si84IOkHXlbWTD1NB+9/1lcnweYKO54uhxZydNzfA==",
"cpu": [
"x64"
],
"dev": true,
- "license": "MIT",
"optional": true,
"os": [
"linux"
@@ -2265,14 +2248,13 @@
}
},
"node_modules/@esbuild/netbsd-arm64": {
- "version": "0.25.12",
- "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.12.tgz",
- "integrity": "sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg==",
+ "version": "0.28.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.28.1.tgz",
+ "integrity": "sha512-oks0DYbLwWMmaakTsCb+zL4E+aHRVLom9IJZOAthMQEPiQmydXHkziYEsGYRx0uNV/IjEKGAV941JzH02pflqw==",
"cpu": [
"arm64"
],
"dev": true,
- "license": "MIT",
"optional": true,
"os": [
"netbsd"
@@ -2282,14 +2264,13 @@
}
},
"node_modules/@esbuild/netbsd-x64": {
- "version": "0.25.12",
- "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.12.tgz",
- "integrity": "sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ==",
+ "version": "0.28.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.28.1.tgz",
+ "integrity": "sha512-aeL6lAnN89Hz43Mlh1G8ARasbuoYvSITDEx0tHh5b7jJnHcssqgjy9Yx430GDpmCa6OyrKoS0aNRjKundRizGg==",
"cpu": [
"x64"
],
"dev": true,
- "license": "MIT",
"optional": true,
"os": [
"netbsd"
@@ -2299,14 +2280,13 @@
}
},
"node_modules/@esbuild/openbsd-arm64": {
- "version": "0.25.12",
- "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.12.tgz",
- "integrity": "sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A==",
+ "version": "0.28.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.28.1.tgz",
+ "integrity": "sha512-MEFJe5C3R8pwXdZ5Y21oo6m7ePiS0d9pWucn99O/wvyJZChoIQKrQDxKrGeW8F5+T0okTHesAmDeiHDTIq0V/Q==",
"cpu": [
"arm64"
],
"dev": true,
- "license": "MIT",
"optional": true,
"os": [
"openbsd"
@@ -2316,14 +2296,13 @@
}
},
"node_modules/@esbuild/openbsd-x64": {
- "version": "0.25.12",
- "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.12.tgz",
- "integrity": "sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw==",
+ "version": "0.28.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.28.1.tgz",
+ "integrity": "sha512-i/ZLIOafE0Z8cI/XANJAixoJL/uRAoS2xOA3rb0xN+KK0K177cMAsQYkzHtBrtMXAKuAc7HGgcWiZ/sRC1Nxgw==",
"cpu": [
"x64"
],
"dev": true,
- "license": "MIT",
"optional": true,
"os": [
"openbsd"
@@ -2333,14 +2312,13 @@
}
},
"node_modules/@esbuild/openharmony-arm64": {
- "version": "0.25.12",
- "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.12.tgz",
- "integrity": "sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg==",
+ "version": "0.28.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.28.1.tgz",
+ "integrity": "sha512-ge+Z7EXFNt2BO1oAMsVpiQ8EwndV9i1xXerAeTIK7AtPs3bKFXQM7nlRxDSIUIMeueR1CNXxqztLzdNeReKBJg==",
"cpu": [
"arm64"
],
"dev": true,
- "license": "MIT",
"optional": true,
"os": [
"openharmony"
@@ -2350,14 +2328,13 @@
}
},
"node_modules/@esbuild/sunos-x64": {
- "version": "0.25.12",
- "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.12.tgz",
- "integrity": "sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w==",
+ "version": "0.28.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.28.1.tgz",
+ "integrity": "sha512-BEjgtECkL3vY+SaSQ6nzVfiALUeFxpawyp8Jmf5PtYhf1Ug40N1h/hxlhts+f1FvSvarEigdxS3BlSMI2PJLcQ==",
"cpu": [
"x64"
],
"dev": true,
- "license": "MIT",
"optional": true,
"os": [
"sunos"
@@ -2367,14 +2344,13 @@
}
},
"node_modules/@esbuild/win32-arm64": {
- "version": "0.25.12",
- "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.12.tgz",
- "integrity": "sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg==",
+ "version": "0.28.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.28.1.tgz",
+ "integrity": "sha512-lCv9eK/H6ZJWbE7bh2nw54CZ9M2nupBxJcTsdk/QQnWkdSjKGuxmmH8/GWrlT1eMmZfn4dGcCjRte397WqfQXA==",
"cpu": [
"arm64"
],
"dev": true,
- "license": "MIT",
"optional": true,
"os": [
"win32"
@@ -2384,14 +2360,13 @@
}
},
"node_modules/@esbuild/win32-ia32": {
- "version": "0.25.12",
- "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.12.tgz",
- "integrity": "sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ==",
+ "version": "0.28.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.28.1.tgz",
+ "integrity": "sha512-zvb/mB2bSCoJOpoCBgYKKpX6YM6mJBlBUVUtVj41DlZJVEB6/0CKlRYxP5wWl1C1ILiCoAU5wZZ4q1P3qeS6Eg==",
"cpu": [
"ia32"
],
"dev": true,
- "license": "MIT",
"optional": true,
"os": [
"win32"
@@ -2401,14 +2376,13 @@
}
},
"node_modules/@esbuild/win32-x64": {
- "version": "0.25.12",
- "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.12.tgz",
- "integrity": "sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA==",
+ "version": "0.28.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.28.1.tgz",
+ "integrity": "sha512-bm4Mowrv+GXMlpWX++EcXw/iLyd1o3+bJkC2DkWXYVvgZCqD/bSj9ctZeAMC3cIxgjRVR2Dufaiu4YPxr5gW1A==",
"cpu": [
"x64"
],
"dev": true,
- "license": "MIT",
"optional": true,
"os": [
"win32"
@@ -5544,14 +5518,13 @@
}
},
"node_modules/@wikimedia/codex": {
- "version": "2.5.1",
- "resolved": "https://registry.npmjs.org/@wikimedia/codex/-/codex-2.5.1.tgz",
- "integrity": "sha512-CTdnIDyzzJdWDcN2IZ/+F32SvOu+GDVCPZYwipsROZ4y/lC2wLT6Ws3oN/5j+NOntlKVAVnjhBoUt4RYl2n1NA==",
+ "version": "2.6.0",
+ "resolved": "https://registry.npmjs.org/@wikimedia/codex/-/codex-2.6.0.tgz",
+ "integrity": "sha512-ul/WXyxZbMV3PrWd0tGATuhTwUijRhHQxEJ+k+NukzcbY4MTItU3zEiw0Ye3wgNGQBMcCDt34pRGF3tXQwwDgA==",
"dev": true,
- "license": "GPL-2.0+",
"dependencies": {
"@floating-ui/vue": "1.0.6",
- "@wikimedia/codex-icons": "2.5.1"
+ "@wikimedia/codex-icons": "2.6.0"
},
"engines": {
"node": ">=20.20.2",
@@ -5572,11 +5545,10 @@
}
},
"node_modules/@wikimedia/codex-icons": {
- "version": "2.5.1",
- "resolved": "https://registry.npmjs.org/@wikimedia/codex-icons/-/codex-icons-2.5.1.tgz",
- "integrity": "sha512-ZbAXQD0dLuqj8uoMrpswusPymAZ07Pt0Y5wp1mNS3YyHuc1aAvsOGWdsV88YYoJN1l2jvYUE98/KoAKn7Cw5YA==",
+ "version": "2.6.0",
+ "resolved": "https://registry.npmjs.org/@wikimedia/codex-icons/-/codex-icons-2.6.0.tgz",
+ "integrity": "sha512-U0FK8kxhIrX5hAkFGZ0uWsR4arYjWw6GLCMZmrG1qvbX7+CFoVrhJQL7alogRdCrBiQBr8CUQOquOP5fUXPIBQ==",
"dev": true,
- "license": "MIT",
"engines": {
"node": ">=20.20.2",
"npm": ">=10.8.2"
@@ -8264,12 +8236,11 @@
}
},
"node_modules/esbuild": {
- "version": "0.25.12",
- "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.12.tgz",
- "integrity": "sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg==",
+ "version": "0.28.1",
+ "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.28.1.tgz",
+ "integrity": "sha512-HrJrvZv5ayxBzPfwphOoNzkzOIIlifzk0KJrGK2c8R4+LKpMtpYLQeUdjnwjWv/LZlkH2laZk+4w78pi99D4Vw==",
"dev": true,
"hasInstallScript": true,
- "license": "MIT",
"bin": {
"esbuild": "bin/esbuild"
},
@@ -8277,32 +8248,32 @@
"node": ">=18"
},
"optionalDependencies": {
- "@esbuild/aix-ppc64": "0.25.12",
- "@esbuild/android-arm": "0.25.12",
- "@esbuild/android-arm64": "0.25.12",
- "@esbuild/android-x64": "0.25.12",
- "@esbuild/darwin-arm64": "0.25.12",
- "@esbuild/darwin-x64": "0.25.12",
- "@esbuild/freebsd-arm64": "0.25.12",
- "@esbuild/freebsd-x64": "0.25.12",
- "@esbuild/linux-arm": "0.25.12",
- "@esbuild/linux-arm64": "0.25.12",
- "@esbuild/linux-ia32": "0.25.12",
- "@esbuild/linux-loong64": "0.25.12",
- "@esbuild/linux-mips64el": "0.25.12",
- "@esbuild/linux-ppc64": "0.25.12",
- "@esbuild/linux-riscv64": "0.25.12",
- "@esbuild/linux-s390x": "0.25.12",
- "@esbuild/linux-x64": "0.25.12",
- "@esbuild/netbsd-arm64": "0.25.12",
- "@esbuild/netbsd-x64": "0.25.12",
- "@esbuild/openbsd-arm64": "0.25.12",
- "@esbuild/openbsd-x64": "0.25.12",
- "@esbuild/openharmony-arm64": "0.25.12",
- "@esbuild/sunos-x64": "0.25.12",
- "@esbuild/win32-arm64": "0.25.12",
- "@esbuild/win32-ia32": "0.25.12",
- "@esbuild/win32-x64": "0.25.12"
+ "@esbuild/aix-ppc64": "0.28.1",
+ "@esbuild/android-arm": "0.28.1",
+ "@esbuild/android-arm64": "0.28.1",
+ "@esbuild/android-x64": "0.28.1",
+ "@esbuild/darwin-arm64": "0.28.1",
+ "@esbuild/darwin-x64": "0.28.1",
+ "@esbuild/freebsd-arm64": "0.28.1",
+ "@esbuild/freebsd-x64": "0.28.1",
+ "@esbuild/linux-arm": "0.28.1",
+ "@esbuild/linux-arm64": "0.28.1",
+ "@esbuild/linux-ia32": "0.28.1",
+ "@esbuild/linux-loong64": "0.28.1",
+ "@esbuild/linux-mips64el": "0.28.1",
+ "@esbuild/linux-ppc64": "0.28.1",
+ "@esbuild/linux-riscv64": "0.28.1",
+ "@esbuild/linux-s390x": "0.28.1",
+ "@esbuild/linux-x64": "0.28.1",
+ "@esbuild/netbsd-arm64": "0.28.1",
+ "@esbuild/netbsd-x64": "0.28.1",
+ "@esbuild/openbsd-arm64": "0.28.1",
+ "@esbuild/openbsd-x64": "0.28.1",
+ "@esbuild/openharmony-arm64": "0.28.1",
+ "@esbuild/sunos-x64": "0.28.1",
+ "@esbuild/win32-arm64": "0.28.1",
+ "@esbuild/win32-ia32": "0.28.1",
+ "@esbuild/win32-x64": "0.28.1"
}
},
"node_modules/escalade": {
@@ -18743,14 +18714,12 @@
"license": "0BSD"
},
"node_modules/tsx": {
- "version": "4.20.6",
- "resolved": "https://registry.npmjs.org/tsx/-/tsx-4.20.6.tgz",
- "integrity": "sha512-ytQKuwgmrrkDTFP4LjR0ToE2nqgy886GpvRSpU0JAnrdBYppuY5rLkRUYPU1yCryb24SsKBTL/hlDQAEFVwtZg==",
+ "version": "4.22.4",
+ "resolved": "https://registry.npmjs.org/tsx/-/tsx-4.22.4.tgz",
+ "integrity": "sha512-X8EX+XV4QR5xCsrgxaED954zTDfY8KqlDtskKEL0cHhyS/P8b4IFOvGDQpsC9Q1XnLq915wEfwwY/zzskCtmhg==",
"dev": true,
- "license": "MIT",
"dependencies": {
- "esbuild": "~0.25.0",
- "get-tsconfig": "^4.7.5"
+ "esbuild": "~0.28.0"
},
"bin": {
"tsx": "dist/cli.mjs"
diff --git a/package.json b/package.json
index 93c126d..29c0f54 100644
--- a/package.json
+++ b/package.json
@@ -28,7 +28,7 @@
"@wdio/local-runner": "9.20.1",
"@wdio/mocha-framework": "9.20.1",
"@wdio/spec-reporter": "9.20.0",
- "@wikimedia/codex": "2.5.1",
+ "@wikimedia/codex": "2.6.0",
"eslint-config-wikimedia": "0.32.4",
"grunt": "1.6.2",
"grunt-banana-checker": "0.13.0",
--
2.47.3
$ date
--- stdout ---
Sun Jun 14 21:33:00 UTC 2026
--- end ---
$ git clone file:///srv/git/mediawiki-extensions-WikiLambda.git /src/repo --depth=1 -b master
--- 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
--- stderr ---
Submodule 'function-schemata' (https://gitlab.wikimedia.org/repos/abstract-wiki/wikifunctions/function-schemata.git) registered for path 'function-schemata'
Cloning into '/src/repo/function-schemata'...
--- stdout ---
Submodule path 'function-schemata': checked out 'dc52a2b45997753e2f1f4a17fca152bb2aca5e62'
--- end ---
$ grr init
--- stdout ---
Installed commit-msg hook.
--- end ---
$ git show-ref refs/heads/master
--- stdout ---
9e67366868181875babe7c45a557ad9f17151a47 refs/heads/master
--- end ---
$ /usr/bin/npm audit --json
--- stdout ---
{
"auditReportVersion": 2,
"vulnerabilities": {
"@wdio/mocha-framework": {
"name": "@wdio/mocha-framework",
"severity": "moderate",
"isDirect": true,
"via": [
"mocha"
],
"effects": [],
"range": ">=7.7.4",
"nodes": [
"node_modules/@wdio/mocha-framework"
],
"fixAvailable": {
"name": "@wdio/mocha-framework",
"version": "7.7.3",
"isSemVerMajor": true
}
},
"esbuild": {
"name": "esbuild",
"severity": "high",
"isDirect": false,
"via": [
{
"source": 1120679,
"name": "esbuild",
"dependency": "esbuild",
"title": "esbuild: Missing binary integrity verification in Deno module enables remote code execution via NPM_CONFIG_REGISTRY",
"url": "https://github.com/advisories/GHSA-gv7w-rqvm-qjhr",
"severity": "high",
"cwe": [
"CWE-426",
"CWE-494"
],
"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": ">=0.17.0 <0.28.1"
}
],
"effects": [
"tsx"
],
"range": "0.17.0 - 0.28.0",
"nodes": [
"node_modules/esbuild"
],
"fixAvailable": true
},
"mocha": {
"name": "mocha",
"severity": "moderate",
"isDirect": false,
"via": [
"serialize-javascript"
],
"effects": [
"@wdio/mocha-framework"
],
"range": "8.2.0 - 12.0.0-beta-2",
"nodes": [
"node_modules/mocha"
],
"fixAvailable": {
"name": "@wdio/mocha-framework",
"version": "7.7.3",
"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": [
"mocha"
],
"range": "<=7.0.4",
"nodes": [
"node_modules/serialize-javascript"
],
"fixAvailable": {
"name": "@wdio/mocha-framework",
"version": "7.7.3",
"isSemVerMajor": true
}
},
"tsx": {
"name": "tsx",
"severity": "high",
"isDirect": false,
"via": [
"esbuild"
],
"effects": [],
"range": "3.13.0 - 4.21.1",
"nodes": [
"node_modules/tsx"
],
"fixAvailable": true
}
},
"metadata": {
"vulnerabilities": {
"info": 0,
"low": 0,
"moderate": 2,
"high": 3,
"critical": 0,
"total": 5
},
"dependencies": {
"prod": 1,
"dev": 1440,
"optional": 38,
"peer": 16,
"peerOptional": 0,
"total": 1440
}
}
}
--- 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: 44 installs, 0 updates, 0 removals
- Locking composer/pcre (3.4.0)
- 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 diff/diff (3.4.0)
- 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 netresearch/jsonmapper (v5.0.1)
- Locking phan/phan (6.0.2)
- Locking phan/tolerant-php-parser (v0.2.0)
- Locking phan/var_representation_polyfill (0.1.4)
- 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 psr/container (2.0.2)
- Locking psr/log (3.0.2)
- Locking sabre/event (6.1.0)
- Locking squizlabs/php_codesniffer (3.13.5)
- Locking symfony/console (v8.1.0)
- 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.2)
- Locking symfony/polyfill-php82 (v1.33.0)
- Locking symfony/polyfill-php83 (v1.33.0)
- Locking symfony/polyfill-php84 (v1.33.0)
- Locking symfony/polyfill-php85 (v1.33.0)
- Locking symfony/service-contracts (v3.7.0)
- Locking symfony/string (v8.1.0)
- Locking webmozart/assert (2.4.0)
- Locking wikimedia/remex-html (6.0.1)
- Locking wikimedia/utfnormal (4.0.0)
Writing lock file
Installing dependencies from lock file (including require-dev)
Package operations: 44 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.4.0): Extracting archive
- Installing diff/diff (3.4.0): Extracting archive
- Installing phpcsstandards/phpcsutils (1.2.2): Extracting archive
- Installing phpcsstandards/phpcsextra (1.5.0): Extracting archive
- Installing symfony/polyfill-mbstring (v1.38.2): 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/string (v8.1.0): Extracting archive
- Installing symfony/deprecation-contracts (v3.7.0): Extracting archive
- Installing psr/container (2.0.2): Extracting archive
- Installing symfony/service-contracts (v3.7.0): Extracting archive
- Installing symfony/polyfill-php85 (v1.33.0): Extracting archive
- Installing symfony/console (v8.1.0): 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 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/utfnormal (4.0.0): Extracting archive
- Installing symfony/polyfill-php84 (v1.33.0): Extracting archive
- Installing symfony/polyfill-php83 (v1.33.0): Extracting archive
- Installing symfony/polyfill-php82 (v1.33.0): Extracting archive
- Installing wikimedia/remex-html (6.0.1): Extracting archive
0/42 [>---------------------------] 0%
28/42 [==================>---------] 66%
41/42 [===========================>] 97%
42/42 [============================] 100%
1 package suggestions were added by new dependencies, use `composer suggest` to see details.
Generating autoload files
20 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
--- stdout ---
PHP CodeSniffer Config installed_paths set to ../../mediawiki/mediawiki-codesniffer,../../phpcsstandards/phpcsextra,../../phpcsstandards/phpcsutils
--- end ---
Upgrading n:@wikimedia/codex from 2.5.1 -> 2.6.0
$ /usr/bin/npm install
--- stderr ---
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE package: '@wikimedia/codex-design-tokens@2.5.1',
npm WARN EBADENGINE required: { node: '>=20.20.2', npm: '>=10.8.1' },
npm WARN EBADENGINE current: { node: 'v20.19.2', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE package: 'grunt-stylelint@0.21.0',
npm WARN EBADENGINE required: { node: '>=20.19.5' },
npm WARN EBADENGINE current: { node: 'v20.19.2', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE package: '@wikimedia/codex@2.6.0',
npm WARN EBADENGINE required: { npm: '>=10.8.2', node: '>=20.20.2' },
npm WARN EBADENGINE current: { node: 'v20.19.2', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE package: '@wikimedia/codex-icons@2.6.0',
npm WARN EBADENGINE required: { npm: '>=10.8.2', node: '>=20.20.2' },
npm WARN EBADENGINE current: { node: 'v20.19.2', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN deprecated osenv@0.1.5: This package is no longer supported.
npm WARN deprecated inflight@1.0.6: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.
npm WARN deprecated @humanwhocodes/config-array@0.13.0: Use @eslint/config-array instead
npm WARN deprecated rimraf@3.0.2: Rimraf versions prior to v4 are no longer supported
npm WARN deprecated abab@2.0.6: Use your platform's native atob() and btoa() methods instead
npm WARN deprecated @humanwhocodes/object-schema@2.0.3: Use @eslint/object-schema instead
npm WARN deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported
npm WARN deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported
npm WARN deprecated glob@8.1.0: Glob versions prior to v9 are no longer supported
npm WARN deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported
npm WARN deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported
npm WARN deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported
npm WARN deprecated glob@7.1.7: Glob versions prior to v9 are no longer supported
npm WARN deprecated domexception@4.0.0: Use your platform's native DOMException instead
npm WARN deprecated node-domexception@1.0.0: Use your platform's native DOMException instead
npm WARN deprecated eslint@8.57.1: This version is no longer supported. Please see https://eslint.org/version-support for other options.
--- stdout ---
added 1414 packages, and audited 1415 packages in 30s
268 packages are looking for funding
run `npm fund` for details
5 vulnerabilities (2 moderate, 3 high)
To address issues that do not require attention, run:
npm audit fix
To address all issues (including breaking changes), run:
npm audit fix --force
Run `npm audit` for details.
--- end ---
$ package-lock-lint /src/repo/package-lock.json
--- stdout ---
Checking /src/repo/package-lock.json
--- end ---
$ /usr/bin/npm ci
--- stderr ---
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE package: '@wikimedia/codex@2.6.0',
npm WARN EBADENGINE required: { node: '>=20.20.2', npm: '>=10.8.2' },
npm WARN EBADENGINE current: { node: 'v20.19.2', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE package: '@wikimedia/codex-design-tokens@2.5.1',
npm WARN EBADENGINE required: { node: '>=20.20.2', npm: '>=10.8.1' },
npm WARN EBADENGINE current: { node: 'v20.19.2', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE package: '@wikimedia/codex-icons@2.6.0',
npm WARN EBADENGINE required: { node: '>=20.20.2', npm: '>=10.8.2' },
npm WARN EBADENGINE current: { node: 'v20.19.2', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE package: 'grunt-stylelint@0.21.0',
npm WARN EBADENGINE required: { node: '>=20.19.5' },
npm WARN EBADENGINE current: { node: 'v20.19.2', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN deprecated osenv@0.1.5: This package is no longer supported.
npm WARN deprecated inflight@1.0.6: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.
npm WARN deprecated @humanwhocodes/config-array@0.13.0: Use @eslint/config-array instead
npm WARN deprecated rimraf@3.0.2: Rimraf versions prior to v4 are no longer supported
npm WARN deprecated abab@2.0.6: Use your platform's native atob() and btoa() methods instead
npm WARN deprecated @humanwhocodes/object-schema@2.0.3: Use @eslint/object-schema instead
npm WARN deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported
npm WARN deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported
npm WARN deprecated glob@8.1.0: Glob versions prior to v9 are no longer supported
npm WARN deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported
npm WARN deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported
npm WARN deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported
npm WARN deprecated glob@7.1.7: Glob versions prior to v9 are no longer supported
npm WARN deprecated domexception@4.0.0: Use your platform's native DOMException instead
npm WARN deprecated node-domexception@1.0.0: Use your platform's native DOMException instead
npm WARN deprecated eslint@8.57.1: This version is no longer supported. Please see https://eslint.org/version-support for other options.
--- stdout ---
added 1414 packages, and audited 1415 packages in 39s
268 packages are looking for funding
run `npm fund` for details
5 vulnerabilities (2 moderate, 3 high)
To address issues that do not require attention, run:
npm audit fix
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/utils/zobjectUtils.test.js
PASS tests/jest/store/stores/submission.test.js
PASS tests/jest/store/stores/zobject.test.js
PASS tests/jest/store/stores/library.test.js
PASS tests/jest/store/stores/abstractWiki.test.js
PASS tests/jest/store/stores/factory.test.js
PASS tests/jest/components/default/ZObjectKeyValue.test.js (7.605 s)
PASS tests/jest/components/widgets/about/About.test.js (5.392 s)
PASS tests/jest/references/composables/usePreventScrollIOS.test.js
PASS tests/jest/components/visualeditor/FunctionInputPreview.test.js
PASS tests/jest/utils/typeUtils.test.js
PASS tests/jest/components/base/ModeSelector.test.js
PASS tests/jest/components/widgets/about/AboutLanguageBlock.test.js
PASS tests/jest/components/default/ZObjectToString.test.js (12.298 s)
PASS tests/jest/store/stores/router.test.js
PASS tests/jest/components/widgets/function-evaluator/FunctionMetadataDialog.test.js
PASS tests/jest/store/stores/wikidata/lexemes.test.js
PASS tests/jest/components/default/ZObjectStringRenderer.test.js
PASS tests/jest/store/stores/testResults.test.js
PASS tests/jest/store/stores/zfunction.test.js
PASS tests/jest/store/stores/clipboard.test.js
PASS tests/jest/components/default/ZMultilingualString.test.js
PASS tests/jest/store/stores/wikidata/entities.test.js
PASS tests/jest/components/widgets/function-evaluator/FunctionEvaluator.test.js
PASS tests/jest/components/default/ZMultilingualStringDialog.test.js
PASS tests/jest/store/stores/ztype.test.js
PASS tests/jest/components/base/CodeEditor.test.js
PASS tests/jest/languageselector/LanguageSelector.test.js
PASS tests/jest/composables/useMenuAction.test.js
PASS tests/jest/components/base/ZObjectSelector.test.js (6.017 s)
PASS tests/jest/components/base/ClipboardDialog.test.js
PASS tests/jest/references/composables/useFocusTrap.test.js
PASS tests/jest/components/widgets/function-explorer/FunctionExplorer.test.js
PASS tests/jest/components/visualeditor/FunctionInputField.test.js
PASS tests/jest/components/function/viewer/FunctionViewerDetails.test.js
PASS tests/jest/components/default/wikidata/EntitySelector.test.js
PASS tests/jest/utils/scrollUtils.test.js
PASS tests/jest/components/default/wikidata/LexemeSense.test.js
PASS tests/jest/components/widgets/publish/PublishDialog.test.js
PASS tests/jest/components/visualeditor/fields/FunctionInputParser.test.js
PASS tests/jest/components/widgets/about/AboutLanguagesDialog.test.js
PASS tests/jest/store/stores/errors.test.js
PASS tests/jest/components/visualeditor/FunctionInputSetup.test.js
PASS tests/jest/store/classes/ApiError.test.js
PASS tests/jest/integration/CreateNewWikidataEnum.test.js (17.964 s)
PASS tests/jest/search/zobject.test.js
PASS tests/jest/composables/useFragmentHighlightRects.test.js
PASS tests/jest/components/widgets/function-report/FunctionReport.test.js
PASS tests/jest/components/default/ZCode.test.js
PASS tests/jest/components/default/ZTester.test.js
PASS tests/jest/references/components/reference/ReferenceManager.test.js
PASS tests/jest/store/stores/wikidata/properties.test.js
PASS tests/jest/components/default/ZArgumentReference.test.js
PASS tests/jest/store/stores/wikidata/items.test.js
PASS tests/jest/components/default/commons/MediaSelector.test.js
PASS tests/jest/components/function/editor/FunctionEditor.test.js
PASS tests/jest/components/default/ZMonolingualString.test.js
PASS tests/jest/components/visualeditor/fields/FunctionInputWikidata.test.js
PASS tests/jest/components/default/ZImplementation.test.js
PASS tests/jest/utils/urlUtils.test.js
PASS tests/jest/components/widgets/publish/Publish.test.js
PASS tests/jest/components/widgets/function-evaluator/EvaluationResult.test.js (5.115 s)
PASS tests/jest/utils/apiUtils.test.js
PASS tests/jest/components/default/ZReference.test.js
PASS tests/jest/search/wikidata.test.js
PASS tests/jest/components/visualeditor/fields/FunctionInputLanguage.test.js
PASS tests/jest/components/visualeditor/fields/FunctionInputEnum.test.js
PASS tests/jest/integration/DisconnectFunctionImplementation.test.js (6.131 s)
PASS tests/jest/utils/schemata.test.js
PASS tests/jest/composables/useLeaveEditorDialog.test.js
PASS tests/jest/components/abstract/AbstractPreviewFragment.test.js
PASS tests/jest/integration/CreateNewCompositionImplementation.test.js (9.434 s)
PASS tests/jest/integration/CreateNewTester.test.js (16.07 s)
PASS tests/jest/composables/useTestResults.test.js
PASS tests/jest/components/abstract/AbstractContentSection.test.js
PASS tests/jest/components/function/viewer/FunctionTesterTable.test.js
PASS tests/jest/store/stores/currentPage.test.js
PASS tests/jest/components/base/TypeSelector.test.js
PASS tests/jest/composables/useScroll.test.js
PASS tests/jest/integration/CreateNewFunction.test.js (6.83 s)
PASS tests/jest/integration/EditFunction.test.js (6.584 s)
PASS tests/jest/components/default/wikidata/LexemeForm.test.js
PASS tests/jest/references/composables/useScrollLock.test.js
PASS tests/jest/integration/FunctionEditorEdgeCases.test.js (6.806 s)
PASS tests/jest/integration/CreateNewCodeImplementation.test.js (17.951 s)
PASS tests/jest/store/stores/languages.test.js
PASS tests/jest/components/visualeditor/ExpandableDescription.test.js
PASS tests/jest/store/stores/zhtml.test.js
PASS tests/jest/components/default/wikidata/Property.test.js
PASS tests/jest/components/base/HTMLFragmentViewer.test.js
PASS tests/jest/components/default/wikidata/Lexeme.test.js
PASS tests/jest/store/stores/visualeditor.test.js
PASS tests/jest/components/abstract/AbstractTitle.test.js
PASS tests/jest/components/default/wikidata/Item.test.js
PASS tests/jest/references/components/base/Drawer.test.js
PASS tests/jest/composables/usePageTitle.test.js
PASS tests/jest/composables/useClipboardManager.test.js
PASS tests/jest/components/function/editor/FunctionEditorLanguage.test.js
PASS tests/jest/store/stores/commons/media.test.js
PASS tests/jest/components/default/commons/MediaReference.test.js
PASS tests/jest/integration/RunFunctionCall.test.js (5.576 s)
PASS tests/jest/components/function/editor/FunctionEditorInputsItem.test.js
PASS tests/jest/references/components/reference/ReferencePopover.test.js
PASS tests/jest/utils/wikidataUtils.test.js
PASS tests/jest/components/function/editor/FunctionEditorName.test.js
PASS tests/jest/composables/useZObject.test.js
PASS tests/jest/utils/miscUtils.test.js
PASS tests/jest/store/stores/queue.test.js
PASS tests/jest/composables/useShareUrl.test.js
PASS tests/jest/components/widgets/function-report/FunctionReportItem.test.js
PASS tests/jest/integration/FunctionEditorGenericTypes.test.js (8.024 s)
PASS tests/jest/components/function/editor/FunctionEditorDescription.test.js
PASS tests/jest/components/abstract/AbstractContentFragment.test.js
PASS tests/jest/components/base/SafeMessage.test.js
PASS tests/jest/components/default/ZTypedList.test.js
PASS tests/jest/views/Abstract.test.js
PASS tests/jest/components/function/editor/FunctionEditorLanguageBlock.test.js
PASS tests/jest/composables/useDarkMode.test.js
PASS tests/jest/components/visualeditor/FunctionSelect.test.js
PASS tests/jest/utils/metadataUtils.test.js
PASS tests/jest/composables/useError.test.js
PASS tests/jest/components/default/wikidata/ReferenceSelector.test.js
PASS tests/jest/views/FunctionViewer.test.js
PASS tests/jest/components/abstract/AbstractPreview.test.js
PASS tests/jest/components/default/ZTypedListItems.test.js
PASS tests/jest/references/composables/useBreakpoints.test.js
PASS tests/jest/components/function/editor/FunctionEditorAliases.test.js
PASS tests/jest/composables/useBreakpoints.test.js
PASS tests/jest/store/stores/listItems.test.js
PASS tests/jest/components/base/FunctionSelectorHelp.test.js
PASS tests/jest/components/function/editor/FunctionEditorInputs.test.js
PASS tests/jest/components/function/viewer/FunctionViewerDetailsTable.test.js
PASS tests/jest/composables/useClipboard.test.js
PASS tests/jest/store/stores/user.test.js
PASS tests/jest/components/default/wikidata/Enum.test.js
PASS tests/jest/utils/errorUtils.test.js
PASS tests/jest/components/visualeditor/FunctionCallSetup.test.js
PASS tests/jest/components/App.test.js
PASS tests/jest/components/widgets/function-evaluator/FunctionMetadataTestResult.test.js
PASS tests/jest/composables/useFragmentHighlightRegistry.test.js
PASS tests/jest/utils/eventLogUtils.test.js
PASS tests/jest/store/classes/ErrorData.test.js
PASS tests/jest/integration/ConnectFunctionImplementation.test.js
PASS tests/jest/components/abstract/AbstractPublish.test.js
PASS tests/jest/integration/ConnectFunctionTest.test.js (5.648 s)
PASS tests/jest/integration/CancelEditExistingFunction.test.js (6.798 s)
PASS tests/jest/integration/DisconnectFunctionTest.test.js (5.325 s)
PASS tests/jest/components/base/ExpandedToggle.test.js
PASS tests/jest/utils/sortUtils.test.js
PASS tests/jest/components/function/editor/FunctionEditorOutput.test.js
PASS tests/jest/components/visualeditor/FunctionInputDefaultValueCheckbox.test.js
PASS tests/jest/store/stores/functionCall.test.js
PASS tests/jest/components/visualeditor/fields/FunctionInputString.test.js
PASS tests/jest/components/default/wikidata/Statement.test.js
PASS tests/jest/components/default/ZBoolean.test.js
PASS tests/jest/components/base/LocalizedLabel.test.js
PASS tests/jest/components/default/ZHTMLFragment.test.js
PASS tests/jest/components/default/ZString.test.js
PASS tests/jest/integration/CancelEditNewFunction.test.js (6.175 s)
PASS tests/jest/components/default/ZTypedListType.test.js
PASS tests/jest/components/abstract/AbstractContent.test.js
PASS tests/jest/store/stores/programmingLanguages.test.js
PASS tests/jest/composables/useType.test.js
PASS tests/jest/composables/useEventLog.test.js
PASS tests/jest/components/default/ZFunctionCall.test.js
PASS tests/jest/components/widgets/publish/LeaveEditorDialog.test.js
PASS tests/jest/store/index.test.js
Test Suites: 167 passed, 167 total
Tests: 2709 passed, 2709 total
Snapshots: 0 total
Time: 205.196 s
Ran all test suites.
--- stdout ---
> test
> grunt test && npm run test:unit
Running "eslint:all" (eslint) task
/src/repo/docker-compose.sample.yml
3:1 warning This line has a length of 103. Maximum allowed is 100 max-len
4:1 warning This line has a length of 107. Maximum allowed is 100 max-len
49:1 warning This line has a length of 117. Maximum allowed is 100 max-len
50:1 warning This line has a length of 104. Maximum allowed is 100 max-len
51:1 warning This line has a length of 106. Maximum allowed is 100 max-len
58:1 warning This line has a length of 120. Maximum allowed is 100 max-len
59:1 warning This line has a length of 104. Maximum allowed is 100 max-len
60:1 warning This line has a length of 109. Maximum allowed is 100 max-len
/src/repo/jest.setup.js
100:42 warning Found non-literal argument to RegExp Constructor security/detect-non-literal-regexp
✖ 9 problems (0 errors, 9 warnings)
Running "banana:WikiLambda" (banana) task
>> 6 message directories checked.
Running "stylelint:all" (stylelint) task
>> Linted 352 files without errors
Done.
> test:unit
> jest
----------------------------------------------------------|---------|----------|---------|---------|-----------------------------------------------------------------------------------------------------------------------------
File | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s
----------------------------------------------------------|---------|----------|---------|---------|-----------------------------------------------------------------------------------------------------------------------------
All files | 97.61 | 92.49 | 94.84 | 97.61 |
ext.wikilambda.app/components | 94.32 | 100 | 100 | 94.32 |
App.vue | 94.32 | 100 | 100 | 94.32 | 85,88,108,119-123
ext.wikilambda.app/components/abstract | 92.33 | 85.55 | 75 | 92.33 |
AbstractContent.vue | 100 | 100 | 100 | 100 |
AbstractContentFragment.vue | 100 | 100 | 100 | 100 |
AbstractContentSection.vue | 86.17 | 76.19 | 60 | 86.17 | 107-109,118-129,181-183,188-190,194-196,245-259
AbstractPreview.vue | 98.67 | 100 | 50 | 98.67 | 115-116
AbstractPreviewFragment.vue | 92.15 | 82.75 | 100 | 92.15 | 100-101,175-179,181-183,185-192,215-216
AbstractPreviewHighlightLayer.vue | 71.95 | 100 | 0 | 71.95 | 36-58
AbstractPublish.vue | 83.7 | 100 | 42.85 | 83.7 | 76-77,91-92,98-111,114-117
AbstractTitle.vue | 97.73 | 83.33 | 100 | 97.73 | 163-164,171-173
ext.wikilambda.app/components/base | 97.15 | 91.45 | 88.05 | 97.15 |
ClipboardDialog.vue | 98.36 | 86.36 | 57.14 | 98.36 | 194-195,201-202,247-248
CodeEditor.vue | 91.32 | 90.9 | 92.85 | 91.32 | 105-106,225-232,252-259,294-297,345-364
CustomDialogHeader.vue | 100 | 100 | 100 | 100 |
ExpandedToggle.vue | 100 | 100 | 100 | 100 |
FunctionSelectorHelp.vue | 100 | 100 | 100 | 100 |
HTMLFragmentViewer.vue | 98.71 | 100 | 100 | 98.71 | 106-107
KeyBlock.vue | 100 | 100 | 100 | 100 |
KeyValueBlock.vue | 100 | 100 | 100 | 100 |
LocalizedLabel.vue | 100 | 100 | 100 | 100 |
ModeSelector.vue | 99.61 | 92.53 | 100 | 99.61 | 145,205
SafeMessage.vue | 100 | 100 | 100 | 100 |
StatusIcon.vue | 100 | 100 | 100 | 100 |
TypeSelector.vue | 94.46 | 78.57 | 66.66 | 94.46 | 160-165,177-179,183-186
WidgetBase.vue | 100 | 100 | 100 | 100 |
ZObjectSelector.vue | 95.42 | 89.21 | 84.21 | 95.42 | 166-167,230-231,403-405,470-471,485-486,521-528,572-574,597-600,616-619,641-643,689-690
ext.wikilambda.app/components/function/editor | 99.45 | 90.07 | 100 | 99.45 |
FunctionEditor.vue | 98.62 | 83.33 | 100 | 98.62 | 159,163-165
FunctionEditorAliases.vue | 100 | 100 | 100 | 100 |
FunctionEditorDescription.vue | 98.78 | 92.85 | 100 | 98.78 | 114-115
FunctionEditorField.vue | 100 | 100 | 100 | 100 |
FunctionEditorInputs.vue | 100 | 100 | 100 | 100 |
FunctionEditorInputsItem.vue | 100 | 77.77 | 100 | 100 | 201,210
FunctionEditorLanguage.vue | 98.58 | 88.88 | 100 | 98.58 | 100-101
FunctionEditorLanguageBlock.vue | 100 | 100 | 100 | 100 |
FunctionEditorName.vue | 98.85 | 92.85 | 100 | 98.85 | 120-121
FunctionEditorOutput.vue | 100 | 100 | 100 | 100 |
ext.wikilambda.app/components/function/viewer | 99.18 | 95.72 | 100 | 99.18 |
FunctionTesterTable.vue | 99.51 | 81.81 | 100 | 99.51 | 160
FunctionViewerDetails.vue | 98.81 | 97 | 100 | 98.81 | 213-214,296-298,316,336,550
FunctionViewerDetailsTable.vue | 100 | 100 | 100 | 100 |
ext.wikilambda.app/components/types | 97.38 | 87.51 | 96.87 | 97.38 |
ZArgumentReference.vue | 100 | 94.73 | 100 | 100 | 176
ZBoolean.vue | 100 | 100 | 100 | 100 |
ZCode.vue | 96.17 | 92.45 | 100 | 96.17 | 242-255,349,413-415
ZFunctionCall.vue | 100 | 100 | 100 | 100 |
ZHTMLFragment.vue | 100 | 80 | 100 | 100 | 108
ZImplementation.vue | 100 | 100 | 100 | 100 |
ZMonolingualString.vue | 100 | 100 | 100 | 100 |
ZMultilingualString.vue | 99.01 | 88.88 | 100 | 99.01 | 206-207,293,295-296
ZMultilingualStringDialog.vue | 96.73 | 81.03 | 91.66 | 96.73 | 174-175,207-208,217-219,221-222,224-226,239-240,353-354,465-466
ZObjectKeyValue.vue | 94.94 | 86.39 | 100 | 94.94 | 267-273,277-278,328-329,347-354,366,375-376,442-447,640-641,643-644,646-647,649-650,672-674,697-698,703-706,736-737,847-848
ZObjectKeyValueSet.vue | 100 | 66.66 | 100 | 100 | 72-80
ZObjectStringRenderer.vue | 95.66 | 94.23 | 83.33 | 95.66 | 256-257,312-315,345-346,402-407,459-460,507-508,534,544-550
ZObjectToString.vue | 95.45 | 82.35 | 100 | 95.45 | 225-226,278-279,282-283,345-346,379,493-494,511-513,520-521,537-539,559-561,565-566,571-572,574-575,599-600,661-663,673-674
ZReference.vue | 97.62 | 79.41 | 100 | 97.62 | 180,203-204,229,231-233
ZString.vue | 100 | 100 | 100 | 100 |
ZTester.vue | 99.09 | 95.23 | 100 | 99.09 | 126-127
ZTypedList.vue | 100 | 87.5 | 100 | 100 | 98
ZTypedListItems.vue | 100 | 100 | 100 | 100 |
ZTypedListType.vue | 100 | 100 | 100 | 100 |
ext.wikilambda.app/components/types/commons | 93.01 | 76.19 | 82.6 | 93.01 |
MediaPreview.vue | 82.75 | 100 | 0 | 82.75 | 71-85
MediaReference.vue | 100 | 88.88 | 100 | 100 | 109
MediaSelector.vue | 92.32 | 74.07 | 84.21 | 92.32 | 203-204,223-224,234-245,293-294,297-299,310-313,320-321,325,338-339
ext.wikilambda.app/components/types/wikidata | 98.07 | 87.07 | 97.22 | 98.07 |
EntitySelector.vue | 95.67 | 82.5 | 92.85 | 95.67 | 91-92,153-154,168-169,184-185,269-272,302-304
Enum.vue | 97.88 | 81.81 | 100 | 97.88 | 191-195
Item.vue | 100 | 93.33 | 100 | 100 | 172
Lexeme.vue | 100 | 93.33 | 100 | 100 | 172
LexemeForm.vue | 98.31 | 84.61 | 100 | 98.31 | 172-175
LexemeSense.vue | 95.59 | 86.84 | 100 | 95.59 | 247-252,279-280,290-292,317-321,326-327
Property.vue | 99.57 | 84.61 | 100 | 99.57 | 172
ReferenceSelector.vue | 100 | 93.33 | 100 | 100 | 102
Statement.vue | 100 | 100 | 100 | 100 |
wikidataIconSvg.js | 100 | 100 | 100 | 100 |
ext.wikilambda.app/components/visualeditor | 98.64 | 95.93 | 90.38 | 98.64 |
ExpandableDescription.vue | 99.37 | 100 | 100 | 99.37 | 96
FunctionCallSetup.vue | 96.77 | 100 | 60 | 96.77 | 92-93,99-100
FunctionInputDefaultValueCheckbox.vue | 100 | 100 | 100 | 100 |
FunctionInputField.vue | 100 | 100 | 100 | 100 |
FunctionInputPreview.vue | 97.66 | 93.75 | 86.36 | 97.66 | 129-130,178-179,360-361,410-411,464-467
FunctionInputSetup.vue | 99.49 | 97.29 | 100 | 99.49 | 288-289
FunctionSelect.vue | 97.5 | 89.47 | 100 | 97.5 | 189-190,200-201,216-218
FunctionSelectItem.vue | 100 | 100 | 100 | 100 |
wikifunctionsIconSvg.js | 100 | 100 | 100 | 100 |
ext.wikilambda.app/components/visualeditor/fields | 96.66 | 91.41 | 94.28 | 96.66 |
FunctionInputEnum.vue | 98.26 | 97.29 | 88.88 | 98.26 | 170-171,198-199
FunctionInputLanguage.vue | 97.32 | 87.5 | 100 | 97.32 | 141-142,162-163,172-173
FunctionInputParser.vue | 93.31 | 92 | 90.9 | 93.31 | 207-219,230-231,270-271,367-373,383-386
FunctionInputString.vue | 100 | 100 | 100 | 100 |
FunctionInputWikidata.vue | 98.65 | 86.84 | 100 | 98.65 | 210-211,220-221
ext.wikilambda.app/components/widgets/about | 96.79 | 93.03 | 82.35 | 96.79 |
About.vue | 95.28 | 97.53 | 80 | 95.28 | 271-272,534-538,558-559,585-586,595-605,613-622
AboutLanguageBlock.vue | 99.68 | 97.77 | 100 | 99.68 | 324-325
AboutLanguagesDialog.vue | 94.97 | 75 | 81.81 | 94.97 | 244-247,258-260,272-273,287-288,315-316,318-319,321-322,324-325,338-341
ext.wikilambda.app/components/widgets/function-evaluator | 96.94 | 84.31 | 95.65 | 96.94 |
EvaluationResult.vue | 98.58 | 76 | 100 | 98.58 | 131-132,241-242
FunctionEvaluator.vue | 94.95 | 92.3 | 90 | 94.95 | 353-377,399-401,507
FunctionMetadataDialog.vue | 97.31 | 82.6 | 96.77 | 97.31 | 200-201,207-208,233-234,254,438-439,522-523,606-607,641-645,659-660,683-684,717-718,771-772,986-988
FunctionMetadataItem.vue | 100 | 100 | 100 | 100 |
FunctionMetadataTestResult.vue | 97.28 | 81.81 | 100 | 97.28 | 122-123,129-131
ext.wikilambda.app/components/widgets/function-explorer | 99.06 | 90.9 | 100 | 99.06 |
FunctionExplorer.vue | 99.06 | 90.9 | 100 | 99.06 | 272-273,345-346
ext.wikilambda.app/components/widgets/function-report | 95.59 | 92.75 | 55.55 | 95.59 |
FunctionReport.vue | 95.96 | 91.37 | 66.66 | 95.96 | 211-213,235-238,244-247,300-305
FunctionReportItem.vue | 94.95 | 100 | 33.33 | 94.95 | 150-154,162-168
ext.wikilambda.app/components/widgets/publish | 98.65 | 88.52 | 85.71 | 98.65 |
LeaveEditorDialog.vue | 100 | 100 | 100 | 100 |
Publish.vue | 96.45 | 89.28 | 90.9 | 96.45 | 244-253
PublishDialog.vue | 100 | 85.71 | 71.42 | 100 | 231-233,262
ext.wikilambda.app/composables | 99.58 | 97.96 | 100 | 99.58 |
useBreakpoints.js | 100 | 100 | 100 | 100 |
useClipboard.js | 100 | 100 | 100 | 100 |
useClipboardManager.js | 100 | 100 | 100 | 100 |
useDarkMode.js | 100 | 100 | 100 | 100 |
useError.js | 100 | 92.3 | 100 | 100 | 62
useEventLog.js | 100 | 100 | 100 | 100 |
useFragmentHighlightRects.js | 100 | 100 | 100 | 100 |
useFragmentHighlightRegistry.js | 100 | 100 | 100 | 100 |
useInitImages.js | 96.15 | 85.71 | 100 | 96.15 | 23
useInitReferences.js | 89.65 | 85.71 | 100 | 89.65 | 23-25
useLeaveEditorDialog.js | 100 | 100 | 100 | 100 |
useMenuAction.js | 100 | 100 | 100 | 100 |
usePageTitle.js | 100 | 100 | 100 | 100 |
useScroll.js | 100 | 100 | 100 | 100 |
useShareUrl.js | 97.36 | 94.44 | 100 | 97.36 | 30-31
useTestResults.js | 99.39 | 97.43 | 100 | 99.39 | 111
useType.js | 100 | 100 | 100 | 100 |
useZObject.js | 100 | 94.44 | 100 | 100 | 95
ext.wikilambda.app/store | 100 | 100 | 100 | 100 |
index.js | 100 | 100 | 100 | 100 |
ext.wikilambda.app/store/classes | 98.34 | 92.64 | 95.65 | 98.34 |
ApiError.js | 96.87 | 86.48 | 88.88 | 96.87 | 90-91,163-165,171-172
ErrorData.js | 100 | 100 | 100 | 100 |
LabelData.js | 100 | 100 | 100 | 100 |
ext.wikilambda.app/store/stores | 98 | 95.14 | 97.31 | 98 |
abstractWiki.js | 98.35 | 93.67 | 100 | 98.35 | 297-298,302-306,414-415
clipboard.js | 100 | 94.59 | 100 | 100 | 47,99
currentPage.js | 100 | 95.45 | 100 | 100 | 121
errors.js | 100 | 100 | 100 | 100 |
factory.js | 98.76 | 95.77 | 100 | 98.76 | 220-226,411-414
functionCall.js | 100 | 100 | 100 | 100 |
languages.js | 94.11 | 87.09 | 100 | 94.11 | 57-60,74-76,192-193,206-209
library.js | 96.14 | 94.8 | 96.55 | 96.14 | 125-127,420-421,527-528,553-554,565-568,572,696-698,945,1062-1063,1193,1217-1244
listItems.js | 100 | 100 | 100 | 100 |
programmingLanguages.js | 100 | 100 | 100 | 100 |
queue.js | 100 | 100 | 100 | 100 |
router.js | 99.53 | 100 | 92.85 | 99.53 | 195
submission.js | 97.89 | 94.69 | 88.88 | 97.89 | 414-415,546-547,552-553,584-585,673-674,686-689,699
testResults.js | 97.57 | 86.58 | 100 | 97.57 | 352-359,367-369
user.js | 100 | 100 | 100 | 100 |
visualeditor.js | 94.42 | 96.77 | 88.88 | 94.42 | 106-107,160-164,167-168,192-195,209-213
zfunction.js | 100 | 100 | 100 | 100 |
zhtml.js | 100 | 94.11 | 100 | 100 | 78
zobject.js | 97.62 | 94.65 | 95.83 | 97.62 | 156-157,169-170,213-214,410-411,648-661,676-677,717-718,854-855,1245-1246
ztype.js | 99.54 | 100 | 100 | 99.54 | 379-380
ext.wikilambda.app/store/stores/commons | 98.52 | 92.1 | 100 | 98.52 |
media.js | 98.52 | 92.1 | 100 | 98.52 | 174-175,181
ext.wikilambda.app/store/stores/wikidata | 96.06 | 94.61 | 97.14 | 96.06 |
entities.js | 93.29 | 91.66 | 100 | 93.29 | 47,98,143-155,273-278
items.js | 100 | 97.29 | 100 | 100 | 95
lexemes.js | 95.13 | 96.15 | 93.93 | 95.13 | 105-118,375,459-461,471-474,485-486
properties.js | 100 | 94.28 | 100 | 100 | 89,92
ext.wikilambda.app/utils | 98.88 | 96.37 | 99.22 | 98.88 |
apiUtils.js | 100 | 90.32 | 100 | 100 | 25,222,266-267,380,386,455,572
errorUtils.js | 98.13 | 90.47 | 100 | 98.13 | 90-91
eventLogUtils.js | 100 | 100 | 100 | 100 |
helpUtils.js | 100 | 100 | 100 | 100 |
metadataUtils.js | 100 | 100 | 100 | 100 |
miscUtils.js | 100 | 100 | 100 | 100 |
schemata.js | 97.11 | 91.39 | 88.88 | 97.11 | 123,174-179
scrollUtils.js | 100 | 100 | 100 | 100 |
sortUtils.js | 100 | 100 | 100 | 100 |
typeUtils.js | 97.19 | 98.94 | 100 | 97.19 | 523-544
urlUtils.js | 100 | 97.05 | 100 | 100 | 23
wikidataUtils.js | 100 | 100 | 100 | 100 |
zobjectUtils.js | 99.18 | 98.74 | 100 | 99.18 | 422-423,713-717
ext.wikilambda.app/views | 99.25 | 80 | 91.66 | 99.25 |
Abstract.vue | 100 | 100 | 100 | 100 |
Default.vue | 98.06 | 72.22 | 66.66 | 98.06 | 200,215-218
FunctionEditor.vue | 100 | 100 | 100 | 100 |
FunctionEvaluator.vue | 100 | 100 | 100 | 100 |
FunctionViewer.vue | 100 | 73.33 | 100 | 100 | 141-142,159-160
ext.wikilambda.content | 0 | 0 | 0 | 0 |
init.js | 0 | 0 | 0 | 0 | 1-14
ext.wikilambda.languageselector/components | 100 | 98.24 | 100 | 100 |
LanguageSelector.vue | 100 | 98.24 | 100 | 100 | 172
ext.wikilambda.references | 100 | 100 | 100 | 100 |
Constants.js | 100 | 100 | 100 | 100 |
ext.wikilambda.references/components/base | 100 | 100 | 100 | 100 |
Drawer.vue | 100 | 100 | 100 | 100 |
ext.wikilambda.references/components/reference | 93.76 | 93.87 | 81.81 | 93.76 |
ReferenceManager.vue | 93.14 | 93.02 | 82.35 | 93.14 | 94-95,109-111,117-118,126-136,194-195,263-264
ReferencePopover.vue | 95.53 | 100 | 80 | 95.53 | 76-80
ext.wikilambda.references/composables | 96.36 | 89.2 | 97.05 | 96.36 |
useBreakpoints.js | 100 | 100 | 100 | 100 |
useFocusTrap.js | 95.5 | 83.72 | 100 | 95.5 | 51-52,69-70,136-137,141-142
usePreventScrollIOS.js | 95.2 | 88.4 | 93.33 | 95.2 | 25-26,42-43,45-46,66-67,97,101-105
useScrollLock.js | 100 | 100 | 100 | 100 |
ext.wikilambda.search | 99.65 | 93.25 | 93.33 | 99.65 |
utils.js | 100 | 91.66 | 100 | 100 | 57
wikidata.js | 99.37 | 92.15 | 93.33 | 99.37 | 163-164
zobject.js | 100 | 96.15 | 85.71 | 100 | 154
----------------------------------------------------------|---------|----------|---------|---------|-----------------------------------------------------------------------------------------------------------------------------
--- end ---
$ /usr/bin/npm audit --json
--- stdout ---
{
"auditReportVersion": 2,
"vulnerabilities": {
"@wdio/mocha-framework": {
"name": "@wdio/mocha-framework",
"severity": "moderate",
"isDirect": true,
"via": [
"mocha"
],
"effects": [],
"range": ">=7.7.4",
"nodes": [
"node_modules/@wdio/mocha-framework"
],
"fixAvailable": {
"name": "@wdio/mocha-framework",
"version": "7.7.3",
"isSemVerMajor": true
}
},
"esbuild": {
"name": "esbuild",
"severity": "high",
"isDirect": false,
"via": [
{
"source": 1120679,
"name": "esbuild",
"dependency": "esbuild",
"title": "esbuild: Missing binary integrity verification in Deno module enables remote code execution via NPM_CONFIG_REGISTRY",
"url": "https://github.com/advisories/GHSA-gv7w-rqvm-qjhr",
"severity": "high",
"cwe": [
"CWE-426",
"CWE-494"
],
"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": ">=0.17.0 <0.28.1"
}
],
"effects": [
"tsx"
],
"range": "0.17.0 - 0.28.0",
"nodes": [
"node_modules/esbuild"
],
"fixAvailable": true
},
"mocha": {
"name": "mocha",
"severity": "moderate",
"isDirect": false,
"via": [
"serialize-javascript"
],
"effects": [
"@wdio/mocha-framework"
],
"range": "8.2.0 - 12.0.0-beta-2",
"nodes": [
"node_modules/mocha"
],
"fixAvailable": {
"name": "@wdio/mocha-framework",
"version": "7.7.3",
"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": [
"mocha"
],
"range": "<=7.0.4",
"nodes": [
"node_modules/serialize-javascript"
],
"fixAvailable": {
"name": "@wdio/mocha-framework",
"version": "7.7.3",
"isSemVerMajor": true
}
},
"tsx": {
"name": "tsx",
"severity": "high",
"isDirect": false,
"via": [
"esbuild"
],
"effects": [],
"range": "3.13.0 - 4.21.1",
"nodes": [
"node_modules/tsx"
],
"fixAvailable": true
}
},
"metadata": {
"vulnerabilities": {
"info": 0,
"low": 0,
"moderate": 2,
"high": 3,
"critical": 0,
"total": 5
},
"dependencies": {
"prod": 1,
"dev": 1440,
"optional": 38,
"peer": 16,
"peerOptional": 0,
"total": 1440
}
}
}
--- 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
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE package: '@wikimedia/codex@2.6.0',
npm WARN EBADENGINE required: { node: '>=20.20.2', npm: '>=10.8.2' },
npm WARN EBADENGINE current: { node: 'v20.19.2', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE package: '@wikimedia/codex-design-tokens@2.5.1',
npm WARN EBADENGINE required: { node: '>=20.20.2', npm: '>=10.8.1' },
npm WARN EBADENGINE current: { node: 'v20.19.2', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE package: '@wikimedia/codex-icons@2.6.0',
npm WARN EBADENGINE required: { node: '>=20.20.2', npm: '>=10.8.2' },
npm WARN EBADENGINE current: { node: 'v20.19.2', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE package: 'grunt-stylelint@0.21.0',
npm WARN EBADENGINE required: { node: '>=20.19.5' },
npm WARN EBADENGINE current: { node: 'v20.19.2', npm: '9.2.0' }
npm WARN EBADENGINE }
--- stdout ---
{
"added": 26,
"removed": 0,
"changed": 3,
"audited": 1441,
"funding": 268,
"audit": {
"auditReportVersion": 2,
"vulnerabilities": {
"@wdio/mocha-framework": {
"name": "@wdio/mocha-framework",
"severity": "moderate",
"isDirect": true,
"via": [
"mocha"
],
"effects": [],
"range": ">=7.7.4",
"nodes": [
"node_modules/@wdio/mocha-framework"
],
"fixAvailable": {
"name": "@wdio/mocha-framework",
"version": "7.7.3",
"isSemVerMajor": true
}
},
"esbuild": {
"name": "esbuild",
"severity": "high",
"isDirect": false,
"via": [
{
"source": 1120679,
"name": "esbuild",
"dependency": "esbuild",
"title": "esbuild: Missing binary integrity verification in Deno module enables remote code execution via NPM_CONFIG_REGISTRY",
"url": "https://github.com/advisories/GHSA-gv7w-rqvm-qjhr",
"severity": "high",
"cwe": [
"CWE-426",
"CWE-494"
],
"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": ">=0.17.0 <0.28.1"
}
],
"effects": [
"tsx"
],
"range": "0.17.0 - 0.28.0",
"nodes": [
""
],
"fixAvailable": true
},
"mocha": {
"name": "mocha",
"severity": "moderate",
"isDirect": false,
"via": [
"serialize-javascript"
],
"effects": [
"@wdio/mocha-framework"
],
"range": "8.2.0 - 12.0.0-beta-2",
"nodes": [
"node_modules/mocha"
],
"fixAvailable": {
"name": "@wdio/mocha-framework",
"version": "7.7.3",
"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": [
"mocha"
],
"range": "<=7.0.4",
"nodes": [
"node_modules/serialize-javascript"
],
"fixAvailable": {
"name": "@wdio/mocha-framework",
"version": "7.7.3",
"isSemVerMajor": true
}
},
"tsx": {
"name": "tsx",
"severity": "high",
"isDirect": false,
"via": [
"esbuild"
],
"effects": [],
"range": "3.13.0 - 4.21.1",
"nodes": [
""
],
"fixAvailable": true
}
},
"metadata": {
"vulnerabilities": {
"info": 0,
"low": 0,
"moderate": 2,
"high": 3,
"critical": 0,
"total": 5
},
"dependencies": {
"prod": 1,
"dev": 1440,
"optional": 38,
"peer": 16,
"peerOptional": 0,
"total": 1440
}
}
}
}
--- end ---
{"added": 26, "removed": 0, "changed": 3, "audited": 1441, "funding": 268, "audit": {"auditReportVersion": 2, "vulnerabilities": {"@wdio/mocha-framework": {"name": "@wdio/mocha-framework", "severity": "moderate", "isDirect": true, "via": ["mocha"], "effects": [], "range": ">=7.7.4", "nodes": ["node_modules/@wdio/mocha-framework"], "fixAvailable": {"name": "@wdio/mocha-framework", "version": "7.7.3", "isSemVerMajor": true}}, "esbuild": {"name": "esbuild", "severity": "high", "isDirect": false, "via": [{"source": 1120679, "name": "esbuild", "dependency": "esbuild", "title": "esbuild: Missing binary integrity verification in Deno module enables remote code execution via NPM_CONFIG_REGISTRY", "url": "https://github.com/advisories/GHSA-gv7w-rqvm-qjhr", "severity": "high", "cwe": ["CWE-426", "CWE-494"], "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": ">=0.17.0 <0.28.1"}], "effects": ["tsx"], "range": "0.17.0 - 0.28.0", "nodes": [""], "fixAvailable": true}, "mocha": {"name": "mocha", "severity": "moderate", "isDirect": false, "via": ["serialize-javascript"], "effects": ["@wdio/mocha-framework"], "range": "8.2.0 - 12.0.0-beta-2", "nodes": ["node_modules/mocha"], "fixAvailable": {"name": "@wdio/mocha-framework", "version": "7.7.3", "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": ["mocha"], "range": "<=7.0.4", "nodes": ["node_modules/serialize-javascript"], "fixAvailable": {"name": "@wdio/mocha-framework", "version": "7.7.3", "isSemVerMajor": true}}, "tsx": {"name": "tsx", "severity": "high", "isDirect": false, "via": ["esbuild"], "effects": [], "range": "3.13.0 - 4.21.1", "nodes": [""], "fixAvailable": true}}, "metadata": {"vulnerabilities": {"info": 0, "low": 0, "moderate": 2, "high": 3, "critical": 0, "total": 5}, "dependencies": {"prod": 1, "dev": 1440, "optional": 38, "peer": 16, "peerOptional": 0, "total": 1440}}}}
$ /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 EBADENGINE Unsupported engine {
npm WARN EBADENGINE package: '@wikimedia/codex@2.6.0',
npm WARN EBADENGINE required: { node: '>=20.20.2', npm: '>=10.8.2' },
npm WARN EBADENGINE current: { node: 'v20.19.2', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE package: '@wikimedia/codex-design-tokens@2.5.1',
npm WARN EBADENGINE required: { node: '>=20.20.2', npm: '>=10.8.1' },
npm WARN EBADENGINE current: { node: 'v20.19.2', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE package: '@wikimedia/codex-icons@2.6.0',
npm WARN EBADENGINE required: { node: '>=20.20.2', npm: '>=10.8.2' },
npm WARN EBADENGINE current: { node: 'v20.19.2', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE package: 'grunt-stylelint@0.21.0',
npm WARN EBADENGINE required: { node: '>=20.19.5' },
npm WARN EBADENGINE current: { node: 'v20.19.2', npm: '9.2.0' }
npm WARN EBADENGINE }
--- stdout ---
changed 3 packages, and audited 1415 packages in 6s
268 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 @wdio/mocha-framework@7.7.3, which is a breaking change
node_modules/serialize-javascript
mocha 8.2.0 - 12.0.0-beta-2
Depends on vulnerable versions of serialize-javascript
node_modules/mocha
@wdio/mocha-framework >=7.7.4
Depends on vulnerable versions of mocha
node_modules/@wdio/mocha-framework
3 vulnerabilities (2 moderate, 1 high)
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 EBADENGINE Unsupported engine {
npm WARN EBADENGINE package: '@wikimedia/codex@2.6.0',
npm WARN EBADENGINE required: { node: '>=20.20.2', npm: '>=10.8.2' },
npm WARN EBADENGINE current: { node: 'v20.19.2', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE package: '@wikimedia/codex-design-tokens@2.5.1',
npm WARN EBADENGINE required: { node: '>=20.20.2', npm: '>=10.8.1' },
npm WARN EBADENGINE current: { node: 'v20.19.2', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE package: '@wikimedia/codex-icons@2.6.0',
npm WARN EBADENGINE required: { node: '>=20.20.2', npm: '>=10.8.2' },
npm WARN EBADENGINE current: { node: 'v20.19.2', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE package: 'grunt-stylelint@0.21.0',
npm WARN EBADENGINE required: { node: '>=20.19.5' },
npm WARN EBADENGINE current: { node: 'v20.19.2', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN deprecated osenv@0.1.5: This package is no longer supported.
npm WARN deprecated inflight@1.0.6: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.
npm WARN deprecated @humanwhocodes/config-array@0.13.0: Use @eslint/config-array instead
npm WARN deprecated rimraf@3.0.2: Rimraf versions prior to v4 are no longer supported
npm WARN deprecated abab@2.0.6: Use your platform's native atob() and btoa() methods instead
npm WARN deprecated @humanwhocodes/object-schema@2.0.3: Use @eslint/object-schema instead
npm WARN deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported
npm WARN deprecated glob@8.1.0: Glob versions prior to v9 are no longer supported
npm WARN deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported
npm WARN deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported
npm WARN deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported
npm WARN deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported
npm WARN deprecated glob@7.1.7: Glob versions prior to v9 are no longer supported
npm WARN deprecated domexception@4.0.0: Use your platform's native DOMException instead
npm WARN deprecated node-domexception@1.0.0: Use your platform's native DOMException instead
npm WARN deprecated eslint@8.57.1: This version is no longer supported. Please see https://eslint.org/version-support for other options.
--- stdout ---
added 1414 packages, and audited 1415 packages in 31s
268 packages are looking for funding
run `npm fund` for details
3 vulnerabilities (2 moderate, 1 high)
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/integration/CreateNewCodeImplementation.test.js (13.206 s)
PASS tests/jest/integration/CreateNewTester.test.js (14.259 s)
PASS tests/jest/integration/CreateNewWikidataEnum.test.js (15.738 s)
PASS tests/jest/integration/FunctionEditorGenericTypes.test.js (5.646 s)
PASS tests/jest/integration/CreateNewCompositionImplementation.test.js (7.774 s)
PASS tests/jest/components/default/ZObjectToString.test.js (10.824 s)
PASS tests/jest/components/default/ZObjectKeyValue.test.js
PASS tests/jest/integration/CreateNewFunction.test.js
PASS tests/jest/integration/FunctionEditorEdgeCases.test.js (6.046 s)
PASS tests/jest/integration/CancelEditExistingFunction.test.js (5.376 s)
PASS tests/jest/integration/EditFunction.test.js
PASS tests/jest/integration/CancelEditNewFunction.test.js
PASS tests/jest/integration/DisconnectFunctionImplementation.test.js (5.373 s)
PASS tests/jest/integration/ConnectFunctionTest.test.js
PASS tests/jest/components/base/ZObjectSelector.test.js (6.189 s)
PASS tests/jest/integration/RunFunctionCall.test.js
PASS tests/jest/integration/DisconnectFunctionTest.test.js
PASS tests/jest/components/widgets/about/About.test.js
PASS tests/jest/components/widgets/function-evaluator/EvaluationResult.test.js
PASS tests/jest/components/widgets/function-explorer/FunctionExplorer.test.js
PASS tests/jest/components/widgets/function-evaluator/FunctionEvaluator.test.js
PASS tests/jest/integration/ConnectFunctionImplementation.test.js
PASS tests/jest/components/default/commons/MediaSelector.test.js
PASS tests/jest/languageselector/LanguageSelector.test.js
PASS tests/jest/components/base/ExpandedToggle.test.js
PASS tests/jest/components/widgets/function-evaluator/FunctionMetadataDialog.test.js
PASS tests/jest/composables/useType.test.js
PASS tests/jest/components/visualeditor/FunctionSelect.test.js
PASS tests/jest/components/visualeditor/FunctionInputDefaultValueCheckbox.test.js
PASS tests/jest/views/FunctionViewer.test.js
PASS tests/jest/components/abstract/AbstractContent.test.js
PASS tests/jest/composables/useEventLog.test.js
PASS tests/jest/components/abstract/AbstractContentSection.test.js
PASS tests/jest/components/function/viewer/FunctionTesterTable.test.js
PASS tests/jest/components/default/ZMultilingualString.test.js
PASS tests/jest/components/widgets/publish/LeaveEditorDialog.test.js
PASS tests/jest/components/default/ZBoolean.test.js
PASS tests/jest/components/widgets/function-evaluator/FunctionMetadataTestResult.test.js
PASS tests/jest/components/visualeditor/FunctionInputSetup.test.js
PASS tests/jest/components/function/editor/FunctionEditorOutput.test.js
PASS tests/jest/store/stores/programmingLanguages.test.js
PASS tests/jest/components/visualeditor/FunctionInputField.test.js
PASS tests/jest/components/default/ZTypedListType.test.js
PASS tests/jest/components/visualeditor/fields/FunctionInputString.test.js
PASS tests/jest/components/App.test.js
PASS tests/jest/components/base/ModeSelector.test.js
PASS tests/jest/components/widgets/publish/PublishDialog.test.js
PASS tests/jest/composables/useDarkMode.test.js
PASS tests/jest/components/abstract/AbstractTitle.test.js
PASS tests/jest/components/default/ZTypedListItems.test.js
PASS tests/jest/components/default/ZFunctionCall.test.js
PASS tests/jest/components/widgets/function-report/FunctionReportItem.test.js
PASS tests/jest/store/stores/queue.test.js
PASS tests/jest/components/base/SafeMessage.test.js
PASS tests/jest/components/abstract/AbstractPublish.test.js
PASS tests/jest/components/default/ZHTMLFragment.test.js
PASS tests/jest/components/base/HTMLFragmentViewer.test.js
PASS tests/jest/components/function/editor/FunctionEditorAliases.test.js
PASS tests/jest/components/function/viewer/FunctionViewerDetails.test.js
PASS tests/jest/components/visualeditor/FunctionCallSetup.test.js
PASS tests/jest/components/function/editor/FunctionEditor.test.js
PASS tests/jest/components/widgets/publish/Publish.test.js
PASS tests/jest/store/stores/functionCall.test.js
PASS tests/jest/references/components/reference/ReferencePopover.test.js
PASS tests/jest/components/visualeditor/fields/FunctionInputEnum.test.js
PASS tests/jest/components/default/ZCode.test.js
PASS tests/jest/components/function/editor/FunctionEditorInputs.test.js
PASS tests/jest/composables/useShareUrl.test.js
PASS tests/jest/components/abstract/AbstractPreview.test.js
PASS tests/jest/components/function/editor/FunctionEditorInputsItem.test.js
PASS tests/jest/components/abstract/AbstractPreviewFragment.test.js
PASS tests/jest/references/components/base/Drawer.test.js
PASS tests/jest/store/index.test.js
PASS tests/jest/components/default/wikidata/EntitySelector.test.js
PASS tests/jest/components/default/ZTypedList.test.js
PASS tests/jest/components/default/wikidata/ReferenceSelector.test.js
PASS tests/jest/components/default/wikidata/Statement.test.js
PASS tests/jest/utils/eventLogUtils.test.js
PASS tests/jest/composables/useBreakpoints.test.js
PASS tests/jest/composables/useTestResults.test.js
PASS tests/jest/components/base/LocalizedLabel.test.js
PASS tests/jest/components/default/ZTester.test.js
PASS tests/jest/store/stores/listItems.test.js
PASS tests/jest/components/default/ZString.test.js
PASS tests/jest/components/visualeditor/FunctionInputPreview.test.js
PASS tests/jest/composables/useFragmentHighlightRegistry.test.js
PASS tests/jest/composables/usePageTitle.test.js
PASS tests/jest/store/stores/user.test.js
PASS tests/jest/components/visualeditor/fields/FunctionInputWikidata.test.js
PASS tests/jest/store/classes/ErrorData.test.js
PASS tests/jest/components/function/editor/FunctionEditorDescription.test.js
PASS tests/jest/composables/useClipboard.test.js
PASS tests/jest/components/visualeditor/ExpandableDescription.test.js
PASS tests/jest/components/function/editor/FunctionEditorName.test.js
PASS tests/jest/components/visualeditor/fields/FunctionInputLanguage.test.js
PASS tests/jest/components/default/wikidata/LexemeSense.test.js
PASS tests/jest/utils/sortUtils.test.js
PASS tests/jest/components/default/ZMultilingualStringDialog.test.js
PASS tests/jest/components/default/wikidata/Item.test.js
PASS tests/jest/store/stores/commons/media.test.js
PASS tests/jest/utils/miscUtils.test.js
PASS tests/jest/components/default/ZMonolingualString.test.js
PASS tests/jest/components/abstract/AbstractContentFragment.test.js
PASS tests/jest/components/function/editor/FunctionEditorLanguageBlock.test.js
PASS tests/jest/components/default/wikidata/Property.test.js
PASS tests/jest/components/default/commons/MediaReference.test.js
PASS tests/jest/components/function/editor/FunctionEditorLanguage.test.js
PASS tests/jest/composables/useClipboardManager.test.js
PASS tests/jest/store/stores/zhtml.test.js
PASS tests/jest/composables/useError.test.js
PASS tests/jest/references/composables/useBreakpoints.test.js
PASS tests/jest/utils/errorUtils.test.js
PASS tests/jest/components/default/ZImplementation.test.js
PASS tests/jest/components/base/TypeSelector.test.js
PASS tests/jest/components/base/ClipboardDialog.test.js
PASS tests/jest/components/default/wikidata/LexemeForm.test.js
PASS tests/jest/components/widgets/function-report/FunctionReport.test.js
PASS tests/jest/composables/useZObject.test.js
PASS tests/jest/views/Abstract.test.js
PASS tests/jest/utils/wikidataUtils.test.js
PASS tests/jest/references/composables/useScrollLock.test.js
PASS tests/jest/utils/schemata.test.js
PASS tests/jest/store/stores/errors.test.js
PASS tests/jest/store/stores/zobject.test.js
PASS tests/jest/components/default/wikidata/Enum.test.js
PASS tests/jest/composables/useFragmentHighlightRects.test.js
PASS tests/jest/components/widgets/about/AboutLanguagesDialog.test.js
PASS tests/jest/composables/useScroll.test.js
PASS tests/jest/composables/useLeaveEditorDialog.test.js
PASS tests/jest/components/default/ZObjectStringRenderer.test.js
PASS tests/jest/references/components/reference/ReferenceManager.test.js
PASS tests/jest/store/stores/currentPage.test.js
PASS tests/jest/utils/metadataUtils.test.js
PASS tests/jest/components/base/FunctionSelectorHelp.test.js
PASS tests/jest/components/default/wikidata/Lexeme.test.js
PASS tests/jest/store/stores/languages.test.js
PASS tests/jest/store/stores/visualeditor.test.js
PASS tests/jest/components/default/ZReference.test.js
PASS tests/jest/utils/apiUtils.test.js
PASS tests/jest/components/function/viewer/FunctionViewerDetailsTable.test.js
PASS tests/jest/store/stores/wikidata/properties.test.js
PASS tests/jest/components/widgets/about/AboutLanguageBlock.test.js
PASS tests/jest/components/default/ZArgumentReference.test.js
PASS tests/jest/components/visualeditor/fields/FunctionInputParser.test.js
PASS tests/jest/store/classes/ApiError.test.js
PASS tests/jest/utils/urlUtils.test.js
PASS tests/jest/search/zobject.test.js
PASS tests/jest/search/wikidata.test.js
PASS tests/jest/components/base/CodeEditor.test.js
PASS tests/jest/store/stores/zfunction.test.js
PASS tests/jest/store/stores/wikidata/items.test.js
PASS tests/jest/store/stores/wikidata/entities.test.js
PASS tests/jest/store/stores/router.test.js
PASS tests/jest/store/stores/wikidata/lexemes.test.js
PASS tests/jest/store/stores/submission.test.js
PASS tests/jest/composables/useMenuAction.test.js
PASS tests/jest/store/stores/testResults.test.js
PASS tests/jest/utils/zobjectUtils.test.js
PASS tests/jest/utils/scrollUtils.test.js
PASS tests/jest/references/composables/useFocusTrap.test.js
PASS tests/jest/store/stores/library.test.js
PASS tests/jest/references/composables/usePreventScrollIOS.test.js
PASS tests/jest/store/stores/ztype.test.js
PASS tests/jest/store/stores/clipboard.test.js
PASS tests/jest/store/stores/factory.test.js
PASS tests/jest/store/stores/abstractWiki.test.js
PASS tests/jest/utils/typeUtils.test.js
Test Suites: 167 passed, 167 total
Tests: 2709 passed, 2709 total
Snapshots: 0 total
Time: 188.584 s, estimated 195 s
Ran all test suites.
--- stdout ---
> test
> grunt test && npm run test:unit
Running "eslint:all" (eslint) task
/src/repo/docker-compose.sample.yml
3:1 warning This line has a length of 103. Maximum allowed is 100 max-len
4:1 warning This line has a length of 107. Maximum allowed is 100 max-len
49:1 warning This line has a length of 117. Maximum allowed is 100 max-len
50:1 warning This line has a length of 104. Maximum allowed is 100 max-len
51:1 warning This line has a length of 106. Maximum allowed is 100 max-len
58:1 warning This line has a length of 120. Maximum allowed is 100 max-len
59:1 warning This line has a length of 104. Maximum allowed is 100 max-len
60:1 warning This line has a length of 109. Maximum allowed is 100 max-len
/src/repo/jest.setup.js
100:42 warning Found non-literal argument to RegExp Constructor security/detect-non-literal-regexp
✖ 9 problems (0 errors, 9 warnings)
Running "banana:WikiLambda" (banana) task
>> 6 message directories checked.
Running "stylelint:all" (stylelint) task
>> Linted 354 files without errors
Done.
> test:unit
> jest
----------------------------------------------------------|---------|----------|---------|---------|-----------------------------------------------------------------------------------------------------------------------------
File | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s
----------------------------------------------------------|---------|----------|---------|---------|-----------------------------------------------------------------------------------------------------------------------------
All files | 97.61 | 92.49 | 94.84 | 97.61 |
ext.wikilambda.app/components | 94.32 | 100 | 100 | 94.32 |
App.vue | 94.32 | 100 | 100 | 94.32 | 85,88,108,119-123
ext.wikilambda.app/components/abstract | 92.33 | 85.55 | 75 | 92.33 |
AbstractContent.vue | 100 | 100 | 100 | 100 |
AbstractContentFragment.vue | 100 | 100 | 100 | 100 |
AbstractContentSection.vue | 86.17 | 76.19 | 60 | 86.17 | 107-109,118-129,181-183,188-190,194-196,245-259
AbstractPreview.vue | 98.67 | 100 | 50 | 98.67 | 115-116
AbstractPreviewFragment.vue | 92.15 | 82.75 | 100 | 92.15 | 100-101,175-179,181-183,185-192,215-216
AbstractPreviewHighlightLayer.vue | 71.95 | 100 | 0 | 71.95 | 36-58
AbstractPublish.vue | 83.7 | 100 | 42.85 | 83.7 | 76-77,91-92,98-111,114-117
AbstractTitle.vue | 97.73 | 83.33 | 100 | 97.73 | 163-164,171-173
ext.wikilambda.app/components/base | 97.15 | 91.45 | 88.05 | 97.15 |
ClipboardDialog.vue | 98.36 | 86.36 | 57.14 | 98.36 | 194-195,201-202,247-248
CodeEditor.vue | 91.32 | 90.9 | 92.85 | 91.32 | 105-106,225-232,252-259,294-297,345-364
CustomDialogHeader.vue | 100 | 100 | 100 | 100 |
ExpandedToggle.vue | 100 | 100 | 100 | 100 |
FunctionSelectorHelp.vue | 100 | 100 | 100 | 100 |
HTMLFragmentViewer.vue | 98.71 | 100 | 100 | 98.71 | 106-107
KeyBlock.vue | 100 | 100 | 100 | 100 |
KeyValueBlock.vue | 100 | 100 | 100 | 100 |
LocalizedLabel.vue | 100 | 100 | 100 | 100 |
ModeSelector.vue | 99.61 | 92.53 | 100 | 99.61 | 145,205
SafeMessage.vue | 100 | 100 | 100 | 100 |
StatusIcon.vue | 100 | 100 | 100 | 100 |
TypeSelector.vue | 94.46 | 78.57 | 66.66 | 94.46 | 160-165,177-179,183-186
WidgetBase.vue | 100 | 100 | 100 | 100 |
ZObjectSelector.vue | 95.42 | 89.21 | 84.21 | 95.42 | 166-167,230-231,403-405,470-471,485-486,521-528,572-574,597-600,616-619,641-643,689-690
ext.wikilambda.app/components/function/editor | 99.45 | 90.07 | 100 | 99.45 |
FunctionEditor.vue | 98.62 | 83.33 | 100 | 98.62 | 159,163-165
FunctionEditorAliases.vue | 100 | 100 | 100 | 100 |
FunctionEditorDescription.vue | 98.78 | 92.85 | 100 | 98.78 | 114-115
FunctionEditorField.vue | 100 | 100 | 100 | 100 |
FunctionEditorInputs.vue | 100 | 100 | 100 | 100 |
FunctionEditorInputsItem.vue | 100 | 77.77 | 100 | 100 | 201,210
FunctionEditorLanguage.vue | 98.58 | 88.88 | 100 | 98.58 | 100-101
FunctionEditorLanguageBlock.vue | 100 | 100 | 100 | 100 |
FunctionEditorName.vue | 98.85 | 92.85 | 100 | 98.85 | 120-121
FunctionEditorOutput.vue | 100 | 100 | 100 | 100 |
ext.wikilambda.app/components/function/viewer | 99.18 | 95.72 | 100 | 99.18 |
FunctionTesterTable.vue | 99.51 | 81.81 | 100 | 99.51 | 160
FunctionViewerDetails.vue | 98.81 | 97 | 100 | 98.81 | 213-214,296-298,316,336,550
FunctionViewerDetailsTable.vue | 100 | 100 | 100 | 100 |
ext.wikilambda.app/components/types | 97.38 | 87.51 | 96.87 | 97.38 |
ZArgumentReference.vue | 100 | 94.73 | 100 | 100 | 176
ZBoolean.vue | 100 | 100 | 100 | 100 |
ZCode.vue | 96.17 | 92.45 | 100 | 96.17 | 242-255,349,413-415
ZFunctionCall.vue | 100 | 100 | 100 | 100 |
ZHTMLFragment.vue | 100 | 80 | 100 | 100 | 108
ZImplementation.vue | 100 | 100 | 100 | 100 |
ZMonolingualString.vue | 100 | 100 | 100 | 100 |
ZMultilingualString.vue | 99.01 | 88.88 | 100 | 99.01 | 206-207,293,295-296
ZMultilingualStringDialog.vue | 96.73 | 81.03 | 91.66 | 96.73 | 174-175,207-208,217-219,221-222,224-226,239-240,353-354,465-466
ZObjectKeyValue.vue | 94.94 | 86.39 | 100 | 94.94 | 267-273,277-278,328-329,347-354,366,375-376,442-447,640-641,643-644,646-647,649-650,672-674,697-698,703-706,736-737,847-848
ZObjectKeyValueSet.vue | 100 | 66.66 | 100 | 100 | 72-80
ZObjectStringRenderer.vue | 95.66 | 94.23 | 83.33 | 95.66 | 256-257,312-315,345-346,402-407,459-460,507-508,534,544-550
ZObjectToString.vue | 95.45 | 82.35 | 100 | 95.45 | 225-226,278-279,282-283,345-346,379,493-494,511-513,520-521,537-539,559-561,565-566,571-572,574-575,599-600,661-663,673-674
ZReference.vue | 97.62 | 79.41 | 100 | 97.62 | 180,203-204,229,231-233
ZString.vue | 100 | 100 | 100 | 100 |
ZTester.vue | 99.09 | 95.23 | 100 | 99.09 | 126-127
ZTypedList.vue | 100 | 87.5 | 100 | 100 | 98
ZTypedListItems.vue | 100 | 100 | 100 | 100 |
ZTypedListType.vue | 100 | 100 | 100 | 100 |
ext.wikilambda.app/components/types/commons | 93.01 | 76.19 | 82.6 | 93.01 |
MediaPreview.vue | 82.75 | 100 | 0 | 82.75 | 71-85
MediaReference.vue | 100 | 88.88 | 100 | 100 | 109
MediaSelector.vue | 92.32 | 74.07 | 84.21 | 92.32 | 203-204,223-224,234-245,293-294,297-299,310-313,320-321,325,338-339
ext.wikilambda.app/components/types/wikidata | 98.07 | 87.07 | 97.22 | 98.07 |
EntitySelector.vue | 95.67 | 82.5 | 92.85 | 95.67 | 91-92,153-154,168-169,184-185,269-272,302-304
Enum.vue | 97.88 | 81.81 | 100 | 97.88 | 191-195
Item.vue | 100 | 93.33 | 100 | 100 | 172
Lexeme.vue | 100 | 93.33 | 100 | 100 | 172
LexemeForm.vue | 98.31 | 84.61 | 100 | 98.31 | 172-175
LexemeSense.vue | 95.59 | 86.84 | 100 | 95.59 | 247-252,279-280,290-292,317-321,326-327
Property.vue | 99.57 | 84.61 | 100 | 99.57 | 172
ReferenceSelector.vue | 100 | 93.33 | 100 | 100 | 102
Statement.vue | 100 | 100 | 100 | 100 |
wikidataIconSvg.js | 100 | 100 | 100 | 100 |
ext.wikilambda.app/components/visualeditor | 98.64 | 95.93 | 90.38 | 98.64 |
ExpandableDescription.vue | 99.37 | 100 | 100 | 99.37 | 96
FunctionCallSetup.vue | 96.77 | 100 | 60 | 96.77 | 92-93,99-100
FunctionInputDefaultValueCheckbox.vue | 100 | 100 | 100 | 100 |
FunctionInputField.vue | 100 | 100 | 100 | 100 |
FunctionInputPreview.vue | 97.66 | 93.75 | 86.36 | 97.66 | 129-130,178-179,360-361,410-411,464-467
FunctionInputSetup.vue | 99.49 | 97.29 | 100 | 99.49 | 288-289
FunctionSelect.vue | 97.5 | 89.47 | 100 | 97.5 | 189-190,200-201,216-218
FunctionSelectItem.vue | 100 | 100 | 100 | 100 |
wikifunctionsIconSvg.js | 100 | 100 | 100 | 100 |
ext.wikilambda.app/components/visualeditor/fields | 96.66 | 91.41 | 94.28 | 96.66 |
FunctionInputEnum.vue | 98.26 | 97.29 | 88.88 | 98.26 | 170-171,198-199
FunctionInputLanguage.vue | 97.32 | 87.5 | 100 | 97.32 | 141-142,162-163,172-173
FunctionInputParser.vue | 93.31 | 92 | 90.9 | 93.31 | 207-219,230-231,270-271,367-373,383-386
FunctionInputString.vue | 100 | 100 | 100 | 100 |
FunctionInputWikidata.vue | 98.65 | 86.84 | 100 | 98.65 | 210-211,220-221
ext.wikilambda.app/components/widgets/about | 96.79 | 93.03 | 82.35 | 96.79 |
About.vue | 95.28 | 97.53 | 80 | 95.28 | 271-272,534-538,558-559,585-586,595-605,613-622
AboutLanguageBlock.vue | 99.68 | 97.77 | 100 | 99.68 | 324-325
AboutLanguagesDialog.vue | 94.97 | 75 | 81.81 | 94.97 | 244-247,258-260,272-273,287-288,315-316,318-319,321-322,324-325,338-341
ext.wikilambda.app/components/widgets/function-evaluator | 96.94 | 84.31 | 95.65 | 96.94 |
EvaluationResult.vue | 98.58 | 76 | 100 | 98.58 | 131-132,241-242
FunctionEvaluator.vue | 94.95 | 92.3 | 90 | 94.95 | 353-377,399-401,507
FunctionMetadataDialog.vue | 97.31 | 82.6 | 96.77 | 97.31 | 200-201,207-208,233-234,254,438-439,522-523,606-607,641-645,659-660,683-684,717-718,771-772,986-988
FunctionMetadataItem.vue | 100 | 100 | 100 | 100 |
FunctionMetadataTestResult.vue | 97.28 | 81.81 | 100 | 97.28 | 122-123,129-131
ext.wikilambda.app/components/widgets/function-explorer | 99.06 | 90.9 | 100 | 99.06 |
FunctionExplorer.vue | 99.06 | 90.9 | 100 | 99.06 | 272-273,345-346
ext.wikilambda.app/components/widgets/function-report | 95.59 | 92.75 | 55.55 | 95.59 |
FunctionReport.vue | 95.96 | 91.37 | 66.66 | 95.96 | 211-213,235-238,244-247,300-305
FunctionReportItem.vue | 94.95 | 100 | 33.33 | 94.95 | 150-154,162-168
ext.wikilambda.app/components/widgets/publish | 98.65 | 88.52 | 85.71 | 98.65 |
LeaveEditorDialog.vue | 100 | 100 | 100 | 100 |
Publish.vue | 96.45 | 89.28 | 90.9 | 96.45 | 244-253
PublishDialog.vue | 100 | 85.71 | 71.42 | 100 | 231-233,262
ext.wikilambda.app/composables | 99.58 | 97.96 | 100 | 99.58 |
useBreakpoints.js | 100 | 100 | 100 | 100 |
useClipboard.js | 100 | 100 | 100 | 100 |
useClipboardManager.js | 100 | 100 | 100 | 100 |
useDarkMode.js | 100 | 100 | 100 | 100 |
useError.js | 100 | 92.3 | 100 | 100 | 62
useEventLog.js | 100 | 100 | 100 | 100 |
useFragmentHighlightRects.js | 100 | 100 | 100 | 100 |
useFragmentHighlightRegistry.js | 100 | 100 | 100 | 100 |
useInitImages.js | 96.15 | 85.71 | 100 | 96.15 | 23
useInitReferences.js | 89.65 | 85.71 | 100 | 89.65 | 23-25
useLeaveEditorDialog.js | 100 | 100 | 100 | 100 |
useMenuAction.js | 100 | 100 | 100 | 100 |
usePageTitle.js | 100 | 100 | 100 | 100 |
useScroll.js | 100 | 100 | 100 | 100 |
useShareUrl.js | 97.36 | 94.44 | 100 | 97.36 | 30-31
useTestResults.js | 99.39 | 97.43 | 100 | 99.39 | 111
useType.js | 100 | 100 | 100 | 100 |
useZObject.js | 100 | 94.44 | 100 | 100 | 95
ext.wikilambda.app/store | 100 | 100 | 100 | 100 |
index.js | 100 | 100 | 100 | 100 |
ext.wikilambda.app/store/classes | 98.34 | 92.64 | 95.65 | 98.34 |
ApiError.js | 96.87 | 86.48 | 88.88 | 96.87 | 90-91,163-165,171-172
ErrorData.js | 100 | 100 | 100 | 100 |
LabelData.js | 100 | 100 | 100 | 100 |
ext.wikilambda.app/store/stores | 98 | 95.14 | 97.31 | 98 |
abstractWiki.js | 98.35 | 93.67 | 100 | 98.35 | 297-298,302-306,414-415
clipboard.js | 100 | 94.59 | 100 | 100 | 47,99
currentPage.js | 100 | 95.45 | 100 | 100 | 121
errors.js | 100 | 100 | 100 | 100 |
factory.js | 98.76 | 95.77 | 100 | 98.76 | 220-226,411-414
functionCall.js | 100 | 100 | 100 | 100 |
languages.js | 94.11 | 87.09 | 100 | 94.11 | 57-60,74-76,192-193,206-209
library.js | 96.14 | 94.8 | 96.55 | 96.14 | 125-127,420-421,527-528,553-554,565-568,572,696-698,945,1062-1063,1193,1217-1244
listItems.js | 100 | 100 | 100 | 100 |
programmingLanguages.js | 100 | 100 | 100 | 100 |
queue.js | 100 | 100 | 100 | 100 |
router.js | 99.53 | 100 | 92.85 | 99.53 | 195
submission.js | 97.89 | 94.69 | 88.88 | 97.89 | 414-415,546-547,552-553,584-585,673-674,686-689,699
testResults.js | 97.57 | 86.58 | 100 | 97.57 | 352-359,367-369
user.js | 100 | 100 | 100 | 100 |
visualeditor.js | 94.42 | 96.77 | 88.88 | 94.42 | 106-107,160-164,167-168,192-195,209-213
zfunction.js | 100 | 100 | 100 | 100 |
zhtml.js | 100 | 94.11 | 100 | 100 | 78
zobject.js | 97.62 | 94.65 | 95.83 | 97.62 | 156-157,169-170,213-214,410-411,648-661,676-677,717-718,854-855,1245-1246
ztype.js | 99.54 | 100 | 100 | 99.54 | 379-380
ext.wikilambda.app/store/stores/commons | 98.52 | 92.1 | 100 | 98.52 |
media.js | 98.52 | 92.1 | 100 | 98.52 | 174-175,181
ext.wikilambda.app/store/stores/wikidata | 96.06 | 94.61 | 97.14 | 96.06 |
entities.js | 93.29 | 91.66 | 100 | 93.29 | 47,98,143-155,273-278
items.js | 100 | 97.29 | 100 | 100 | 95
lexemes.js | 95.13 | 96.15 | 93.93 | 95.13 | 105-118,375,459-461,471-474,485-486
properties.js | 100 | 94.28 | 100 | 100 | 89,92
ext.wikilambda.app/utils | 98.88 | 96.37 | 99.22 | 98.88 |
apiUtils.js | 100 | 90.32 | 100 | 100 | 25,222,266-267,380,386,455,572
errorUtils.js | 98.13 | 90.47 | 100 | 98.13 | 90-91
eventLogUtils.js | 100 | 100 | 100 | 100 |
helpUtils.js | 100 | 100 | 100 | 100 |
metadataUtils.js | 100 | 100 | 100 | 100 |
miscUtils.js | 100 | 100 | 100 | 100 |
schemata.js | 97.11 | 91.39 | 88.88 | 97.11 | 123,174-179
scrollUtils.js | 100 | 100 | 100 | 100 |
sortUtils.js | 100 | 100 | 100 | 100 |
typeUtils.js | 97.19 | 98.94 | 100 | 97.19 | 523-544
urlUtils.js | 100 | 97.05 | 100 | 100 | 23
wikidataUtils.js | 100 | 100 | 100 | 100 |
zobjectUtils.js | 99.18 | 98.74 | 100 | 99.18 | 422-423,713-717
ext.wikilambda.app/views | 99.25 | 80 | 91.66 | 99.25 |
Abstract.vue | 100 | 100 | 100 | 100 |
Default.vue | 98.06 | 72.22 | 66.66 | 98.06 | 200,215-218
FunctionEditor.vue | 100 | 100 | 100 | 100 |
FunctionEvaluator.vue | 100 | 100 | 100 | 100 |
FunctionViewer.vue | 100 | 73.33 | 100 | 100 | 141-142,159-160
ext.wikilambda.content | 0 | 0 | 0 | 0 |
init.js | 0 | 0 | 0 | 0 | 1-14
ext.wikilambda.languageselector/components | 100 | 98.24 | 100 | 100 |
LanguageSelector.vue | 100 | 98.24 | 100 | 100 | 172
ext.wikilambda.references | 100 | 100 | 100 | 100 |
Constants.js | 100 | 100 | 100 | 100 |
ext.wikilambda.references/components/base | 100 | 100 | 100 | 100 |
Drawer.vue | 100 | 100 | 100 | 100 |
ext.wikilambda.references/components/reference | 93.76 | 93.87 | 81.81 | 93.76 |
ReferenceManager.vue | 93.14 | 93.02 | 82.35 | 93.14 | 94-95,109-111,117-118,126-136,194-195,263-264
ReferencePopover.vue | 95.53 | 100 | 80 | 95.53 | 76-80
ext.wikilambda.references/composables | 96.36 | 89.2 | 97.05 | 96.36 |
useBreakpoints.js | 100 | 100 | 100 | 100 |
useFocusTrap.js | 95.5 | 83.72 | 100 | 95.5 | 51-52,69-70,136-137,141-142
usePreventScrollIOS.js | 95.2 | 88.4 | 93.33 | 95.2 | 25-26,42-43,45-46,66-67,97,101-105
useScrollLock.js | 100 | 100 | 100 | 100 |
ext.wikilambda.search | 99.65 | 93.25 | 93.33 | 99.65 |
utils.js | 100 | 91.66 | 100 | 100 | 57
wikidata.js | 99.37 | 92.15 | 93.33 | 99.37 | 163-164
zobject.js | 100 | 96.15 | 85.71 | 100 | 154
----------------------------------------------------------|---------|----------|---------|---------|-----------------------------------------------------------------------------------------------------------------------------
--- end ---
{"1120679": {"source": 1120679, "name": "esbuild", "dependency": "esbuild", "title": "esbuild: Missing binary integrity verification in Deno module enables remote code execution via NPM_CONFIG_REGISTRY", "url": "https://github.com/advisories/GHSA-gv7w-rqvm-qjhr", "severity": "high", "cwe": ["CWE-426", "CWE-494"], "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": ">=0.17.0 <0.28.1"}}
Upgrading n:esbuild from 0.25.12 -> 0.28.1
{"1120679": {"source": 1120679, "name": "esbuild", "dependency": "esbuild", "title": "esbuild: Missing binary integrity verification in Deno module enables remote code execution via NPM_CONFIG_REGISTRY", "url": "https://github.com/advisories/GHSA-gv7w-rqvm-qjhr", "severity": "high", "cwe": ["CWE-426", "CWE-494"], "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": ">=0.17.0 <0.28.1"}}
Upgrading n:tsx from 4.20.6 -> 4.22.4
Traceback (most recent call last):
File "/venv/lib/python3.13/site-packages/runner/__init__.py", line 642, in fix_stylelint_config
data = gf.parse_section("stylelint")
File "/venv/lib/python3.13/site-packages/runner/grunt.py", line 136, in parse_section
return self._inner_parse(base.group(1).splitlines()[1:])
~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/venv/lib/python3.13/site-packages/runner/grunt.py", line 190, in _inner_parse
raise RuntimeError("???")
RuntimeError: ???
$ package-lock-lint /src/repo/package-lock.json
--- stdout ---
Checking /src/repo/package-lock.json
--- end ---
build: Updating npm dependencies
* @wikimedia/codex: 2.5.1 → 2.6.0
* esbuild: 0.25.12 → 0.28.1
* https://github.com/advisories/GHSA-gv7w-rqvm-qjhr
* tsx: 4.20.6 → 4.22.4
* https://github.com/advisories/GHSA-gv7w-rqvm-qjhr
$ git add .
--- stdout ---
--- end ---
$ git commit -F /tmp/tmpqw9gikf6
--- stdout ---
[master e34d1dd] build: Updating npm dependencies
2 files changed, 120 insertions(+), 151 deletions(-)
--- end ---
$ git format-patch HEAD~1 --stdout
--- stdout ---
From e34d1ddb1ae9eb0c2f165c59dccd59b3bf0c5626 Mon Sep 17 00:00:00 2001
From: libraryupgrader <tools.libraryupgrader@tools.wmflabs.org>
Date: Sun, 14 Jun 2026 21:42:55 +0000
Subject: [PATCH] build: Updating npm dependencies
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
* @wikimedia/codex: 2.5.1 → 2.6.0
* esbuild: 0.25.12 → 0.28.1
* https://github.com/advisories/GHSA-gv7w-rqvm-qjhr
* tsx: 4.20.6 → 4.22.4
* https://github.com/advisories/GHSA-gv7w-rqvm-qjhr
Change-Id: I6e0312cb5d7e8e43b74c81c65c2755829192e944
---
package-lock.json | 269 ++++++++++++++++++++--------------------------
package.json | 2 +-
2 files changed, 120 insertions(+), 151 deletions(-)
diff --git a/package-lock.json b/package-lock.json
index dcd069b..ffde6bb 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -17,7 +17,7 @@
"@wdio/local-runner": "9.20.1",
"@wdio/mocha-framework": "9.20.1",
"@wdio/spec-reporter": "9.20.0",
- "@wikimedia/codex": "2.5.1",
+ "@wikimedia/codex": "2.6.0",
"eslint-config-wikimedia": "0.32.4",
"grunt": "1.6.2",
"grunt-banana-checker": "0.13.0",
@@ -1976,14 +1976,13 @@
}
},
"node_modules/@esbuild/aix-ppc64": {
- "version": "0.25.12",
- "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.12.tgz",
- "integrity": "sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA==",
+ "version": "0.28.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.28.1.tgz",
+ "integrity": "sha512-Svl7tq8k/08+p6CXPpRjQ1fKX+1odH/BQbb48fV6fj3CWHhsoIOoY87w1oHXm0qEpkIK3ZfVgp0hed3XBXzXMQ==",
"cpu": [
"ppc64"
],
"dev": true,
- "license": "MIT",
"optional": true,
"os": [
"aix"
@@ -1993,14 +1992,13 @@
}
},
"node_modules/@esbuild/android-arm": {
- "version": "0.25.12",
- "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.12.tgz",
- "integrity": "sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg==",
+ "version": "0.28.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.28.1.tgz",
+ "integrity": "sha512-0k2F129Xdio1TdJfzJ8sy1Q47vUD2NnwdhiAf7drUN1EBTfPf4hsFCtmMgu/6m8JSzsBrlmVjudMBQqOfG8usQ==",
"cpu": [
"arm"
],
"dev": true,
- "license": "MIT",
"optional": true,
"os": [
"android"
@@ -2010,14 +2008,13 @@
}
},
"node_modules/@esbuild/android-arm64": {
- "version": "0.25.12",
- "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.12.tgz",
- "integrity": "sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg==",
+ "version": "0.28.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.28.1.tgz",
+ "integrity": "sha512-34EGEbCIAgosYz6goLcopX6Mo7NyGv9tfwEM2/7Ce2VcVRk568iSvniGWcUXIy7wEDR1wzolcxcriFVrWYcwBg==",
"cpu": [
"arm64"
],
"dev": true,
- "license": "MIT",
"optional": true,
"os": [
"android"
@@ -2027,14 +2024,13 @@
}
},
"node_modules/@esbuild/android-x64": {
- "version": "0.25.12",
- "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.12.tgz",
- "integrity": "sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg==",
+ "version": "0.28.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.28.1.tgz",
+ "integrity": "sha512-dbwY7ltSMDWsRatcRpCnES4F+im88OCUgGZjy52shC7GqHRE/cYlxNbB4Z4UpJswpcc4Qxd2oE/ufM0p61IKng==",
"cpu": [
"x64"
],
"dev": true,
- "license": "MIT",
"optional": true,
"os": [
"android"
@@ -2044,14 +2040,13 @@
}
},
"node_modules/@esbuild/darwin-arm64": {
- "version": "0.25.12",
- "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.12.tgz",
- "integrity": "sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg==",
+ "version": "0.28.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.28.1.tgz",
+ "integrity": "sha512-TZbWkQY7kvTAXbXUT7uVACR5cMHsDiSz9z7ZKAX/RTq/WJEk3QyRr0wZpNhBDX+/0CtdqUIJlOiodQcta6tY3Q==",
"cpu": [
"arm64"
],
"dev": true,
- "license": "MIT",
"optional": true,
"os": [
"darwin"
@@ -2061,14 +2056,13 @@
}
},
"node_modules/@esbuild/darwin-x64": {
- "version": "0.25.12",
- "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.12.tgz",
- "integrity": "sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA==",
+ "version": "0.28.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.28.1.tgz",
+ "integrity": "sha512-zfdzgK9ACBNZLI/CyHTOx81SyNbM6YXn7rxSgX97VjyiPl9W1i4Ka4fgKECEoFCKGpvBj5qArWIGgQjOwkgskQ==",
"cpu": [
"x64"
],
"dev": true,
- "license": "MIT",
"optional": true,
"os": [
"darwin"
@@ -2078,14 +2072,13 @@
}
},
"node_modules/@esbuild/freebsd-arm64": {
- "version": "0.25.12",
- "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.12.tgz",
- "integrity": "sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg==",
+ "version": "0.28.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.28.1.tgz",
+ "integrity": "sha512-wG2EA8ENdEI0qhkSZMjfqrdY+ziCYCPMmtZjjIwOmXFjmyzEHn+UUxk5of+SYsjtfs3VpnlC7QLzSI5hY/rOAw==",
"cpu": [
"arm64"
],
"dev": true,
- "license": "MIT",
"optional": true,
"os": [
"freebsd"
@@ -2095,14 +2088,13 @@
}
},
"node_modules/@esbuild/freebsd-x64": {
- "version": "0.25.12",
- "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.12.tgz",
- "integrity": "sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ==",
+ "version": "0.28.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.28.1.tgz",
+ "integrity": "sha512-i7dZ9vQgnvSCzi/rYCXNgtF/U+eKZNJBzu3eTQbRgHnM7tNSizLOkRFAl3qzVc/Op/u5YkHHa4pf/3DOYHthLQ==",
"cpu": [
"x64"
],
"dev": true,
- "license": "MIT",
"optional": true,
"os": [
"freebsd"
@@ -2112,14 +2104,13 @@
}
},
"node_modules/@esbuild/linux-arm": {
- "version": "0.25.12",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.12.tgz",
- "integrity": "sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw==",
+ "version": "0.28.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.28.1.tgz",
+ "integrity": "sha512-qVXBOHQS+d5Y722GwJzJUtOLlX7km3CraOaGormF1pDtPd2C/l1SHRPgjLunLGe51Sh5YYWKMFDyV4SxgMQYTQ==",
"cpu": [
"arm"
],
"dev": true,
- "license": "MIT",
"optional": true,
"os": [
"linux"
@@ -2129,14 +2120,13 @@
}
},
"node_modules/@esbuild/linux-arm64": {
- "version": "0.25.12",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.12.tgz",
- "integrity": "sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ==",
+ "version": "0.28.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.28.1.tgz",
+ "integrity": "sha512-yHs+0uc8+nvEAfAfxrWQKK5peSNzBc4PegcMO0EJ2hT71uA7vB8Ihg2e77R2P7SG5uYjPbHlLLmve4LLLRCf0g==",
"cpu": [
"arm64"
],
"dev": true,
- "license": "MIT",
"optional": true,
"os": [
"linux"
@@ -2146,14 +2136,13 @@
}
},
"node_modules/@esbuild/linux-ia32": {
- "version": "0.25.12",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.12.tgz",
- "integrity": "sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA==",
+ "version": "0.28.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.28.1.tgz",
+ "integrity": "sha512-d1z4ZuP0ajrfz/FhGT4vv278rX8KnPPJx8i5+AtK7TYbx9Le9F1hyzurZpkEyjkGa9dUGhQow4C1NmeGvqxN2w==",
"cpu": [
"ia32"
],
"dev": true,
- "license": "MIT",
"optional": true,
"os": [
"linux"
@@ -2163,14 +2152,13 @@
}
},
"node_modules/@esbuild/linux-loong64": {
- "version": "0.25.12",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.12.tgz",
- "integrity": "sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng==",
+ "version": "0.28.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.28.1.tgz",
+ "integrity": "sha512-M5sRjUVZrkm1OAPR3dlOYzNmN+loZKGVi1VUQGrwuqLcbR6qeAz+famMhjASeH3YVKvZz+zT1jlh/keC3Rj/lg==",
"cpu": [
"loong64"
],
"dev": true,
- "license": "MIT",
"optional": true,
"os": [
"linux"
@@ -2180,14 +2168,13 @@
}
},
"node_modules/@esbuild/linux-mips64el": {
- "version": "0.25.12",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.12.tgz",
- "integrity": "sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw==",
+ "version": "0.28.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.28.1.tgz",
+ "integrity": "sha512-mRObBZeHh2OxcBFPWE/FjylkRgZdYuiTR3vaTozquCGOH14iP9oN4x4Ge81CoIDYQrXmIxpFumJBu5MtZpnQJQ==",
"cpu": [
"mips64el"
],
"dev": true,
- "license": "MIT",
"optional": true,
"os": [
"linux"
@@ -2197,14 +2184,13 @@
}
},
"node_modules/@esbuild/linux-ppc64": {
- "version": "0.25.12",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.12.tgz",
- "integrity": "sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA==",
+ "version": "0.28.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.28.1.tgz",
+ "integrity": "sha512-slScBsMAb3GFDcdrCgLwZtPYRoH2H/youv10QiZyRjmsP48fznoveWytSgCI/R0ZcUgpc0ZhIUEx6LHts8yrfQ==",
"cpu": [
"ppc64"
],
"dev": true,
- "license": "MIT",
"optional": true,
"os": [
"linux"
@@ -2214,14 +2200,13 @@
}
},
"node_modules/@esbuild/linux-riscv64": {
- "version": "0.25.12",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.12.tgz",
- "integrity": "sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w==",
+ "version": "0.28.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.28.1.tgz",
+ "integrity": "sha512-kw0owk1o0GFETUJyW0jc0G4Yzs0BHZn0JDZ8JRT088vjJYX777BAs1fDGxAC+q831qOs2DTC96mNsG2opdfyyQ==",
"cpu": [
"riscv64"
],
"dev": true,
- "license": "MIT",
"optional": true,
"os": [
"linux"
@@ -2231,14 +2216,13 @@
}
},
"node_modules/@esbuild/linux-s390x": {
- "version": "0.25.12",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.12.tgz",
- "integrity": "sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg==",
+ "version": "0.28.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.28.1.tgz",
+ "integrity": "sha512-/lAIjX8aYFRByhh6L5rYtPEDRqa9de/4V/juOXcta5frjvzXO4/sqEtyytse0g3zZFuWu5cDN0MkLz2qRDD2Ag==",
"cpu": [
"s390x"
],
"dev": true,
- "license": "MIT",
"optional": true,
"os": [
"linux"
@@ -2248,14 +2232,13 @@
}
},
"node_modules/@esbuild/linux-x64": {
- "version": "0.25.12",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.12.tgz",
- "integrity": "sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw==",
+ "version": "0.28.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.28.1.tgz",
+ "integrity": "sha512-u/anNYF2mmVOEDwLtnQ1wOr3EZ9sTNGLWrsYGYwHWzGA3Si84IOkHXlbWTD1NB+9/1lcnweYKO54uhxZydNzfA==",
"cpu": [
"x64"
],
"dev": true,
- "license": "MIT",
"optional": true,
"os": [
"linux"
@@ -2265,14 +2248,13 @@
}
},
"node_modules/@esbuild/netbsd-arm64": {
- "version": "0.25.12",
- "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.12.tgz",
- "integrity": "sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg==",
+ "version": "0.28.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.28.1.tgz",
+ "integrity": "sha512-oks0DYbLwWMmaakTsCb+zL4E+aHRVLom9IJZOAthMQEPiQmydXHkziYEsGYRx0uNV/IjEKGAV941JzH02pflqw==",
"cpu": [
"arm64"
],
"dev": true,
- "license": "MIT",
"optional": true,
"os": [
"netbsd"
@@ -2282,14 +2264,13 @@
}
},
"node_modules/@esbuild/netbsd-x64": {
- "version": "0.25.12",
- "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.12.tgz",
- "integrity": "sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ==",
+ "version": "0.28.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.28.1.tgz",
+ "integrity": "sha512-aeL6lAnN89Hz43Mlh1G8ARasbuoYvSITDEx0tHh5b7jJnHcssqgjy9Yx430GDpmCa6OyrKoS0aNRjKundRizGg==",
"cpu": [
"x64"
],
"dev": true,
- "license": "MIT",
"optional": true,
"os": [
"netbsd"
@@ -2299,14 +2280,13 @@
}
},
"node_modules/@esbuild/openbsd-arm64": {
- "version": "0.25.12",
- "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.12.tgz",
- "integrity": "sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A==",
+ "version": "0.28.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.28.1.tgz",
+ "integrity": "sha512-MEFJe5C3R8pwXdZ5Y21oo6m7ePiS0d9pWucn99O/wvyJZChoIQKrQDxKrGeW8F5+T0okTHesAmDeiHDTIq0V/Q==",
"cpu": [
"arm64"
],
"dev": true,
- "license": "MIT",
"optional": true,
"os": [
"openbsd"
@@ -2316,14 +2296,13 @@
}
},
"node_modules/@esbuild/openbsd-x64": {
- "version": "0.25.12",
- "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.12.tgz",
- "integrity": "sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw==",
+ "version": "0.28.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.28.1.tgz",
+ "integrity": "sha512-i/ZLIOafE0Z8cI/XANJAixoJL/uRAoS2xOA3rb0xN+KK0K177cMAsQYkzHtBrtMXAKuAc7HGgcWiZ/sRC1Nxgw==",
"cpu": [
"x64"
],
"dev": true,
- "license": "MIT",
"optional": true,
"os": [
"openbsd"
@@ -2333,14 +2312,13 @@
}
},
"node_modules/@esbuild/openharmony-arm64": {
- "version": "0.25.12",
- "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.12.tgz",
- "integrity": "sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg==",
+ "version": "0.28.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.28.1.tgz",
+ "integrity": "sha512-ge+Z7EXFNt2BO1oAMsVpiQ8EwndV9i1xXerAeTIK7AtPs3bKFXQM7nlRxDSIUIMeueR1CNXxqztLzdNeReKBJg==",
"cpu": [
"arm64"
],
"dev": true,
- "license": "MIT",
"optional": true,
"os": [
"openharmony"
@@ -2350,14 +2328,13 @@
}
},
"node_modules/@esbuild/sunos-x64": {
- "version": "0.25.12",
- "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.12.tgz",
- "integrity": "sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w==",
+ "version": "0.28.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.28.1.tgz",
+ "integrity": "sha512-BEjgtECkL3vY+SaSQ6nzVfiALUeFxpawyp8Jmf5PtYhf1Ug40N1h/hxlhts+f1FvSvarEigdxS3BlSMI2PJLcQ==",
"cpu": [
"x64"
],
"dev": true,
- "license": "MIT",
"optional": true,
"os": [
"sunos"
@@ -2367,14 +2344,13 @@
}
},
"node_modules/@esbuild/win32-arm64": {
- "version": "0.25.12",
- "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.12.tgz",
- "integrity": "sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg==",
+ "version": "0.28.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.28.1.tgz",
+ "integrity": "sha512-lCv9eK/H6ZJWbE7bh2nw54CZ9M2nupBxJcTsdk/QQnWkdSjKGuxmmH8/GWrlT1eMmZfn4dGcCjRte397WqfQXA==",
"cpu": [
"arm64"
],
"dev": true,
- "license": "MIT",
"optional": true,
"os": [
"win32"
@@ -2384,14 +2360,13 @@
}
},
"node_modules/@esbuild/win32-ia32": {
- "version": "0.25.12",
- "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.12.tgz",
- "integrity": "sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ==",
+ "version": "0.28.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.28.1.tgz",
+ "integrity": "sha512-zvb/mB2bSCoJOpoCBgYKKpX6YM6mJBlBUVUtVj41DlZJVEB6/0CKlRYxP5wWl1C1ILiCoAU5wZZ4q1P3qeS6Eg==",
"cpu": [
"ia32"
],
"dev": true,
- "license": "MIT",
"optional": true,
"os": [
"win32"
@@ -2401,14 +2376,13 @@
}
},
"node_modules/@esbuild/win32-x64": {
- "version": "0.25.12",
- "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.12.tgz",
- "integrity": "sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA==",
+ "version": "0.28.1",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.28.1.tgz",
+ "integrity": "sha512-bm4Mowrv+GXMlpWX++EcXw/iLyd1o3+bJkC2DkWXYVvgZCqD/bSj9ctZeAMC3cIxgjRVR2Dufaiu4YPxr5gW1A==",
"cpu": [
"x64"
],
"dev": true,
- "license": "MIT",
"optional": true,
"os": [
"win32"
@@ -5544,14 +5518,13 @@
}
},
"node_modules/@wikimedia/codex": {
- "version": "2.5.1",
- "resolved": "https://registry.npmjs.org/@wikimedia/codex/-/codex-2.5.1.tgz",
- "integrity": "sha512-CTdnIDyzzJdWDcN2IZ/+F32SvOu+GDVCPZYwipsROZ4y/lC2wLT6Ws3oN/5j+NOntlKVAVnjhBoUt4RYl2n1NA==",
+ "version": "2.6.0",
+ "resolved": "https://registry.npmjs.org/@wikimedia/codex/-/codex-2.6.0.tgz",
+ "integrity": "sha512-ul/WXyxZbMV3PrWd0tGATuhTwUijRhHQxEJ+k+NukzcbY4MTItU3zEiw0Ye3wgNGQBMcCDt34pRGF3tXQwwDgA==",
"dev": true,
- "license": "GPL-2.0+",
"dependencies": {
"@floating-ui/vue": "1.0.6",
- "@wikimedia/codex-icons": "2.5.1"
+ "@wikimedia/codex-icons": "2.6.0"
},
"engines": {
"node": ">=20.20.2",
@@ -5572,11 +5545,10 @@
}
},
"node_modules/@wikimedia/codex-icons": {
- "version": "2.5.1",
- "resolved": "https://registry.npmjs.org/@wikimedia/codex-icons/-/codex-icons-2.5.1.tgz",
- "integrity": "sha512-ZbAXQD0dLuqj8uoMrpswusPymAZ07Pt0Y5wp1mNS3YyHuc1aAvsOGWdsV88YYoJN1l2jvYUE98/KoAKn7Cw5YA==",
+ "version": "2.6.0",
+ "resolved": "https://registry.npmjs.org/@wikimedia/codex-icons/-/codex-icons-2.6.0.tgz",
+ "integrity": "sha512-U0FK8kxhIrX5hAkFGZ0uWsR4arYjWw6GLCMZmrG1qvbX7+CFoVrhJQL7alogRdCrBiQBr8CUQOquOP5fUXPIBQ==",
"dev": true,
- "license": "MIT",
"engines": {
"node": ">=20.20.2",
"npm": ">=10.8.2"
@@ -8264,12 +8236,11 @@
}
},
"node_modules/esbuild": {
- "version": "0.25.12",
- "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.12.tgz",
- "integrity": "sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg==",
+ "version": "0.28.1",
+ "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.28.1.tgz",
+ "integrity": "sha512-HrJrvZv5ayxBzPfwphOoNzkzOIIlifzk0KJrGK2c8R4+LKpMtpYLQeUdjnwjWv/LZlkH2laZk+4w78pi99D4Vw==",
"dev": true,
"hasInstallScript": true,
- "license": "MIT",
"bin": {
"esbuild": "bin/esbuild"
},
@@ -8277,32 +8248,32 @@
"node": ">=18"
},
"optionalDependencies": {
- "@esbuild/aix-ppc64": "0.25.12",
- "@esbuild/android-arm": "0.25.12",
- "@esbuild/android-arm64": "0.25.12",
- "@esbuild/android-x64": "0.25.12",
- "@esbuild/darwin-arm64": "0.25.12",
- "@esbuild/darwin-x64": "0.25.12",
- "@esbuild/freebsd-arm64": "0.25.12",
- "@esbuild/freebsd-x64": "0.25.12",
- "@esbuild/linux-arm": "0.25.12",
- "@esbuild/linux-arm64": "0.25.12",
- "@esbuild/linux-ia32": "0.25.12",
- "@esbuild/linux-loong64": "0.25.12",
- "@esbuild/linux-mips64el": "0.25.12",
- "@esbuild/linux-ppc64": "0.25.12",
- "@esbuild/linux-riscv64": "0.25.12",
- "@esbuild/linux-s390x": "0.25.12",
- "@esbuild/linux-x64": "0.25.12",
- "@esbuild/netbsd-arm64": "0.25.12",
- "@esbuild/netbsd-x64": "0.25.12",
- "@esbuild/openbsd-arm64": "0.25.12",
- "@esbuild/openbsd-x64": "0.25.12",
- "@esbuild/openharmony-arm64": "0.25.12",
- "@esbuild/sunos-x64": "0.25.12",
- "@esbuild/win32-arm64": "0.25.12",
- "@esbuild/win32-ia32": "0.25.12",
- "@esbuild/win32-x64": "0.25.12"
+ "@esbuild/aix-ppc64": "0.28.1",
+ "@esbuild/android-arm": "0.28.1",
+ "@esbuild/android-arm64": "0.28.1",
+ "@esbuild/android-x64": "0.28.1",
+ "@esbuild/darwin-arm64": "0.28.1",
+ "@esbuild/darwin-x64": "0.28.1",
+ "@esbuild/freebsd-arm64": "0.28.1",
+ "@esbuild/freebsd-x64": "0.28.1",
+ "@esbuild/linux-arm": "0.28.1",
+ "@esbuild/linux-arm64": "0.28.1",
+ "@esbuild/linux-ia32": "0.28.1",
+ "@esbuild/linux-loong64": "0.28.1",
+ "@esbuild/linux-mips64el": "0.28.1",
+ "@esbuild/linux-ppc64": "0.28.1",
+ "@esbuild/linux-riscv64": "0.28.1",
+ "@esbuild/linux-s390x": "0.28.1",
+ "@esbuild/linux-x64": "0.28.1",
+ "@esbuild/netbsd-arm64": "0.28.1",
+ "@esbuild/netbsd-x64": "0.28.1",
+ "@esbuild/openbsd-arm64": "0.28.1",
+ "@esbuild/openbsd-x64": "0.28.1",
+ "@esbuild/openharmony-arm64": "0.28.1",
+ "@esbuild/sunos-x64": "0.28.1",
+ "@esbuild/win32-arm64": "0.28.1",
+ "@esbuild/win32-ia32": "0.28.1",
+ "@esbuild/win32-x64": "0.28.1"
}
},
"node_modules/escalade": {
@@ -18743,14 +18714,12 @@
"license": "0BSD"
},
"node_modules/tsx": {
- "version": "4.20.6",
- "resolved": "https://registry.npmjs.org/tsx/-/tsx-4.20.6.tgz",
- "integrity": "sha512-ytQKuwgmrrkDTFP4LjR0ToE2nqgy886GpvRSpU0JAnrdBYppuY5rLkRUYPU1yCryb24SsKBTL/hlDQAEFVwtZg==",
+ "version": "4.22.4",
+ "resolved": "https://registry.npmjs.org/tsx/-/tsx-4.22.4.tgz",
+ "integrity": "sha512-X8EX+XV4QR5xCsrgxaED954zTDfY8KqlDtskKEL0cHhyS/P8b4IFOvGDQpsC9Q1XnLq915wEfwwY/zzskCtmhg==",
"dev": true,
- "license": "MIT",
"dependencies": {
- "esbuild": "~0.25.0",
- "get-tsconfig": "^4.7.5"
+ "esbuild": "~0.28.0"
},
"bin": {
"tsx": "dist/cli.mjs"
diff --git a/package.json b/package.json
index 93c126d..29c0f54 100644
--- a/package.json
+++ b/package.json
@@ -28,7 +28,7 @@
"@wdio/local-runner": "9.20.1",
"@wdio/mocha-framework": "9.20.1",
"@wdio/spec-reporter": "9.20.0",
- "@wikimedia/codex": "2.5.1",
+ "@wikimedia/codex": "2.6.0",
"eslint-config-wikimedia": "0.32.4",
"grunt": "1.6.2",
"grunt-banana-checker": "0.13.0",
--
2.47.3
--- end ---