This run took 193 seconds.
From 3e73de23492f2b4b0355e041cfd3c03d9a1fb283 Mon Sep 17 00:00:00 2001
From: libraryupgrader <tools.libraryupgrader@tools.wmflabs.org>
Date: Sun, 14 Jun 2026 04:34:25 +0000
Subject: [PATCH] build: Updating npm dependencies
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
* stylelint-config-wikimedia: 0.18.0 → 0.19.2
* @wikimedia/codex: 2.4.0 → 2.6.0
* shell-quote: 1.8.3 → 1.8.4
* https://github.com/advisories/GHSA-w7jw-789q-3m8p
Change-Id: I747874593f9b6c90e3661dfc726d6cf4c55af2d9
---
package-lock.json | 905 ++++++++++++------
package.json | 4 +-
.../ClientErrorMessage.test.js.snap | 7 +-
3 files changed, 623 insertions(+), 293 deletions(-)
diff --git a/package-lock.json b/package-lock.json
index 12e1e41..b5a721b 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -11,7 +11,7 @@
"@vue/compiler-dom": "3.4.19",
"@vue/test-utils": "2.4.6",
"@vue/vue3-jest": "29.2.6",
- "@wikimedia/codex": "2.4.0",
+ "@wikimedia/codex": "2.6.0",
"@wikimedia/types-wikimedia": "^0.4.4",
"api-testing": "1.7.3",
"cypress": "^15.11.0",
@@ -25,7 +25,7 @@
"npm-run-all": "4.1.5",
"stylelint": "16.23.0",
"stylelint-config-recommended-vue": "^1.5.0",
- "stylelint-config-wikimedia": "0.18.0",
+ "stylelint-config-wikimedia": "0.19.2",
"typescript": "5.8.3",
"vue": "3.5.13"
}
@@ -1777,6 +1777,62 @@
"dev": true,
"license": "MIT"
},
+ "node_modules/@cacheable/memory": {
+ "version": "2.0.9",
+ "resolved": "https://registry.npmjs.org/@cacheable/memory/-/memory-2.0.9.tgz",
+ "integrity": "sha512-HdMx6DoGywB30vacDbBsITbIX4pgFqj1zsrV58jZBUw3klzkNoXhj7qOqAgledhxG7YZI5rBSJg7Zp8/VG0DuA==",
+ "dev": true,
+ "dependencies": {
+ "@cacheable/utils": "^2.4.1",
+ "@keyv/bigmap": "^1.3.1",
+ "hookified": "^1.15.1",
+ "keyv": "^5.6.0"
+ }
+ },
+ "node_modules/@cacheable/memory/node_modules/@keyv/bigmap": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/@keyv/bigmap/-/bigmap-1.3.1.tgz",
+ "integrity": "sha512-WbzE9sdmQtKy8vrNPa9BRnwZh5UF4s1KTmSK0KUVLo3eff5BlQNNWDnFOouNpKfPKDnms9xynJjsMYjMaT/aFQ==",
+ "dev": true,
+ "dependencies": {
+ "hashery": "^1.4.0",
+ "hookified": "^1.15.0"
+ },
+ "engines": {
+ "node": ">= 18"
+ },
+ "peerDependencies": {
+ "keyv": "^5.6.0"
+ }
+ },
+ "node_modules/@cacheable/memory/node_modules/keyv": {
+ "version": "5.6.0",
+ "resolved": "https://registry.npmjs.org/keyv/-/keyv-5.6.0.tgz",
+ "integrity": "sha512-CYDD3SOtsHtyXeEORYRx2qBtpDJFjRTGXUtmNEMGyzYOKj1TE3tycdlho7kA1Ufx9OYWZzg52QFBGALTirzDSw==",
+ "dev": true,
+ "dependencies": {
+ "@keyv/serialize": "^1.1.1"
+ }
+ },
+ "node_modules/@cacheable/utils": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/@cacheable/utils/-/utils-2.4.1.tgz",
+ "integrity": "sha512-eiFgzCbIneyMlLOmNG4g9xzF7Hv3Mga4LjxjcSC/ues6VYq2+gUbQI8JqNuw/ZM8tJIeIaBGpswAsqV2V7ApgA==",
+ "dev": true,
+ "dependencies": {
+ "hashery": "^1.5.1",
+ "keyv": "^5.6.0"
+ }
+ },
+ "node_modules/@cacheable/utils/node_modules/keyv": {
+ "version": "5.6.0",
+ "resolved": "https://registry.npmjs.org/keyv/-/keyv-5.6.0.tgz",
+ "integrity": "sha512-CYDD3SOtsHtyXeEORYRx2qBtpDJFjRTGXUtmNEMGyzYOKj1TE3tycdlho7kA1Ufx9OYWZzg52QFBGALTirzDSw==",
+ "dev": true,
+ "dependencies": {
+ "@keyv/serialize": "^1.1.1"
+ }
+ },
"node_modules/@csstools/css-parser-algorithms": {
"version": "3.0.5",
"resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-3.0.5.tgz",
@@ -3022,11 +3078,10 @@
}
},
"node_modules/@keyv/serialize": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/@keyv/serialize/-/serialize-1.1.0.tgz",
- "integrity": "sha512-RlDgexML7Z63Q8BSaqhXdCYNBy/JQnqYIwxofUrNLGCblOMHp+xux2Q8nLMLlPpgHQPoU0Do8Z6btCpRBEqZ8g==",
- "dev": true,
- "license": "MIT"
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/@keyv/serialize/-/serialize-1.1.1.tgz",
+ "integrity": "sha512-dXn3FZhPv0US+7dtJsIi2R+c7qWYiReoEh5zUntWCf4oSpMNib8FDhSoed6m3QyZdx5hK7iLFkYk3rNxwt8vTA==",
+ "dev": true
},
"node_modules/@mdn/browser-compat-data": {
"version": "6.1.5",
@@ -3130,6 +3185,18 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/@sindresorhus/merge-streams": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-4.0.0.tgz",
+ "integrity": "sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/@sinonjs/commons": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz",
@@ -3211,69 +3278,6 @@
"url": "https://opencollective.com/eslint"
}
},
- "node_modules/@stylistic/stylelint-config": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/@stylistic/stylelint-config/-/stylelint-config-2.0.0.tgz",
- "integrity": "sha512-8J4YAxggy2Nzkb8KJIOLbtMXTPZ5gpKVmyhiiuKEUgCl9XFND5lM0e/ZZBMGEYZ68h5qcsS/jgg1wh235erRAw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@stylistic/stylelint-plugin": "^3.0.0"
- },
- "engines": {
- "node": "^18.12 || >=20.9"
- },
- "peerDependencies": {
- "stylelint": "^16.8.0"
- }
- },
- "node_modules/@stylistic/stylelint-plugin": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/@stylistic/stylelint-plugin/-/stylelint-plugin-3.1.1.tgz",
- "integrity": "sha512-XagAHHIa528EvyGybv8EEYGK5zrVW74cHpsjhtovVATbhDRuJYfE+X4HCaAieW9lCkwbX6L+X0I4CiUG3w/hFw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@csstools/css-parser-algorithms": "^3.0.1",
- "@csstools/css-tokenizer": "^3.0.1",
- "@csstools/media-query-list-parser": "^3.0.1",
- "is-plain-object": "^5.0.0",
- "postcss-selector-parser": "^6.1.2",
- "postcss-value-parser": "^4.2.0",
- "style-search": "^0.1.0",
- "stylelint": "^16.8.2"
- },
- "engines": {
- "node": "^18.12 || >=20.9"
- },
- "peerDependencies": {
- "stylelint": "^16.8.0"
- }
- },
- "node_modules/@stylistic/stylelint-plugin/node_modules/@csstools/media-query-list-parser": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/@csstools/media-query-list-parser/-/media-query-list-parser-3.0.1.tgz",
- "integrity": "sha512-HNo8gGD02kHmcbX6PvCoUuOQvn4szyB9ca63vZHKX5A81QytgDG4oxG4IaEfHTlEZSZ6MjPEMWIVU+zF2PZcgw==",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/csstools"
- },
- {
- "type": "opencollective",
- "url": "https://opencollective.com/csstools"
- }
- ],
- "license": "MIT",
- "engines": {
- "node": ">=18"
- },
- "peerDependencies": {
- "@csstools/css-parser-algorithms": "^3.0.1",
- "@csstools/css-tokenizer": "^3.0.1"
- }
- },
"node_modules/@tootallnate/once": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.1.tgz",
@@ -3387,8 +3391,7 @@
"version": "3.0.5",
"resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz",
"integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==",
- "dev": true,
- "license": "MIT"
+ "dev": true
},
"node_modules/@types/node": {
"version": "22.17.0",
@@ -4008,16 +4011,16 @@
"license": "MIT"
},
"node_modules/@wikimedia/codex": {
- "version": "2.4.0",
- "resolved": "https://registry.npmjs.org/@wikimedia/codex/-/codex-2.4.0.tgz",
- "integrity": "sha512-j/I1gGbTo6pttjmwyYw9/3CeInK6mpBm2FVfABJk+B1Ylw5DskX+TqeCdKghwxSkxBt0ODbUTBYdFyafk+7ajg==",
+ "version": "2.6.0",
+ "resolved": "https://registry.npmjs.org/@wikimedia/codex/-/codex-2.6.0.tgz",
+ "integrity": "sha512-ul/WXyxZbMV3PrWd0tGATuhTwUijRhHQxEJ+k+NukzcbY4MTItU3zEiw0Ye3wgNGQBMcCDt34pRGF3tXQwwDgA==",
"dev": true,
"dependencies": {
"@floating-ui/vue": "1.0.6",
- "@wikimedia/codex-icons": "2.4.0"
+ "@wikimedia/codex-icons": "2.6.0"
},
"engines": {
- "node": ">=20.19.1",
+ "node": ">=20.20.2",
"npm": ">=10.8.2"
},
"peerDependencies": {
@@ -4025,12 +4028,12 @@
}
},
"node_modules/@wikimedia/codex-icons": {
- "version": "2.4.0",
- "resolved": "https://registry.npmjs.org/@wikimedia/codex-icons/-/codex-icons-2.4.0.tgz",
- "integrity": "sha512-BBtrzLR7r9ShxCMYfsx9XaKJu/peqt5Y/jtvWx3E2G5aL/Y/pIWAkv8NIvU+ztKklbHySLH5jSvVZVKxxvU0Ew==",
+ "version": "2.6.0",
+ "resolved": "https://registry.npmjs.org/@wikimedia/codex-icons/-/codex-icons-2.6.0.tgz",
+ "integrity": "sha512-U0FK8kxhIrX5hAkFGZ0uWsR4arYjWw6GLCMZmrG1qvbX7+CFoVrhJQL7alogRdCrBiQBr8CUQOquOP5fUXPIBQ==",
"dev": true,
"engines": {
- "node": ">=20.19.1",
+ "node": ">=20.20.2",
"npm": ">=10.8.2"
}
},
@@ -4287,7 +4290,6 @@
"resolved": "https://registry.npmjs.org/array-differ/-/array-differ-3.0.0.tgz",
"integrity": "sha512-THtfYS6KtME/yIAhKjZ2ul7XI96lQGHRputJQHO80LAWQnuGP4iCIN8vdMRboGbIEYBwU33q8Tch1os2+X0kMg==",
"dev": true,
- "license": "MIT",
"engines": {
"node": ">=8"
}
@@ -4329,7 +4331,6 @@
"resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz",
"integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==",
"dev": true,
- "license": "MIT",
"engines": {
"node": ">=8"
}
@@ -5363,15 +5364,13 @@
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz",
"integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==",
- "dev": true,
- "license": "MIT"
+ "dev": true
},
"node_modules/cosmiconfig": {
- "version": "9.0.0",
- "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-9.0.0.tgz",
- "integrity": "sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==",
+ "version": "9.0.2",
+ "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-9.0.2.tgz",
+ "integrity": "sha512-gtTZxTDau1wL7Y7zifc2dd8jHSK/k6BTx/2Xp/BpdlAdnlYWFVt7qhJqgwi7637yRwRQ3qL4ZidbB4I8tA5VOg==",
"dev": true,
- "license": "MIT",
"dependencies": {
"env-paths": "^2.2.1",
"import-fresh": "^3.3.0",
@@ -5526,13 +5525,12 @@
}
},
"node_modules/css-functions-list": {
- "version": "3.2.3",
- "resolved": "https://registry.npmjs.org/css-functions-list/-/css-functions-list-3.2.3.tgz",
- "integrity": "sha512-IQOkD3hbR5KrN93MtcYuad6YPuTSUhntLHDuLEbFWE+ff2/XSZNdZG+LcbbIW5AXKg/WFIfYItIzVoHngHXZzA==",
+ "version": "3.3.3",
+ "resolved": "https://registry.npmjs.org/css-functions-list/-/css-functions-list-3.3.3.tgz",
+ "integrity": "sha512-8HFEBPKhOpJPEPu70wJJetjKta86Gw9+CCyCnB3sui2qQfOvRyqBy4IKLKKAwdMpWb2lHXWk9Wb4Z6AmaUT1Pg==",
"dev": true,
- "license": "MIT",
"engines": {
- "node": ">=12 || >=16"
+ "node": ">=12"
}
},
"node_modules/css-tokenize": {
@@ -5540,7 +5538,6 @@
"resolved": "https://registry.npmjs.org/css-tokenize/-/css-tokenize-1.0.1.tgz",
"integrity": "sha512-gLmmbJdwH9HLY4bcA17lnZ8GgPwEXRbvxBJGHnkiB6gLhRpTzjkjtMIvz7YORGW/Ptv2oMk8b5g+u7mRD6Dd7A==",
"dev": true,
- "license": "MIT",
"dependencies": {
"inherits": "^2.0.1",
"readable-stream": "^1.0.33"
@@ -6059,7 +6056,6 @@
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.6.tgz",
"integrity": "sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==",
"dev": true,
- "license": "BSD-3-Clause",
"engines": {
"node": ">= 12"
}
@@ -6157,7 +6153,6 @@
"resolved": "https://registry.npmjs.org/duplexify/-/duplexify-4.1.3.tgz",
"integrity": "sha512-M3BmBhwJRZsSx38lZyhE53Csddgzl5R7xGJNk7CVddZD6CcmwMCH8J+7AprIrQKH7TonKxaCjcv27Qmf+sQ+oA==",
"dev": true,
- "license": "MIT",
"dependencies": {
"end-of-stream": "^1.4.1",
"inherits": "^2.0.3",
@@ -6170,7 +6165,6 @@
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
"integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
"dev": true,
- "license": "MIT",
"dependencies": {
"inherits": "^2.0.3",
"string_decoder": "^1.1.1",
@@ -6185,7 +6179,6 @@
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
"integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
"dev": true,
- "license": "MIT",
"dependencies": {
"safe-buffer": "~5.2.0"
}
@@ -8561,6 +8554,18 @@
"node": ">=8"
}
},
+ "node_modules/hashery": {
+ "version": "1.5.1",
+ "resolved": "https://registry.npmjs.org/hashery/-/hashery-1.5.1.tgz",
+ "integrity": "sha512-iZyKG96/JwPz1N55vj2Ie2vXbhu440zfUfJvSwEqEbeLluk7NnapfGqa7LH0mOsnDxTF85Mx8/dyR6HfqcbmbQ==",
+ "dev": true,
+ "dependencies": {
+ "hookified": "^1.15.0"
+ },
+ "engines": {
+ "node": ">=20"
+ }
+ },
"node_modules/hasown": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz",
@@ -8575,11 +8580,10 @@
}
},
"node_modules/hookified": {
- "version": "1.11.0",
- "resolved": "https://registry.npmjs.org/hookified/-/hookified-1.11.0.tgz",
- "integrity": "sha512-aDdIN3GyU5I6wextPplYdfmWCo+aLmjjVbntmX6HLD5RCi/xKsivYEBhnRD+d9224zFf008ZpLMPlWF0ZodYZw==",
- "dev": true,
- "license": "MIT"
+ "version": "1.15.1",
+ "resolved": "https://registry.npmjs.org/hookified/-/hookified-1.15.1.tgz",
+ "integrity": "sha512-MvG/clsADq1GPM2KGo2nyfaWVyn9naPiXrqIe4jYjXNZQt238kWyOGrsyc/DmRAQ+Re6yeo6yX/yoNCG5KAEVg==",
+ "dev": true
},
"node_modules/hosted-git-info": {
"version": "2.8.9",
@@ -8801,6 +8805,16 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/import-meta-resolve": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/import-meta-resolve/-/import-meta-resolve-4.2.0.tgz",
+ "integrity": "sha512-Iqv2fzaTQN28s/FwZAoFq0ZSs/7hMAHJVX+w8PZl3cY19Pxk6jFFalxQoIfW2826i/fDLXv8IiEZRIT0lDuWcg==",
+ "dev": true,
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
"node_modules/imurmurhash": {
"version": "0.1.4",
"resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
@@ -11510,7 +11524,8 @@
"resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz",
"integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==",
"dev": true,
- "license": "MIT"
+ "license": "MIT",
+ "peer": true
},
"node_modules/json-parse-better-errors": {
"version": "1.0.2",
@@ -11601,6 +11616,7 @@
"integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==",
"dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"json-buffer": "3.0.1"
}
@@ -12382,7 +12398,6 @@
"resolved": "https://registry.npmjs.org/multimatch/-/multimatch-5.0.0.tgz",
"integrity": "sha512-ypMKuglUrZUD99Tk2bUQ+xNQj43lPEfAeX2o9cTteAmShXy2VHDJpuwu1o0xqoKCt9jLVAvwyFKdLTPXKAfJyA==",
"dev": true,
- "license": "MIT",
"dependencies": {
"@types/minimatch": "^3.0.3",
"array-differ": "^3.0.0",
@@ -13098,12 +13113,10 @@
}
},
"node_modules/postcss-html": {
- "version": "1.8.0",
- "resolved": "https://registry.npmjs.org/postcss-html/-/postcss-html-1.8.0.tgz",
- "integrity": "sha512-5mMeb1TgLWoRKxZ0Xh9RZDfwUUIqRrcxO2uXO+Ezl1N5lqpCiSU5Gk6+1kZediBfBHFtPCdopr2UZ2SgUsKcgQ==",
+ "version": "1.8.1",
+ "resolved": "https://registry.npmjs.org/postcss-html/-/postcss-html-1.8.1.tgz",
+ "integrity": "sha512-OLF6P7qctfAWayOhLpcVnTGqVeJzu2W3WpIYelfz2+JV5oGxfkcEvweN9U4XpeqE0P98dcD9ssusGwlF0TK0uQ==",
"dev": true,
- "license": "MIT",
- "peer": true,
"dependencies": {
"htmlparser2": "^8.0.0",
"js-tokens": "^9.0.0",
@@ -13119,8 +13132,7 @@
"resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-9.0.1.tgz",
"integrity": "sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==",
"dev": true,
- "license": "MIT",
- "peer": true
+ "license": "MIT"
},
"node_modules/postcss-less": {
"version": "6.0.0",
@@ -13321,6 +13333,24 @@
],
"license": "MIT"
},
+ "node_modules/qified": {
+ "version": "0.10.1",
+ "resolved": "https://registry.npmjs.org/qified/-/qified-0.10.1.tgz",
+ "integrity": "sha512-+Owyggi9IxT1ePKGafcI87ubSmxol6smwJ+RAHDQlx9+9cPwFWDiKFFCPuWhr9ignlGpZ9vDQLw67N4dcTVFEA==",
+ "dev": true,
+ "dependencies": {
+ "hookified": "^2.1.1"
+ },
+ "engines": {
+ "node": ">=20"
+ }
+ },
+ "node_modules/qified/node_modules/hookified": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/hookified/-/hookified-2.2.0.tgz",
+ "integrity": "sha512-p/LgFzRN5FeoD3DLS6bkUapeye6E4SI6yJs6KetENd18S+FBthqYq2amJUWpt5z0EQwwHemidjY5OqJGEKm5uA==",
+ "dev": true
+ },
"node_modules/qs": {
"version": "6.15.2",
"resolved": "https://registry.npmjs.org/qs/-/qs-6.15.2.tgz",
@@ -13448,7 +13478,6 @@
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
"integrity": "sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ==",
"dev": true,
- "license": "MIT",
"dependencies": {
"core-util-is": "~1.0.0",
"inherits": "~2.0.1",
@@ -13460,8 +13489,7 @@
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
"integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==",
- "dev": true,
- "license": "MIT"
+ "dev": true
},
"node_modules/reflect.getprototypeof": {
"version": "1.0.10",
@@ -14019,11 +14047,10 @@
}
},
"node_modules/shell-quote": {
- "version": "1.8.3",
- "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.3.tgz",
- "integrity": "sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw==",
+ "version": "1.8.4",
+ "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.4.tgz",
+ "integrity": "sha512-VsC6n6vz1ihYYyZZwX7YZSF5l5x36ca17OC+a69h94YqB7X6XLwf+5MOgynYir2SLFUbl8gIYvBo8K8RoNQ6bQ==",
"dev": true,
- "license": "MIT",
"engines": {
"node": ">= 0.4"
},
@@ -14334,15 +14361,13 @@
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.3.tgz",
"integrity": "sha512-76ORR0DO1o1hlKwTbi/DM3EXWGf3ZJYO8cXX5RJwnul2DEg2oyoZyjLNoQM8WsvZiFKCRfC1O0J7iCvie3RZmQ==",
- "dev": true,
- "license": "MIT"
+ "dev": true
},
"node_modules/string_decoder": {
"version": "0.10.31",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
"integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==",
- "dev": true,
- "license": "MIT"
+ "dev": true
},
"node_modules/string-length": {
"version": "4.0.2",
@@ -14543,8 +14568,7 @@
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/style-search/-/style-search-0.1.0.tgz",
"integrity": "sha512-Dj1Okke1C3uKKwQcetra4jSuk0DqbzbYtXipzFlFMZtowbF1x7BKJwB9AayVMyFARvU8EDrZdcax4At/452cAg==",
- "dev": true,
- "license": "ISC"
+ "dev": true
},
"node_modules/stylelint": {
"version": "16.23.0",
@@ -14685,29 +14709,31 @@
}
},
"node_modules/stylelint-config-wikimedia": {
- "version": "0.18.0",
- "resolved": "https://registry.npmjs.org/stylelint-config-wikimedia/-/stylelint-config-wikimedia-0.18.0.tgz",
- "integrity": "sha512-Lr45NIe7pG8i7BPcMc6EddO1pRK8/KNG8gp4o/oOG1Ez10hglJuJb/QT17BlzX8NPkhtP2KdY63NS2f/Wcj6Ww==",
+ "version": "0.19.2",
+ "resolved": "https://registry.npmjs.org/stylelint-config-wikimedia/-/stylelint-config-wikimedia-0.19.2.tgz",
+ "integrity": "sha512-GTz6SmNbbrjXJpEVussRBtsE2703BSUo5R4PRR3f+o1j1h6ngyyH3/qKJ7oZzlkRMHpJHVtAS9h1emIAvc/XWw==",
"dev": true,
- "license": "MIT",
"dependencies": {
- "@stylistic/stylelint-config": "2.0.0",
- "@stylistic/stylelint-plugin": "3.1.1",
+ "@stylistic/stylelint-config": "5.0.0",
+ "@stylistic/stylelint-plugin": "5.1.0",
"browserslist-config-wikimedia": "0.7.0",
- "postcss-html": "1.7.0",
+ "postcss-html": "1.8.1",
"postcss-less": "6.0.0",
- "stylelint": "16.12.0",
- "stylelint-config-recommended": "14.0.1",
- "stylelint-no-unsupported-browser-features": "8.0.2"
+ "stylelint": "17.6.0",
+ "stylelint-config-recommended": "18.0.0",
+ "stylelint-no-unsupported-browser-features": "8.1.1"
+ },
+ "engines": {
+ "node": ">=20.19.0"
},
"peerDependencies": {
"postcss-less": "^6.0.0"
}
},
- "node_modules/stylelint-config-wikimedia/node_modules/@csstools/selector-specificity": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-5.0.0.tgz",
- "integrity": "sha512-PCqQV3c4CoVm3kdPhyeZ07VmBRdH2EpMFA/pd9OASpOEC3aXNGoqPDAZ80D0cLpMBxnmk0+yNhGsEx31hq7Gtw==",
+ "node_modules/stylelint-config-wikimedia/node_modules/@csstools/css-calc": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/@csstools/css-calc/-/css-calc-3.2.1.tgz",
+ "integrity": "sha512-DtdHlgXh5ZkA43cwBcAm+huzgJiwx3ZTWVjBs94kwz2xKqSimDA3lBgCjphYgwgVUMWatSM0pDd8TILB1yrVVg==",
"dev": true,
"funding": [
{
@@ -14719,115 +14745,373 @@
"url": "https://opencollective.com/csstools"
}
],
- "license": "MIT-0",
"engines": {
- "node": ">=18"
+ "node": ">=20.19.0"
},
"peerDependencies": {
- "postcss-selector-parser": "^7.0.0"
+ "@csstools/css-parser-algorithms": "^4.0.0",
+ "@csstools/css-tokenizer": "^4.0.0"
}
},
- "node_modules/stylelint-config-wikimedia/node_modules/balanced-match": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-2.0.0.tgz",
- "integrity": "sha512-1ugUSr8BHXRnK23KfuYS+gVMC3LB8QGH9W1iGtDPsNWoQbgtXSExkBu2aDR4epiGWZOjZsj6lDl/N/AqqTC3UA==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/stylelint-config-wikimedia/node_modules/css-tree": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-3.1.0.tgz",
- "integrity": "sha512-0eW44TGN5SQXU1mWSkKwFstI/22X2bG1nYzZTYMAWjylYURhse752YgbE4Cx46AC+bAvI+/dYTPRk1LqSUnu6w==",
+ "node_modules/stylelint-config-wikimedia/node_modules/@csstools/css-parser-algorithms": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-4.0.0.tgz",
+ "integrity": "sha512-+B87qS7fIG3L5h3qwJ/IFbjoVoOe/bpOdh9hAjXbvx0o8ImEmUsGXN0inFOnk2ChCFgqkkGFQ+TpM5rbhkKe4w==",
"dev": true,
- "license": "MIT",
- "dependencies": {
- "mdn-data": "2.12.2",
- "source-map-js": "^1.0.1"
- },
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
"engines": {
- "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0"
+ "node": ">=20.19.0"
+ },
+ "peerDependencies": {
+ "@csstools/css-tokenizer": "^4.0.0"
}
},
- "node_modules/stylelint-config-wikimedia/node_modules/file-entry-cache": {
- "version": "9.1.0",
- "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-9.1.0.tgz",
- "integrity": "sha512-/pqPFG+FdxWQj+/WSuzXSDaNzxgTLr/OrR1QuqfEZzDakpdYE70PwUxL7BPUa8hpjbvY1+qvCl8k+8Tq34xJgg==",
+ "node_modules/stylelint-config-wikimedia/node_modules/@csstools/css-syntax-patches-for-csstree": {
+ "version": "1.1.5",
+ "resolved": "https://registry.npmjs.org/@csstools/css-syntax-patches-for-csstree/-/css-syntax-patches-for-csstree-1.1.5.tgz",
+ "integrity": "sha512-oNjBvzLq2GPZtJphCjLqXow/cHySHSgtxvKZb7OqSZ/xHgw6NWNhfad+6AB9cLeVm6eA9d/qMll3JdEHjy6M+A==",
"dev": true,
- "license": "MIT",
- "dependencies": {
- "flat-cache": "^5.0.0"
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "peerDependencies": {
+ "css-tree": "^3.2.1"
},
- "engines": {
- "node": ">=18"
+ "peerDependenciesMeta": {
+ "css-tree": {
+ "optional": true
+ }
}
},
- "node_modules/stylelint-config-wikimedia/node_modules/flat-cache": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-5.0.0.tgz",
- "integrity": "sha512-JrqFmyUl2PnPi1OvLyTVHnQvwQ0S+e6lGSwu8OkAZlSaNIZciTY2H/cOOROxsBA1m/LZNHDsqAgDZt6akWcjsQ==",
+ "node_modules/stylelint-config-wikimedia/node_modules/@csstools/css-tokenizer": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-4.0.0.tgz",
+ "integrity": "sha512-QxULHAm7cNu72w97JUNCBFODFaXpbDg+dP8b/oWFAZ2MTRppA3U00Y2L1HqaS4J6yBqxwa/Y3nMBaxVKbB/NsA==",
"dev": true,
- "license": "MIT",
- "dependencies": {
- "flatted": "^3.3.1",
- "keyv": "^4.5.4"
- },
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
"engines": {
- "node": ">=18"
+ "node": ">=20.19.0"
}
},
- "node_modules/stylelint-config-wikimedia/node_modules/ignore": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-6.0.2.tgz",
- "integrity": "sha512-InwqeHHN2XpumIkMvpl/DCJVrAHgCsG5+cn1XlnLWGwtZBm8QJfSusItfrwx81CTp5agNZqpKU2J/ccC5nGT4A==",
+ "node_modules/stylelint-config-wikimedia/node_modules/@csstools/media-query-list-parser": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/@csstools/media-query-list-parser/-/media-query-list-parser-5.0.0.tgz",
+ "integrity": "sha512-T9lXmZOfnam3eMERPsszjY5NK0jX8RmThmmm99FZ8b7z8yMaFZWKwLWGZuTwdO3ddRY5fy13GmmEYZXB4I98Eg==",
"dev": true,
- "license": "MIT",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
"engines": {
- "node": ">= 4"
+ "node": ">=20.19.0"
+ },
+ "peerDependencies": {
+ "@csstools/css-parser-algorithms": "^4.0.0",
+ "@csstools/css-tokenizer": "^4.0.0"
}
},
- "node_modules/stylelint-config-wikimedia/node_modules/js-tokens": {
- "version": "9.0.1",
- "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-9.0.1.tgz",
- "integrity": "sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==",
+ "node_modules/stylelint-config-wikimedia/node_modules/@csstools/selector-resolve-nested": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/@csstools/selector-resolve-nested/-/selector-resolve-nested-4.0.0.tgz",
+ "integrity": "sha512-9vAPxmp+Dx3wQBIUwc1v7Mdisw1kbbaGqXUM8QLTgWg7SoPGYtXBsMXvsFs/0Bn5yoFhcktzxNZGNaUt0VjgjA==",
"dev": true,
- "license": "MIT"
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "engines": {
+ "node": ">=20.19.0"
+ },
+ "peerDependencies": {
+ "postcss-selector-parser": "^7.1.1"
+ }
},
- "node_modules/stylelint-config-wikimedia/node_modules/known-css-properties": {
- "version": "0.35.0",
- "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.35.0.tgz",
- "integrity": "sha512-a/RAk2BfKk+WFGhhOCAYqSiFLc34k8Mt/6NWRI4joER0EYUzXIcFivjjnoD3+XU1DggLn/tZc3DOAgke7l8a4A==",
+ "node_modules/stylelint-config-wikimedia/node_modules/@csstools/selector-specificity": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-6.0.0.tgz",
+ "integrity": "sha512-4sSgl78OtOXEX/2d++8A83zHNTgwCJMaR24FvsYL7Uf/VS8HZk9PTwR51elTbGqMuwH3szLvvOXEaVnqn0Z3zA==",
"dev": true,
- "license": "MIT"
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "engines": {
+ "node": ">=20.19.0"
+ },
+ "peerDependencies": {
+ "postcss-selector-parser": "^7.1.1"
+ }
},
- "node_modules/stylelint-config-wikimedia/node_modules/mdn-data": {
- "version": "2.12.2",
- "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.12.2.tgz",
- "integrity": "sha512-IEn+pegP1aManZuckezWCO+XZQDplx1366JoVhTpMpBB1sPey/SbveZQUosKiKiGYjg1wH4pMlNgXbCiYgihQA==",
+ "node_modules/stylelint-config-wikimedia/node_modules/@stylistic/stylelint-config": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/@stylistic/stylelint-config/-/stylelint-config-5.0.0.tgz",
+ "integrity": "sha512-AW6S27wEm4DzB+uOZMvRkONIu0ba50VRbFte7qYJgGP4dacS8kAuj8HZJ+s+8kE4GK3XXBcSKLb75a+NfJlbiQ==",
"dev": true,
- "license": "CC0-1.0"
+ "dependencies": {
+ "@stylistic/stylelint-plugin": "^5.1.0"
+ },
+ "engines": {
+ "node": ">=20.19.0"
+ },
+ "peerDependencies": {
+ "stylelint": "^17.6.0"
+ }
},
- "node_modules/stylelint-config-wikimedia/node_modules/postcss-html": {
- "version": "1.7.0",
- "resolved": "https://registry.npmjs.org/postcss-html/-/postcss-html-1.7.0.tgz",
- "integrity": "sha512-MfcMpSUIaR/nNgeVS8AyvyDugXlADjN9AcV7e5rDfrF1wduIAGSkL4q2+wgrZgA3sHVAHLDO9FuauHhZYW2nBw==",
+ "node_modules/stylelint-config-wikimedia/node_modules/@stylistic/stylelint-plugin": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/@stylistic/stylelint-plugin/-/stylelint-plugin-5.1.0.tgz",
+ "integrity": "sha512-TFvKCbJUEWUYCD+rDv45qhnStO6nRtbBngaCblS2JGh8c95S3jJi3fIotfF6EDo4IVM15UPa65WP+kp6GNvXRA==",
"dev": true,
- "license": "MIT",
"dependencies": {
- "htmlparser2": "^8.0.0",
- "js-tokens": "^9.0.0",
- "postcss": "^8.4.0",
- "postcss-safe-parser": "^6.0.0"
+ "@csstools/css-parser-algorithms": "^4.0.0",
+ "@csstools/css-tokenizer": "^4.0.0",
+ "@csstools/media-query-list-parser": "^5.0.0",
+ "postcss": "^8.5.8",
+ "postcss-selector-parser": "^7.1.1",
+ "postcss-value-parser": "^4.2.0",
+ "style-search": "^0.1.0"
},
"engines": {
- "node": "^12 || >=14"
+ "node": ">=20.19.0"
+ },
+ "peerDependencies": {
+ "stylelint": "^17.6.0"
+ }
+ },
+ "node_modules/stylelint-config-wikimedia/node_modules/ansi-regex": {
+ "version": "6.2.2",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz",
+ "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==",
+ "dev": true,
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-regex?sponsor=1"
+ }
+ },
+ "node_modules/stylelint-config-wikimedia/node_modules/cacheable": {
+ "version": "2.3.5",
+ "resolved": "https://registry.npmjs.org/cacheable/-/cacheable-2.3.5.tgz",
+ "integrity": "sha512-EQfaKe09tl615iNvq/TBRWTFf1AKJNXYQSsMx0Z3EI0nA+pVsVPS8wJhnRlkbdacKPh1d0qVIhwTc2zsQNFEEg==",
+ "dev": true,
+ "dependencies": {
+ "@cacheable/memory": "^2.0.8",
+ "@cacheable/utils": "^2.4.1",
+ "hookified": "^1.15.0",
+ "keyv": "^5.6.0",
+ "qified": "^0.10.1"
+ }
+ },
+ "node_modules/stylelint-config-wikimedia/node_modules/css-tree": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-3.2.1.tgz",
+ "integrity": "sha512-X7sjQzceUhu1u7Y/ylrRZFU2FS6LRiFVp6rKLPg23y3x3c3DOKAwuXGDp+PAGjh6CSnCjYeAul8pcT8bAl+lSA==",
+ "dev": true,
+ "dependencies": {
+ "mdn-data": "2.27.1",
+ "source-map-js": "^1.2.1"
+ },
+ "engines": {
+ "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0"
+ }
+ },
+ "node_modules/stylelint-config-wikimedia/node_modules/file-entry-cache": {
+ "version": "11.1.3",
+ "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-11.1.3.tgz",
+ "integrity": "sha512-oMbq0PD6VIiIwMF6LIa7MEwd/l9huKwmqRKXqmrkqIZv8CvRbfowL+L0ryAl8h//HfAS0zS+4SbYoRyAoA6BJA==",
+ "dev": true,
+ "dependencies": {
+ "flat-cache": "^6.1.22"
+ }
+ },
+ "node_modules/stylelint-config-wikimedia/node_modules/flat-cache": {
+ "version": "6.1.22",
+ "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-6.1.22.tgz",
+ "integrity": "sha512-N2dnzVJIphnNsjHcrxGW7DePckJ6haPrSFqpsBUhHYgwtKGVq4JrBGielEGD2fCVnsGm1zlBVZ8wGhkyuetgug==",
+ "dev": true,
+ "dependencies": {
+ "cacheable": "^2.3.4",
+ "flatted": "^3.4.2",
+ "hookified": "^1.15.0"
+ }
+ },
+ "node_modules/stylelint-config-wikimedia/node_modules/globby": {
+ "version": "16.2.0",
+ "resolved": "https://registry.npmjs.org/globby/-/globby-16.2.0.tgz",
+ "integrity": "sha512-QrJia2qDf5BB/V6HYlDTs0I0lBahyjLzpGQg3KT7FnCdTonAyPy2RtY802m2k4ALx6Dp752f82WsOczEVr3l6Q==",
+ "dev": true,
+ "dependencies": {
+ "@sindresorhus/merge-streams": "^4.0.0",
+ "fast-glob": "^3.3.3",
+ "ignore": "^7.0.5",
+ "is-path-inside": "^4.0.0",
+ "slash": "^5.1.0",
+ "unicorn-magic": "^0.4.0"
+ },
+ "engines": {
+ "node": ">=20"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/stylelint-config-wikimedia/node_modules/has-flag": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-5.0.1.tgz",
+ "integrity": "sha512-CsNUt5x9LUdx6hnk/E2SZLsDyvfqANZSUq4+D3D8RzDJ2M+HDTIkF60ibS1vHaK55vzgiZw1bEPFG9yH7l33wA==",
+ "dev": true,
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/stylelint-config-wikimedia/node_modules/html-tags": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-5.1.0.tgz",
+ "integrity": "sha512-n6l5uca7/y5joxZ3LUePhzmBFUJ+U2YWzhMa8XUTecSeSlQiZdF5XAd/Q3/WUl0VsXgUwWi8I7CNIwdI5WN1SQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=20.10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/stylelint-config-wikimedia/node_modules/ignore": {
+ "version": "7.0.5",
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz",
+ "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==",
+ "dev": true,
+ "engines": {
+ "node": ">= 4"
+ }
+ },
+ "node_modules/stylelint-config-wikimedia/node_modules/is-path-inside": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-4.0.0.tgz",
+ "integrity": "sha512-lJJV/5dYS+RcL8uQdBDW9c9uWFLLBNRyFhnAKXw5tVqLlKZ4RMGZKv+YQ/IA3OhD+RpbJa1LLFM1FQPGyIXvOA==",
+ "dev": true,
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/stylelint-config-wikimedia/node_modules/keyv": {
+ "version": "5.6.0",
+ "resolved": "https://registry.npmjs.org/keyv/-/keyv-5.6.0.tgz",
+ "integrity": "sha512-CYDD3SOtsHtyXeEORYRx2qBtpDJFjRTGXUtmNEMGyzYOKj1TE3tycdlho7kA1Ufx9OYWZzg52QFBGALTirzDSw==",
+ "dev": true,
+ "dependencies": {
+ "@keyv/serialize": "^1.1.1"
+ }
+ },
+ "node_modules/stylelint-config-wikimedia/node_modules/mathml-tag-names": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/mathml-tag-names/-/mathml-tag-names-4.0.0.tgz",
+ "integrity": "sha512-aa6AU2Pcx0VP/XWnh8IGL0SYSgQHDT6Ucror2j2mXeFAlN3ahaNs8EZtG1YiticMkSLj3Gt6VPFfZogt7G5iFQ==",
+ "dev": true,
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/stylelint-config-wikimedia/node_modules/mdn-data": {
+ "version": "2.27.1",
+ "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.27.1.tgz",
+ "integrity": "sha512-9Yubnt3e8A0OKwxYSXyhLymGW4sCufcLG6VdiDdUGVkPhpqLxlvP5vl1983gQjJl3tqbrM731mjaZaP68AgosQ==",
+ "dev": true
+ },
+ "node_modules/stylelint-config-wikimedia/node_modules/meow": {
+ "version": "14.1.0",
+ "resolved": "https://registry.npmjs.org/meow/-/meow-14.1.0.tgz",
+ "integrity": "sha512-EDYo6VlmtnumlcBCbh1gLJ//9jvM/ndXHfVXIFrZVr6fGcwTUyCTFNTLCKuY3ffbK8L/+3Mzqnd58RojiZqHVw==",
+ "dev": true,
+ "engines": {
+ "node": ">=20"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/stylelint-config-wikimedia/node_modules/postcss-safe-parser": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-7.0.1.tgz",
+ "integrity": "sha512-0AioNCJZ2DPYz5ABT6bddIqlhgwhpHZ/l65YAYo0BCIn0xiDpsnTHz0gnoTGk0OXZW0JRs+cDwL8u/teRdz+8A==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/postcss/"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/postcss-safe-parser"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "engines": {
+ "node": ">=18.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4.31"
}
},
"node_modules/stylelint-config-wikimedia/node_modules/postcss-selector-parser": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.0.tgz",
- "integrity": "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==",
+ "version": "7.1.4",
+ "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.4.tgz",
+ "integrity": "sha512-HeP7D2wyhkR+XaK6v4W8oRF62Dsz4flyuczALJp61GckGm42u1saSSJ/0auvcBqxs3jMRFEcPK34At/0JBKdOg==",
"dev": true,
- "license": "MIT",
"dependencies": {
"cssesc": "^3.0.0",
"util-deprecate": "^1.0.2"
@@ -14841,7 +15125,6 @@
"resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz",
"integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==",
"dev": true,
- "license": "ISC",
"engines": {
"node": ">=14"
},
@@ -14849,10 +15132,53 @@
"url": "https://github.com/sponsors/isaacs"
}
},
+ "node_modules/stylelint-config-wikimedia/node_modules/slash": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/slash/-/slash-5.1.0.tgz",
+ "integrity": "sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==",
+ "dev": true,
+ "engines": {
+ "node": ">=14.16"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/stylelint-config-wikimedia/node_modules/string-width": {
+ "version": "8.2.1",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-8.2.1.tgz",
+ "integrity": "sha512-IIaP0g3iy9Cyy18w3M9YcaDudujEAVHKt3a3QJg1+sr/oX96TbaGUubG0hJyCjCBThFH+tFpcIyoUHUn1ogaLA==",
+ "dev": true,
+ "dependencies": {
+ "get-east-asian-width": "^1.5.0",
+ "strip-ansi": "^7.1.2"
+ },
+ "engines": {
+ "node": ">=20"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/stylelint-config-wikimedia/node_modules/strip-ansi": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.2.0.tgz",
+ "integrity": "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==",
+ "dev": true,
+ "dependencies": {
+ "ansi-regex": "^6.2.2"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/strip-ansi?sponsor=1"
+ }
+ },
"node_modules/stylelint-config-wikimedia/node_modules/stylelint": {
- "version": "16.12.0",
- "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-16.12.0.tgz",
- "integrity": "sha512-F8zZ3L/rBpuoBZRvI4JVT20ZanPLXfQLzMOZg1tzPflRVh9mKpOZ8qcSIhh1my3FjAjZWG4T2POwGnmn6a6hbg==",
+ "version": "17.6.0",
+ "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-17.6.0.tgz",
+ "integrity": "sha512-tokrsMIVAR9vAQ/q3UVEr7S0dGXCi7zkCezPRnS2kqPUulvUh5Vgfwngrk4EoAoW7wnrThqTdnTFN5Ra7CaxIg==",
"dev": true,
"funding": [
{
@@ -14864,58 +15190,55 @@
"url": "https://github.com/sponsors/stylelint"
}
],
- "license": "MIT",
"dependencies": {
- "@csstools/css-parser-algorithms": "^3.0.4",
- "@csstools/css-tokenizer": "^3.0.3",
- "@csstools/media-query-list-parser": "^4.0.2",
- "@csstools/selector-specificity": "^5.0.0",
- "@dual-bundle/import-meta-resolve": "^4.1.0",
- "balanced-match": "^2.0.0",
+ "@csstools/css-calc": "^3.1.1",
+ "@csstools/css-parser-algorithms": "^4.0.0",
+ "@csstools/css-syntax-patches-for-csstree": "^1.1.1",
+ "@csstools/css-tokenizer": "^4.0.0",
+ "@csstools/media-query-list-parser": "^5.0.0",
+ "@csstools/selector-resolve-nested": "^4.0.0",
+ "@csstools/selector-specificity": "^6.0.0",
"colord": "^2.9.3",
- "cosmiconfig": "^9.0.0",
- "css-functions-list": "^3.2.3",
- "css-tree": "^3.0.1",
- "debug": "^4.3.7",
- "fast-glob": "^3.3.2",
+ "cosmiconfig": "^9.0.1",
+ "css-functions-list": "^3.3.3",
+ "css-tree": "^3.2.1",
+ "debug": "^4.4.3",
+ "fast-glob": "^3.3.3",
"fastest-levenshtein": "^1.0.16",
- "file-entry-cache": "^9.1.0",
+ "file-entry-cache": "^11.1.2",
"global-modules": "^2.0.0",
- "globby": "^11.1.0",
+ "globby": "^16.1.1",
"globjoin": "^0.1.4",
- "html-tags": "^3.3.1",
- "ignore": "^6.0.2",
- "imurmurhash": "^0.1.4",
+ "html-tags": "^5.1.0",
+ "ignore": "^7.0.5",
+ "import-meta-resolve": "^4.2.0",
"is-plain-object": "^5.0.0",
- "known-css-properties": "^0.35.0",
- "mathml-tag-names": "^2.1.3",
- "meow": "^13.2.0",
+ "mathml-tag-names": "^4.0.0",
+ "meow": "^14.1.0",
"micromatch": "^4.0.8",
"normalize-path": "^3.0.0",
"picocolors": "^1.1.1",
- "postcss": "^8.4.49",
- "postcss-resolve-nested-selector": "^0.1.6",
+ "postcss": "^8.5.8",
"postcss-safe-parser": "^7.0.1",
- "postcss-selector-parser": "^7.0.0",
+ "postcss-selector-parser": "^7.1.1",
"postcss-value-parser": "^4.2.0",
- "resolve-from": "^5.0.0",
- "string-width": "^4.2.3",
- "supports-hyperlinks": "^3.1.0",
+ "string-width": "^8.2.0",
+ "supports-hyperlinks": "^4.4.0",
"svg-tags": "^1.0.0",
"table": "^6.9.0",
- "write-file-atomic": "^5.0.1"
+ "write-file-atomic": "^7.0.1"
},
"bin": {
"stylelint": "bin/stylelint.mjs"
},
"engines": {
- "node": ">=18.12.0"
+ "node": ">=20.19.0"
}
},
"node_modules/stylelint-config-wikimedia/node_modules/stylelint-config-recommended": {
- "version": "14.0.1",
- "resolved": "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-14.0.1.tgz",
- "integrity": "sha512-bLvc1WOz/14aPImu/cufKAZYfXs/A/owZfSMZ4N+16WGXLoX5lOir53M6odBxvhgmgdxCVnNySJmZKx73T93cg==",
+ "version": "18.0.0",
+ "resolved": "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-18.0.0.tgz",
+ "integrity": "sha512-mxgT2XY6YZ3HWWe3Di8umG6aBmWmHTblTgu/f10rqFXnyWxjKWwNdjSWkgkwCtxIKnqjSJzvFmPT5yabVIRxZg==",
"dev": true,
"funding": [
{
@@ -14927,70 +15250,68 @@
"url": "https://github.com/sponsors/stylelint"
}
],
- "license": "MIT",
"engines": {
- "node": ">=18.12.0"
+ "node": ">=20.19.0"
},
"peerDependencies": {
- "stylelint": "^16.1.0"
+ "stylelint": "^17.0.0"
}
},
- "node_modules/stylelint-config-wikimedia/node_modules/stylelint/node_modules/postcss-safe-parser": {
- "version": "7.0.1",
- "resolved": "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-7.0.1.tgz",
- "integrity": "sha512-0AioNCJZ2DPYz5ABT6bddIqlhgwhpHZ/l65YAYo0BCIn0xiDpsnTHz0gnoTGk0OXZW0JRs+cDwL8u/teRdz+8A==",
+ "node_modules/stylelint-config-wikimedia/node_modules/supports-color": {
+ "version": "10.2.2",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-10.2.2.tgz",
+ "integrity": "sha512-SS+jx45GF1QjgEXQx4NJZV9ImqmO2NPz5FNsIHrsDjh2YsHnawpan7SNQ1o8NuhrbHZy9AZhIoCUiCeaW/C80g==",
"dev": true,
- "funding": [
- {
- "type": "opencollective",
- "url": "https://opencollective.com/postcss/"
- },
- {
- "type": "tidelift",
- "url": "https://tidelift.com/funding/github/npm/postcss-safe-parser"
- },
- {
- "type": "github",
- "url": "https://github.com/sponsors/ai"
- }
- ],
- "license": "MIT",
"engines": {
- "node": ">=18.0"
+ "node": ">=18"
},
- "peerDependencies": {
- "postcss": "^8.4.31"
+ "funding": {
+ "url": "https://github.com/chalk/supports-color?sponsor=1"
+ }
+ },
+ "node_modules/stylelint-config-wikimedia/node_modules/supports-hyperlinks": {
+ "version": "4.4.0",
+ "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-4.4.0.tgz",
+ "integrity": "sha512-UKbpT93hN5Nr9go5UY7bopIB9YQlMz9nm/ct4IXt/irb5YRkn9WaqrOBJGZ5Pwvsd5FQzSVeYlGdXoCAPQZrPg==",
+ "dev": true,
+ "dependencies": {
+ "has-flag": "^5.0.1",
+ "supports-color": "^10.2.2"
+ },
+ "engines": {
+ "node": ">=20"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/supports-hyperlinks?sponsor=1"
}
},
"node_modules/stylelint-config-wikimedia/node_modules/write-file-atomic": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-5.0.1.tgz",
- "integrity": "sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw==",
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-7.0.1.tgz",
+ "integrity": "sha512-OTIk8iR8/aCRWBqvxrzxR0hgxWpnYBblY1S5hDWBQfk/VFmJwzmJgQFN3WsoUKHISv2eAwe+PpbUzyL1CKTLXg==",
"dev": true,
- "license": "ISC",
"dependencies": {
- "imurmurhash": "^0.1.4",
"signal-exit": "^4.0.1"
},
"engines": {
- "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+ "node": "^20.17.0 || >=22.9.0"
}
},
"node_modules/stylelint-no-unsupported-browser-features": {
- "version": "8.0.2",
- "resolved": "https://registry.npmjs.org/stylelint-no-unsupported-browser-features/-/stylelint-no-unsupported-browser-features-8.0.2.tgz",
- "integrity": "sha512-4PY2qJ3ZTEje9RgGfaQ82eJoPioXxs6hazeKpji/wzLNVzTX2wd4b0Ds3ewdLkH3ID+o63IInuTquU2MNJO3YQ==",
+ "version": "8.1.1",
+ "resolved": "https://registry.npmjs.org/stylelint-no-unsupported-browser-features/-/stylelint-no-unsupported-browser-features-8.1.1.tgz",
+ "integrity": "sha512-sLEe6NUFoWL2vGt6IKKllQEKfKgVxmvTBFs1JVMHKKLWzxtWAXaqSxJvH+j0URM4vLQQqzC/wXc9Kp3XBNKdBw==",
"dev": true,
- "license": "MIT",
"dependencies": {
- "doiuse": "^6.0.5",
+ "browserslist": "^4.26.3",
+ "doiuse": "^6.0.6",
"postcss": "^8.4.32"
},
"engines": {
"node": ">=18.12.0"
},
"peerDependencies": {
- "stylelint": "^16.0.2"
+ "stylelint": ">=16.0.2"
}
},
"node_modules/stylelint/node_modules/@csstools/selector-specificity": {
@@ -15821,6 +16142,18 @@
"node": ">=4"
}
},
+ "node_modules/unicorn-magic": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.4.0.tgz",
+ "integrity": "sha512-wH590V9VNgYH9g3lH9wWjTrUoKsjLF6sGLjhR4sH1LWpLmCOH0Zf7PukhDA8BiS7KHe4oPNkcTHqYkj7SOGUOw==",
+ "dev": true,
+ "engines": {
+ "node": ">=20"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/universalify": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz",
diff --git a/package.json b/package.json
index 6c84b04..70ed0ed 100644
--- a/package.json
+++ b/package.json
@@ -23,7 +23,7 @@
"@vue/compiler-dom": "3.4.19",
"@vue/test-utils": "2.4.6",
"@vue/vue3-jest": "29.2.6",
- "@wikimedia/codex": "2.4.0",
+ "@wikimedia/codex": "2.6.0",
"api-testing": "1.7.3",
"cypress": "^15.11.0",
"eslint-config-wikimedia": "0.32.4",
@@ -36,7 +36,7 @@
"npm-run-all": "4.1.5",
"stylelint": "16.23.0",
"stylelint-config-recommended-vue": "^1.5.0",
- "stylelint-config-wikimedia": "0.18.0",
+ "stylelint-config-wikimedia": "0.19.2",
"typescript": "5.8.3",
"vue": "3.5.13"
},
diff --git a/resources/ext.communityConfiguration.Editor.common/components/__snapshots__/ClientErrorMessage.test.js.snap b/resources/ext.communityConfiguration.Editor.common/components/__snapshots__/ClientErrorMessage.test.js.snap
index 247e318..85ccb4a 100644
--- a/resources/ext.communityConfiguration.Editor.common/components/__snapshots__/ClientErrorMessage.test.js.snap
+++ b/resources/ext.communityConfiguration.Editor.common/components/__snapshots__/ClientErrorMessage.test.js.snap
@@ -25,7 +25,7 @@ exports[`ClientErrorMessage matches snapshot 1`] = `
<!--v-if-->
<g>
<path
- d="M13.728 1H6.272L1 6.272v7.456L6.272 19h7.456L19 13.728V6.272zM11 15H9v-2h2zm0-4H9V5h2z"
+ d="M19 6.4v7.199L13.6 19H6.4L1 13.599v-7.2L6.4 1h7.2zM9 14v2h2v-2zm0-9v7h2V5z"
/>
</g>
</svg>
@@ -72,10 +72,7 @@ exports[`ClientErrorMessage matches snapshot 1`] = `
<!--v-if-->
<g>
<path
- d="m4.34 2.93 12.73 12.73-1.41 1.41L2.93 4.35z"
- />
- <path
- d="M17.07 4.34 4.34 17.07l-1.41-1.41L15.66 2.93z"
+ d="M16.707 4.707 11.414 10l5.293 5.293-1.414 1.414L10 11.414l-5.293 5.293-1.414-1.414L8.586 10 3.293 4.707l1.414-1.414L10 8.586l5.293-5.293z"
/>
</g>
</svg>
--
2.47.3
$ date
--- stdout ---
Sun Jun 14 04:31:20 UTC 2026
--- end ---
$ git clone file:///srv/git/mediawiki-extensions-CommunityConfiguration.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
--- stdout ---
--- end ---
$ grr init
--- stdout ---
Installed commit-msg hook.
--- end ---
$ git show-ref refs/heads/master
--- stdout ---
4e5322e2a05f3c6ddf810316b3ca1272952f8de5 refs/heads/master
--- end ---
$ /usr/bin/npm audit --json
--- stdout ---
{
"auditReportVersion": 2,
"vulnerabilities": {
"shell-quote": {
"name": "shell-quote",
"severity": "critical",
"isDirect": false,
"via": [
{
"source": 1120422,
"name": "shell-quote",
"dependency": "shell-quote",
"title": "shell-quote quote() does not escape newlines in object .op values",
"url": "https://github.com/advisories/GHSA-w7jw-789q-3m8p",
"severity": "critical",
"cwe": [
"CWE-77",
"CWE-78"
],
"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": ">=1.1.0 <=1.8.3"
}
],
"effects": [],
"range": "1.1.0 - 1.8.3",
"nodes": [
"node_modules/shell-quote"
],
"fixAvailable": true
}
},
"metadata": {
"vulnerabilities": {
"info": 0,
"low": 0,
"moderate": 0,
"high": 0,
"critical": 1,
"total": 1
},
"dependencies": {
"prod": 1,
"dev": 1210,
"optional": 5,
"peer": 42,
"peerOptional": 0,
"total": 1210
}
}
}
--- end ---
$ /usr/bin/composer install
--- stderr ---
No composer.lock file present. Updating dependencies to latest instead of installing from lock file. See https://getcomposer.org/install for more information.
Loading composer repositories with package information
Updating dependencies
Lock file operations: 38 installs, 0 updates, 0 removals
- Locking composer/pcre (3.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 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-php85 (v1.38.1)
- Locking symfony/service-contracts (v3.7.0)
- Locking symfony/string (v8.1.0)
- Locking webmozart/assert (2.4.0)
Writing lock file
Installing dependencies from lock file (including require-dev)
Package operations: 38 installs, 0 updates, 0 removals
0 [>---------------------------] 0 [->--------------------------]
- Installing squizlabs/php_codesniffer (3.13.5): Extracting archive
- Installing dealerdirect/phpcodesniffer-composer-installer (v1.2.1): Extracting archive
- Installing composer/pcre (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.38.1): 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
0/36 [>---------------------------] 0%
29/36 [======================>-----] 80%
36/36 [============================] 100%
1 package suggestions were added by new dependencies, use `composer suggest` to see details.
Generating autoload files
17 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
--- stdout ---
PHP CodeSniffer Config installed_paths set to ../../mediawiki/mediawiki-codesniffer,../../phpcsstandards/phpcsextra,../../phpcsstandards/phpcsutils
--- end ---
Upgrading n:stylelint-config-wikimedia from 0.18.0 -> 0.19.2
Upgrading n:@wikimedia/codex from 2.4.0 -> 2.6.0
$ /usr/bin/npm install
--- stderr ---
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 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.11.14: 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 glob@7.2.3: Glob versions prior to v9 are no longer supported
npm WARN deprecated @humanwhocodes/object-schema@2.0.3: Use @eslint/object-schema instead
npm WARN deprecated domexception@4.0.0: Use your platform's native DOMException instead
npm WARN deprecated eslint@8.57.0: This version is no longer supported. Please see https://eslint.org/version-support for other options.
--- stdout ---
added 1235 packages, and audited 1236 packages in 38s
265 packages are looking for funding
run `npm fund` for details
1 critical severity vulnerability
To address all issues, run:
npm audit fix
Run `npm audit` for details.
--- end ---
$ package-lock-lint /src/repo/package-lock.json
--- stdout ---
Checking /src/repo/package-lock.json
--- end ---
$ ./node_modules/.bin/stylelint resources/ext.communityConfiguration.Editor/lib/json-form/controls-codex/src/complex/ObjectControl.vue resources/ext.communityConfiguration.Editor/lib/json-form/form/components/FormLayout.vue resources/ext.communityConfiguration.Editor.common/components/ValidationErrorMessage.vue resources/ext.communityConfiguration.Editor/styles/bootstrap.less resources/ext.communityConfiguration.Editor.common/components/ClientErrorMessage.vue resources/ext.communityConfiguration.Editor.common/components/PermissionsErrorMessage.vue resources/ext.communityConfiguration.Editor.common/components/SuccessMessage.vue resources/ext.communityConfiguration.Editor/app/App.vue resources/ext.communityConfiguration.Editor.common/components/MissingPermissionsNoticeMessage.vue resources/ext.communityConfiguration.Editor/lib/json-form/controls-codex/src/controls/ControlWrapper.vue resources/ext.communityConfiguration.Dashboard/Features.less resources/ext.communityConfiguration.Editor/lib/json-form/controls-codex/src/controls/StringControl.vue resources/ext.communityConfiguration.Editor.common/components/EditorMessage.vue resources/ext.communityConfiguration.Editor.common/components/GenericSubmitErrorMessage.vue resources/ext.communityConfiguration.Editor/lib/json-form/controls-codex/src/controls/NumberControl.vue resources/ext.communityConfiguration.Editor/lib/json-form/controls-codex/src/mediawiki/NamespacesControl.vue resources/ext.communityConfiguration.Editor/lib/json-form/controls-codex/src/mediawiki/PageTitleControl.vue resources/ext.communityConfiguration.Editor/lib/json-form/form/components/JsonForm.vue resources/ext.communityConfiguration.Editor.common/components/EditSummaryDialog.vue resources/ext.communityConfiguration.Editor/lib/json-form/controls-codex/src/controls/BooleanControl.vue resources/ext.communityConfiguration.Editor/lib/json-form/form/components/DispatchRenderer.vue resources/ext.communityConfiguration.Editor/lib/json-form/controls-codex/src/complex/ArrayControl.vue resources/ext.communityConfiguration.Dashboard/Guidelines.less resources/ext.communityConfiguration.Editor/lib/json-form/controls-codex/src/complex/EnumControl.vue resources/ext.communityConfiguration.Editor/lib/json-form/controls-codex/src/mediawiki/CommonsFileControl.vue resources/ext.communityConfiguration.Editor/lib/json-form/controls-codex/src/complex/MultiselectEnumControl.vue resources/ext.communityConfiguration.Editor/lib/json-form/controls-codex/src/complex/ChipStringsControl.vue resources/ext.communityConfiguration.Editor.common/components/NetworkErrorMessage.vue resources/ext.communityConfiguration.Dashboard/variables.less resources/ext.communityConfiguration.Editor/lib/json-form/controls-codex/src/mediawiki/PageTitlesControl.vue --fix
--- stdout ---
--- end ---
$ ./node_modules/.bin/stylelint resources/ext.communityConfiguration.Editor/lib/json-form/controls-codex/src/complex/ObjectControl.vue resources/ext.communityConfiguration.Editor/lib/json-form/form/components/FormLayout.vue resources/ext.communityConfiguration.Editor.common/components/ValidationErrorMessage.vue resources/ext.communityConfiguration.Editor/styles/bootstrap.less resources/ext.communityConfiguration.Editor.common/components/ClientErrorMessage.vue resources/ext.communityConfiguration.Editor.common/components/PermissionsErrorMessage.vue resources/ext.communityConfiguration.Editor.common/components/SuccessMessage.vue resources/ext.communityConfiguration.Editor/app/App.vue resources/ext.communityConfiguration.Editor.common/components/MissingPermissionsNoticeMessage.vue resources/ext.communityConfiguration.Editor/lib/json-form/controls-codex/src/controls/ControlWrapper.vue resources/ext.communityConfiguration.Dashboard/Features.less resources/ext.communityConfiguration.Editor/lib/json-form/controls-codex/src/controls/StringControl.vue resources/ext.communityConfiguration.Editor.common/components/EditorMessage.vue resources/ext.communityConfiguration.Editor.common/components/GenericSubmitErrorMessage.vue resources/ext.communityConfiguration.Editor/lib/json-form/controls-codex/src/controls/NumberControl.vue resources/ext.communityConfiguration.Editor/lib/json-form/controls-codex/src/mediawiki/NamespacesControl.vue resources/ext.communityConfiguration.Editor/lib/json-form/controls-codex/src/mediawiki/PageTitleControl.vue resources/ext.communityConfiguration.Editor/lib/json-form/form/components/JsonForm.vue resources/ext.communityConfiguration.Editor.common/components/EditSummaryDialog.vue resources/ext.communityConfiguration.Editor/lib/json-form/controls-codex/src/controls/BooleanControl.vue resources/ext.communityConfiguration.Editor/lib/json-form/form/components/DispatchRenderer.vue resources/ext.communityConfiguration.Editor/lib/json-form/controls-codex/src/complex/ArrayControl.vue resources/ext.communityConfiguration.Dashboard/Guidelines.less resources/ext.communityConfiguration.Editor/lib/json-form/controls-codex/src/complex/EnumControl.vue resources/ext.communityConfiguration.Editor/lib/json-form/controls-codex/src/mediawiki/CommonsFileControl.vue resources/ext.communityConfiguration.Editor/lib/json-form/controls-codex/src/complex/MultiselectEnumControl.vue resources/ext.communityConfiguration.Editor/lib/json-form/controls-codex/src/complex/ChipStringsControl.vue resources/ext.communityConfiguration.Editor.common/components/NetworkErrorMessage.vue resources/ext.communityConfiguration.Dashboard/variables.less resources/ext.communityConfiguration.Editor/lib/json-form/controls-codex/src/mediawiki/PageTitlesControl.vue -f json
--- stdout ---
[{"source":"/src/repo/resources/ext.communityConfiguration.Editor/lib/json-form/controls-codex/src/complex/ObjectControl.vue","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/resources/ext.communityConfiguration.Editor/lib/json-form/form/components/FormLayout.vue","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/resources/ext.communityConfiguration.Editor.common/components/ValidationErrorMessage.vue","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/resources/ext.communityConfiguration.Editor/styles/bootstrap.less","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/resources/ext.communityConfiguration.Editor.common/components/ClientErrorMessage.vue","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/resources/ext.communityConfiguration.Editor.common/components/PermissionsErrorMessage.vue","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/resources/ext.communityConfiguration.Editor.common/components/SuccessMessage.vue","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/resources/ext.communityConfiguration.Editor/app/App.vue","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/resources/ext.communityConfiguration.Editor.common/components/MissingPermissionsNoticeMessage.vue","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/resources/ext.communityConfiguration.Editor/lib/json-form/controls-codex/src/controls/ControlWrapper.vue","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/resources/ext.communityConfiguration.Dashboard/Features.less","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/resources/ext.communityConfiguration.Editor/lib/json-form/controls-codex/src/controls/StringControl.vue","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/resources/ext.communityConfiguration.Editor.common/components/EditorMessage.vue","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/resources/ext.communityConfiguration.Editor.common/components/GenericSubmitErrorMessage.vue","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/resources/ext.communityConfiguration.Editor/lib/json-form/controls-codex/src/controls/NumberControl.vue","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/resources/ext.communityConfiguration.Editor/lib/json-form/controls-codex/src/mediawiki/NamespacesControl.vue","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/resources/ext.communityConfiguration.Editor/lib/json-form/controls-codex/src/mediawiki/PageTitleControl.vue","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/resources/ext.communityConfiguration.Editor/lib/json-form/form/components/JsonForm.vue","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/resources/ext.communityConfiguration.Editor.common/components/EditSummaryDialog.vue","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/resources/ext.communityConfiguration.Editor/lib/json-form/controls-codex/src/controls/BooleanControl.vue","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/resources/ext.communityConfiguration.Editor/lib/json-form/form/components/DispatchRenderer.vue","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/resources/ext.communityConfiguration.Editor/lib/json-form/controls-codex/src/complex/ArrayControl.vue","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/resources/ext.communityConfiguration.Dashboard/Guidelines.less","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/resources/ext.communityConfiguration.Editor/lib/json-form/controls-codex/src/complex/EnumControl.vue","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/resources/ext.communityConfiguration.Editor/lib/json-form/controls-codex/src/mediawiki/CommonsFileControl.vue","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/resources/ext.communityConfiguration.Editor/lib/json-form/controls-codex/src/complex/MultiselectEnumControl.vue","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/resources/ext.communityConfiguration.Editor/lib/json-form/controls-codex/src/complex/ChipStringsControl.vue","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/resources/ext.communityConfiguration.Editor.common/components/NetworkErrorMessage.vue","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/resources/ext.communityConfiguration.Dashboard/variables.less","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]},{"source":"/src/repo/resources/ext.communityConfiguration.Editor/lib/json-form/controls-codex/src/mediawiki/PageTitlesControl.vue","deprecations":[],"invalidOptionWarnings":[],"parseErrors":[],"errored":false,"warnings":[]}]
--- 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-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 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.11.14: 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 glob@7.2.3: Glob versions prior to v9 are no longer supported
npm WARN deprecated @humanwhocodes/object-schema@2.0.3: Use @eslint/object-schema instead
npm WARN deprecated domexception@4.0.0: Use your platform's native DOMException instead
npm WARN deprecated eslint@8.57.0: This version is no longer supported. Please see https://eslint.org/version-support for other options.
--- stdout ---
added 1235 packages, and audited 1236 packages in 22s
265 packages are looking for funding
run `npm fund` for details
1 critical severity vulnerability
To address all issues, run:
npm audit fix
Run `npm audit` for details.
--- end ---
$ /usr/bin/npm test
--- stderr ---
PASS resources/ext.communityConfiguration.Editor/lib/json-form/core/__tests__/i18n.test.js
PASS resources/ext.communityConfiguration.Editor/lib/json-form/controls-codex/src/mediawiki/PageTitleControl.test.js
PASS resources/ext.communityConfiguration.Editor/lib/json-form/controls-codex/src/mediawiki/NamespacesControl.test.js
PASS resources/ext.communityConfiguration.Editor/lib/json-form/core/__tests__/uischema.test.js
PASS resources/ext.communityConfiguration.Editor/lib/json-form/controls-codex/src/complex/ArrayControl.test.js
PASS resources/ext.communityConfiguration.Editor/lib/json-form/controls-codex/src/controls/StringControl.test.js
PASS resources/ext.communityConfiguration.Editor/lib/json-form/controls-codex/src/complex/EnumControl.test.js
PASS resources/ext.communityConfiguration.Editor/app/App.test.js
PASS resources/ext.communityConfiguration.Editor/lib/json-form/form/composables/useJsonForm.test.js
PASS resources/ext.communityConfiguration.Editor/lib/json-form/controls-codex/src/complex/MultiselectEnumControl.test.js
PASS resources/ext.communityConfiguration.Editor/lib/json-form/controls-codex/src/controls/BooleanControl.test.js
PASS resources/ext.communityConfiguration.Editor/lib/json-form/controls-codex/src/controls/NumberControl.test.js
PASS resources/ext.communityConfiguration.Editor/lib/json-form/controls-codex/src/mediawiki/api.test.js
PASS resources/ext.communityConfiguration.Editor/lib/json-form/controls-codex/src/mediawiki/PageTitlesControl.test.js
FAIL resources/ext.communityConfiguration.Editor.common/components/ClientErrorMessage.test.js
● ClientErrorMessage › matches snapshot
expect(received).toMatchSnapshot()
Snapshot name: `ClientErrorMessage matches snapshot 1`
- Snapshot - 5
+ Received + 2
@@ -20,11 +20,11 @@
xmlns="http://www.w3.org/2000/svg"
>
<!--v-if-->
<g>
<path
- d="M13.728 1H6.272L1 6.272v7.456L6.272 19h7.456L19 13.728V6.272zM11 15H9v-2h2zm0-4H9V5h2z"
+ d="M19 6.4v7.199L13.6 19H6.4L1 13.599v-7.2L6.4 1h7.2zM9 14v2h2v-2zm0-9v7h2V5z"
/>
</g>
</svg>
</span>
<div
@@ -67,14 +67,11 @@
xmlns="http://www.w3.org/2000/svg"
>
<!--v-if-->
<g>
<path
- d="m4.34 2.93 12.73 12.73-1.41 1.41L2.93 4.35z"
- />
- <path
- d="M17.07 4.34 4.34 17.07l-1.41-1.41L15.66 2.93z"
+ d="M16.707 4.707 11.414 10l5.293 5.293-1.414 1.414L10 11.414l-5.293 5.293-1.414-1.414L8.586 10 3.293 4.707l1.414-1.414L10 8.586l5.293-5.293z"
/>
</g>
</svg>
</span>
20 | } );
21 |
> 22 | expect( wrapper.element ).toMatchSnapshot();
| ^
23 | } );
24 | } );
25 |
at Object.<anonymous> (resources/ext.communityConfiguration.Editor.common/components/ClientErrorMessage.test.js:22:29)
› 1 snapshot failed.
Snapshot Summary
› 1 snapshot failed from 1 test suite. Inspect your code changes or run `npm run test:jest -- -u` to update them.
Test Suites: 1 failed, 1 skipped, 14 passed, 15 of 16 total
Tests: 1 failed, 12 skipped, 68 passed, 81 total
Snapshots: 1 failed, 1 total
Time: 7.067 s
Ran all test suites.
ERROR: "test:jest" exited with 1.
--- stdout ---
> test
> npm-run-all test:*
> test:lint
> eslint --cache --max-warnings 0 .
> test:types
> tsc --noEmit -p cypress/tsconfig.json
> test:lintcss
> stylelint --cache "**/*.{css,less,vue}"
> test:linti18n
> banana-checker i18n/
Checked 1 message directory.
> test:jest
> jest
--------------------------------------------------|---------|----------|---------|---------|---------------------------------------
File | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s
--------------------------------------------------|---------|----------|---------|---------|---------------------------------------
All files | 80.69 | 67.54 | 77.95 | 80.54 |
app | 58.26 | 72.34 | 50 | 58.26 |
App.vue | 84.81 | 82.92 | 73.33 | 84.81 | 71,79,97,135-136,166-177,251-255
MwApiCommunityConfigurationWritingRepository.js | 0 | 100 | 0 | 0 | 1-15
init.js | 0 | 0 | 0 | 0 | 1-66
lib/json-form/controls-codex/config | 100 | 100 | 100 | 100 |
index.js | 100 | 100 | 100 | 100 |
lib/json-form/controls-codex/src | 100 | 100 | 100 | 100 |
index.js | 100 | 100 | 100 | 100 |
utils.js | 100 | 100 | 100 | 100 |
lib/json-form/controls-codex/src/complex | 91.56 | 80.76 | 82.69 | 92.35 |
ArrayControl.vue | 100 | 70 | 100 | 100 | 74-122
ChipStringsControl.vue | 50 | 0 | 0 | 55 | 29-36,51-58
EnumControl.vue | 100 | 100 | 100 | 100 |
MultiselectEnumControl.vue | 96.87 | 92.3 | 94.73 | 96.61 | 103,155
ObjectControl.vue | 95.65 | 75 | 87.5 | 95.65 | 86
index.js | 100 | 100 | 100 | 100 |
lib/json-form/controls-codex/src/controls | 94.11 | 88.46 | 92.3 | 94.87 |
BooleanControl.vue | 90.9 | 75 | 100 | 90.9 | 31-32
ControlWrapper.vue | 93.33 | 100 | 83.33 | 93.33 | 42
NumberControl.vue | 97.29 | 87.5 | 100 | 97.29 | 57
StringControl.vue | 94.44 | 91.66 | 100 | 94.44 | 42-43
index.js | 88.88 | 0 | 50 | 100 | 17
lib/json-form/controls-codex/src/mediawiki | 75.69 | 52.38 | 70.68 | 74.58 |
CommonsFileControl.vue | 19.67 | 0 | 0 | 19.67 | 31-124,146-165
NamespacesControl.vue | 97.77 | 91.66 | 100 | 97.61 | 19
PageTitleControl.vue | 94.33 | 75 | 81.81 | 94.23 | 82,101,139
PageTitlesControl.vue | 88.67 | 81.25 | 81.25 | 87.23 | 57-58,63,94,125-129
api.js | 89.47 | 62.5 | 100 | 89.47 | 17,46
constants.js | 100 | 100 | 100 | 100 |
index.js | 100 | 100 | 100 | 100 |
lib/json-form/core | 86.13 | 70.58 | 80.64 | 86.86 |
i18n.js | 98.18 | 95.45 | 100 | 98.14 | 104
index.js | 100 | 100 | 100 | 100 |
testers.js | 50 | 6.25 | 40 | 52 | 14-18,31-50,70
uischema.js | 100 | 62.5 | 100 | 100 | 15,19
lib/json-form/form | 100 | 100 | 100 | 100 |
index.js | 100 | 100 | 100 | 100 |
lib/json-form/form/components | 90.74 | 70 | 69.23 | 90.56 |
DispatchRenderer.vue | 95.65 | 83.33 | 83.33 | 95.45 | 44
FormLayout.vue | 90.9 | 100 | 50 | 90.9 | 24
JsonForm.vue | 85 | 50 | 60 | 85 | 47-48,80
lib/json-form/form/composables | 73.5 | 53.03 | 87.17 | 72.97 |
props.js | 100 | 100 | 100 | 100 |
useJsonForm.js | 86.04 | 69.23 | 100 | 86.04 | 31-34,56,76,91-92,101,135,182,200,262
useValidationErrors.js | 54.83 | 29.62 | 76.19 | 53.33 | 46,100-113,191-212,218,225-237
--------------------------------------------------|---------|----------|---------|---------|---------------------------------------
--- end ---
$ node_modules/.bin/jest -u
--- stderr ---
PASS resources/ext.communityConfiguration.Editor.common/components/ClientErrorMessage.test.js
› 1 snapshot updated.
PASS resources/ext.communityConfiguration.Editor/app/App.test.js
PASS resources/ext.communityConfiguration.Editor/lib/json-form/core/__tests__/i18n.test.js
PASS resources/ext.communityConfiguration.Editor/lib/json-form/controls-codex/src/mediawiki/PageTitleControl.test.js
PASS resources/ext.communityConfiguration.Editor/lib/json-form/controls-codex/src/mediawiki/NamespacesControl.test.js
PASS resources/ext.communityConfiguration.Editor/lib/json-form/controls-codex/src/controls/StringControl.test.js
PASS resources/ext.communityConfiguration.Editor/lib/json-form/controls-codex/src/complex/ArrayControl.test.js
PASS resources/ext.communityConfiguration.Editor/lib/json-form/controls-codex/src/complex/MultiselectEnumControl.test.js
PASS resources/ext.communityConfiguration.Editor/lib/json-form/controls-codex/src/mediawiki/PageTitlesControl.test.js
PASS resources/ext.communityConfiguration.Editor/lib/json-form/controls-codex/src/controls/NumberControl.test.js
PASS resources/ext.communityConfiguration.Editor/lib/json-form/form/composables/useJsonForm.test.js
PASS resources/ext.communityConfiguration.Editor/lib/json-form/controls-codex/src/complex/EnumControl.test.js
PASS resources/ext.communityConfiguration.Editor/lib/json-form/controls-codex/src/controls/BooleanControl.test.js
PASS resources/ext.communityConfiguration.Editor/lib/json-form/controls-codex/src/mediawiki/api.test.js
PASS resources/ext.communityConfiguration.Editor/lib/json-form/core/__tests__/uischema.test.js
Snapshot Summary
› 1 snapshot updated from 1 test suite.
Test Suites: 1 skipped, 15 passed, 15 of 16 total
Tests: 12 skipped, 69 passed, 81 total
Snapshots: 1 updated, 1 total
Time: 5.017 s
Ran all test suites.
--- stdout ---
--------------------------------------------------|---------|----------|---------|---------|---------------------------------------
File | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s
--------------------------------------------------|---------|----------|---------|---------|---------------------------------------
All files | 80.69 | 67.54 | 77.95 | 80.54 |
app | 58.26 | 72.34 | 50 | 58.26 |
App.vue | 84.81 | 82.92 | 73.33 | 84.81 | 71,79,97,135-136,166-177,251-255
MwApiCommunityConfigurationWritingRepository.js | 0 | 100 | 0 | 0 | 1-15
init.js | 0 | 0 | 0 | 0 | 1-66
lib/json-form/controls-codex/config | 100 | 100 | 100 | 100 |
index.js | 100 | 100 | 100 | 100 |
lib/json-form/controls-codex/src | 100 | 100 | 100 | 100 |
index.js | 100 | 100 | 100 | 100 |
utils.js | 100 | 100 | 100 | 100 |
lib/json-form/controls-codex/src/complex | 91.56 | 80.76 | 82.69 | 92.35 |
ArrayControl.vue | 100 | 70 | 100 | 100 | 74-122
ChipStringsControl.vue | 50 | 0 | 0 | 55 | 29-36,51-58
EnumControl.vue | 100 | 100 | 100 | 100 |
MultiselectEnumControl.vue | 96.87 | 92.3 | 94.73 | 96.61 | 103,155
ObjectControl.vue | 95.65 | 75 | 87.5 | 95.65 | 86
index.js | 100 | 100 | 100 | 100 |
lib/json-form/controls-codex/src/controls | 94.11 | 88.46 | 92.3 | 94.87 |
BooleanControl.vue | 90.9 | 75 | 100 | 90.9 | 31-32
ControlWrapper.vue | 93.33 | 100 | 83.33 | 93.33 | 42
NumberControl.vue | 97.29 | 87.5 | 100 | 97.29 | 57
StringControl.vue | 94.44 | 91.66 | 100 | 94.44 | 42-43
index.js | 88.88 | 0 | 50 | 100 | 17
lib/json-form/controls-codex/src/mediawiki | 75.69 | 52.38 | 70.68 | 74.58 |
CommonsFileControl.vue | 19.67 | 0 | 0 | 19.67 | 31-124,146-165
NamespacesControl.vue | 97.77 | 91.66 | 100 | 97.61 | 19
PageTitleControl.vue | 94.33 | 75 | 81.81 | 94.23 | 82,101,139
PageTitlesControl.vue | 88.67 | 81.25 | 81.25 | 87.23 | 57-58,63,94,125-129
api.js | 89.47 | 62.5 | 100 | 89.47 | 17,46
constants.js | 100 | 100 | 100 | 100 |
index.js | 100 | 100 | 100 | 100 |
lib/json-form/core | 86.13 | 70.58 | 80.64 | 86.86 |
i18n.js | 98.18 | 95.45 | 100 | 98.14 | 104
index.js | 100 | 100 | 100 | 100 |
testers.js | 50 | 6.25 | 40 | 52 | 14-18,31-50,70
uischema.js | 100 | 62.5 | 100 | 100 | 15,19
lib/json-form/form | 100 | 100 | 100 | 100 |
index.js | 100 | 100 | 100 | 100 |
lib/json-form/form/components | 90.74 | 70 | 69.23 | 90.56 |
DispatchRenderer.vue | 95.65 | 83.33 | 83.33 | 95.45 | 44
FormLayout.vue | 90.9 | 100 | 50 | 90.9 | 24
JsonForm.vue | 85 | 50 | 60 | 85 | 47-48,80
lib/json-form/form/composables | 73.5 | 53.03 | 87.17 | 72.97 |
props.js | 100 | 100 | 100 | 100 |
useJsonForm.js | 86.04 | 69.23 | 100 | 86.04 | 31-34,56,76,91-92,101,135,182,200,262
useValidationErrors.js | 54.83 | 29.62 | 76.19 | 53.33 | 46,100-113,191-212,218,225-237
--------------------------------------------------|---------|----------|---------|---------|---------------------------------------
--- end ---
$ /usr/bin/npm test
--- stderr ---
PASS resources/ext.communityConfiguration.Editor/lib/json-form/controls-codex/src/mediawiki/NamespacesControl.test.js
PASS resources/ext.communityConfiguration.Editor/app/App.test.js
PASS resources/ext.communityConfiguration.Editor/lib/json-form/controls-codex/src/complex/MultiselectEnumControl.test.js
PASS resources/ext.communityConfiguration.Editor.common/components/ClientErrorMessage.test.js
PASS resources/ext.communityConfiguration.Editor/lib/json-form/controls-codex/src/mediawiki/PageTitleControl.test.js
PASS resources/ext.communityConfiguration.Editor/lib/json-form/controls-codex/src/complex/ArrayControl.test.js
PASS resources/ext.communityConfiguration.Editor/lib/json-form/controls-codex/src/controls/StringControl.test.js
PASS resources/ext.communityConfiguration.Editor/lib/json-form/controls-codex/src/mediawiki/PageTitlesControl.test.js
PASS resources/ext.communityConfiguration.Editor/lib/json-form/controls-codex/src/controls/NumberControl.test.js
PASS resources/ext.communityConfiguration.Editor/lib/json-form/controls-codex/src/complex/EnumControl.test.js
PASS resources/ext.communityConfiguration.Editor/lib/json-form/core/__tests__/i18n.test.js
PASS resources/ext.communityConfiguration.Editor/lib/json-form/form/composables/useJsonForm.test.js
PASS resources/ext.communityConfiguration.Editor/lib/json-form/core/__tests__/uischema.test.js
PASS resources/ext.communityConfiguration.Editor/lib/json-form/controls-codex/src/controls/BooleanControl.test.js
PASS resources/ext.communityConfiguration.Editor/lib/json-form/controls-codex/src/mediawiki/api.test.js
Test Suites: 1 skipped, 15 passed, 15 of 16 total
Tests: 12 skipped, 69 passed, 81 total
Snapshots: 1 passed, 1 total
Time: 5.011 s
Ran all test suites.
--- stdout ---
> test
> npm-run-all test:*
> test:lint
> eslint --cache --max-warnings 0 .
> test:types
> tsc --noEmit -p cypress/tsconfig.json
> test:lintcss
> stylelint --cache "**/*.{css,less,vue}"
> test:linti18n
> banana-checker i18n/
Checked 1 message directory.
> test:jest
> jest
--------------------------------------------------|---------|----------|---------|---------|---------------------------------------
File | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s
--------------------------------------------------|---------|----------|---------|---------|---------------------------------------
All files | 80.69 | 67.54 | 77.95 | 80.54 |
app | 58.26 | 72.34 | 50 | 58.26 |
App.vue | 84.81 | 82.92 | 73.33 | 84.81 | 71,79,97,135-136,166-177,251-255
MwApiCommunityConfigurationWritingRepository.js | 0 | 100 | 0 | 0 | 1-15
init.js | 0 | 0 | 0 | 0 | 1-66
lib/json-form/controls-codex/config | 100 | 100 | 100 | 100 |
index.js | 100 | 100 | 100 | 100 |
lib/json-form/controls-codex/src | 100 | 100 | 100 | 100 |
index.js | 100 | 100 | 100 | 100 |
utils.js | 100 | 100 | 100 | 100 |
lib/json-form/controls-codex/src/complex | 91.56 | 80.76 | 82.69 | 92.35 |
ArrayControl.vue | 100 | 70 | 100 | 100 | 74-122
ChipStringsControl.vue | 50 | 0 | 0 | 55 | 29-36,51-58
EnumControl.vue | 100 | 100 | 100 | 100 |
MultiselectEnumControl.vue | 96.87 | 92.3 | 94.73 | 96.61 | 103,155
ObjectControl.vue | 95.65 | 75 | 87.5 | 95.65 | 86
index.js | 100 | 100 | 100 | 100 |
lib/json-form/controls-codex/src/controls | 94.11 | 88.46 | 92.3 | 94.87 |
BooleanControl.vue | 90.9 | 75 | 100 | 90.9 | 31-32
ControlWrapper.vue | 93.33 | 100 | 83.33 | 93.33 | 42
NumberControl.vue | 97.29 | 87.5 | 100 | 97.29 | 57
StringControl.vue | 94.44 | 91.66 | 100 | 94.44 | 42-43
index.js | 88.88 | 0 | 50 | 100 | 17
lib/json-form/controls-codex/src/mediawiki | 75.69 | 52.38 | 70.68 | 74.58 |
CommonsFileControl.vue | 19.67 | 0 | 0 | 19.67 | 31-124,146-165
NamespacesControl.vue | 97.77 | 91.66 | 100 | 97.61 | 19
PageTitleControl.vue | 94.33 | 75 | 81.81 | 94.23 | 82,101,139
PageTitlesControl.vue | 88.67 | 81.25 | 81.25 | 87.23 | 57-58,63,94,125-129
api.js | 89.47 | 62.5 | 100 | 89.47 | 17,46
constants.js | 100 | 100 | 100 | 100 |
index.js | 100 | 100 | 100 | 100 |
lib/json-form/core | 86.13 | 70.58 | 80.64 | 86.86 |
i18n.js | 98.18 | 95.45 | 100 | 98.14 | 104
index.js | 100 | 100 | 100 | 100 |
testers.js | 50 | 6.25 | 40 | 52 | 14-18,31-50,70
uischema.js | 100 | 62.5 | 100 | 100 | 15,19
lib/json-form/form | 100 | 100 | 100 | 100 |
index.js | 100 | 100 | 100 | 100 |
lib/json-form/form/components | 90.74 | 70 | 69.23 | 90.56 |
DispatchRenderer.vue | 95.65 | 83.33 | 83.33 | 95.45 | 44
FormLayout.vue | 90.9 | 100 | 50 | 90.9 | 24
JsonForm.vue | 85 | 50 | 60 | 85 | 47-48,80
lib/json-form/form/composables | 73.5 | 53.03 | 87.17 | 72.97 |
props.js | 100 | 100 | 100 | 100 |
useJsonForm.js | 86.04 | 69.23 | 100 | 86.04 | 31-34,56,76,91-92,101,135,182,200,262
useValidationErrors.js | 54.83 | 29.62 | 76.19 | 53.33 | 46,100-113,191-212,218,225-237
--------------------------------------------------|---------|----------|---------|---------|---------------------------------------
--- end ---
$ /usr/bin/npm audit --json
--- stdout ---
{
"auditReportVersion": 2,
"vulnerabilities": {
"shell-quote": {
"name": "shell-quote",
"severity": "critical",
"isDirect": false,
"via": [
{
"source": 1120422,
"name": "shell-quote",
"dependency": "shell-quote",
"title": "shell-quote quote() does not escape newlines in object .op values",
"url": "https://github.com/advisories/GHSA-w7jw-789q-3m8p",
"severity": "critical",
"cwe": [
"CWE-77",
"CWE-78"
],
"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": ">=1.1.0 <=1.8.3"
}
],
"effects": [],
"range": "1.1.0 - 1.8.3",
"nodes": [
"node_modules/shell-quote"
],
"fixAvailable": true
}
},
"metadata": {
"vulnerabilities": {
"info": 0,
"low": 0,
"moderate": 0,
"high": 0,
"critical": 1,
"total": 1
},
"dependencies": {
"prod": 1,
"dev": 1236,
"optional": 5,
"peer": 42,
"peerOptional": 0,
"total": 1236
}
}
}
--- 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-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 }
--- stdout ---
{
"added": 1,
"removed": 0,
"changed": 1,
"audited": 1237,
"funding": 265,
"audit": {
"auditReportVersion": 2,
"vulnerabilities": {
"shell-quote": {
"name": "shell-quote",
"severity": "critical",
"isDirect": false,
"via": [
{
"source": 1120422,
"name": "shell-quote",
"dependency": "shell-quote",
"title": "shell-quote quote() does not escape newlines in object .op values",
"url": "https://github.com/advisories/GHSA-w7jw-789q-3m8p",
"severity": "critical",
"cwe": [
"CWE-77",
"CWE-78"
],
"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": ">=1.1.0 <=1.8.3"
}
],
"effects": [],
"range": "1.1.0 - 1.8.3",
"nodes": [
""
],
"fixAvailable": true
}
},
"metadata": {
"vulnerabilities": {
"info": 0,
"low": 0,
"moderate": 0,
"high": 0,
"critical": 1,
"total": 1
},
"dependencies": {
"prod": 1,
"dev": 1236,
"optional": 5,
"peer": 42,
"peerOptional": 0,
"total": 1236
}
}
}
}
--- end ---
{"added": 1, "removed": 0, "changed": 1, "audited": 1237, "funding": 265, "audit": {"auditReportVersion": 2, "vulnerabilities": {"shell-quote": {"name": "shell-quote", "severity": "critical", "isDirect": false, "via": [{"source": 1120422, "name": "shell-quote", "dependency": "shell-quote", "title": "shell-quote quote() does not escape newlines in object .op values", "url": "https://github.com/advisories/GHSA-w7jw-789q-3m8p", "severity": "critical", "cwe": ["CWE-77", "CWE-78"], "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": ">=1.1.0 <=1.8.3"}], "effects": [], "range": "1.1.0 - 1.8.3", "nodes": [""], "fixAvailable": true}}, "metadata": {"vulnerabilities": {"info": 0, "low": 0, "moderate": 0, "high": 0, "critical": 1, "total": 1}, "dependencies": {"prod": 1, "dev": 1236, "optional": 5, "peer": 42, "peerOptional": 0, "total": 1236}}}}
$ /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-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 }
--- stdout ---
changed 1 package, and audited 1236 packages in 4s
265 packages are looking for funding
run `npm fund` for details
found 0 vulnerabilities
--- end ---
Verifying that tests still pass
$ /usr/bin/npm ci
--- stderr ---
npm WARN 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-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 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.11.14: 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 glob@7.2.3: Glob versions prior to v9 are no longer supported
npm WARN deprecated @humanwhocodes/object-schema@2.0.3: Use @eslint/object-schema instead
npm WARN deprecated domexception@4.0.0: Use your platform's native DOMException instead
npm WARN deprecated eslint@8.57.0: This version is no longer supported. Please see https://eslint.org/version-support for other options.
--- stdout ---
added 1235 packages, and audited 1236 packages in 18s
265 packages are looking for funding
run `npm fund` for details
found 0 vulnerabilities
--- end ---
$ /usr/bin/npm test
--- stderr ---
PASS resources/ext.communityConfiguration.Editor/lib/json-form/controls-codex/src/mediawiki/NamespacesControl.test.js
PASS resources/ext.communityConfiguration.Editor/app/App.test.js
PASS resources/ext.communityConfiguration.Editor/lib/json-form/controls-codex/src/complex/MultiselectEnumControl.test.js
PASS resources/ext.communityConfiguration.Editor/lib/json-form/controls-codex/src/controls/StringControl.test.js
PASS resources/ext.communityConfiguration.Editor/lib/json-form/controls-codex/src/complex/ArrayControl.test.js
PASS resources/ext.communityConfiguration.Editor/lib/json-form/controls-codex/src/complex/EnumControl.test.js
PASS resources/ext.communityConfiguration.Editor/lib/json-form/controls-codex/src/mediawiki/PageTitleControl.test.js
PASS resources/ext.communityConfiguration.Editor/lib/json-form/controls-codex/src/mediawiki/PageTitlesControl.test.js
PASS resources/ext.communityConfiguration.Editor.common/components/ClientErrorMessage.test.js
PASS resources/ext.communityConfiguration.Editor/lib/json-form/controls-codex/src/controls/BooleanControl.test.js
PASS resources/ext.communityConfiguration.Editor/lib/json-form/controls-codex/src/controls/NumberControl.test.js
PASS resources/ext.communityConfiguration.Editor/lib/json-form/form/composables/useJsonForm.test.js
PASS resources/ext.communityConfiguration.Editor/lib/json-form/core/__tests__/i18n.test.js
PASS resources/ext.communityConfiguration.Editor/lib/json-form/controls-codex/src/mediawiki/api.test.js
PASS resources/ext.communityConfiguration.Editor/lib/json-form/core/__tests__/uischema.test.js
Test Suites: 1 skipped, 15 passed, 15 of 16 total
Tests: 12 skipped, 69 passed, 81 total
Snapshots: 1 passed, 1 total
Time: 4.782 s
Ran all test suites.
--- stdout ---
> test
> npm-run-all test:*
> test:lint
> eslint --cache --max-warnings 0 .
> test:types
> tsc --noEmit -p cypress/tsconfig.json
> test:lintcss
> stylelint --cache "**/*.{css,less,vue}"
> test:linti18n
> banana-checker i18n/
Checked 1 message directory.
> test:jest
> jest
--------------------------------------------------|---------|----------|---------|---------|---------------------------------------
File | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s
--------------------------------------------------|---------|----------|---------|---------|---------------------------------------
All files | 80.69 | 67.54 | 77.95 | 80.54 |
app | 58.26 | 72.34 | 50 | 58.26 |
App.vue | 84.81 | 82.92 | 73.33 | 84.81 | 71,79,97,135-136,166-177,251-255
MwApiCommunityConfigurationWritingRepository.js | 0 | 100 | 0 | 0 | 1-15
init.js | 0 | 0 | 0 | 0 | 1-66
lib/json-form/controls-codex/config | 100 | 100 | 100 | 100 |
index.js | 100 | 100 | 100 | 100 |
lib/json-form/controls-codex/src | 100 | 100 | 100 | 100 |
index.js | 100 | 100 | 100 | 100 |
utils.js | 100 | 100 | 100 | 100 |
lib/json-form/controls-codex/src/complex | 91.56 | 80.76 | 82.69 | 92.35 |
ArrayControl.vue | 100 | 70 | 100 | 100 | 74-122
ChipStringsControl.vue | 50 | 0 | 0 | 55 | 29-36,51-58
EnumControl.vue | 100 | 100 | 100 | 100 |
MultiselectEnumControl.vue | 96.87 | 92.3 | 94.73 | 96.61 | 103,155
ObjectControl.vue | 95.65 | 75 | 87.5 | 95.65 | 86
index.js | 100 | 100 | 100 | 100 |
lib/json-form/controls-codex/src/controls | 94.11 | 88.46 | 92.3 | 94.87 |
BooleanControl.vue | 90.9 | 75 | 100 | 90.9 | 31-32
ControlWrapper.vue | 93.33 | 100 | 83.33 | 93.33 | 42
NumberControl.vue | 97.29 | 87.5 | 100 | 97.29 | 57
StringControl.vue | 94.44 | 91.66 | 100 | 94.44 | 42-43
index.js | 88.88 | 0 | 50 | 100 | 17
lib/json-form/controls-codex/src/mediawiki | 75.69 | 52.38 | 70.68 | 74.58 |
CommonsFileControl.vue | 19.67 | 0 | 0 | 19.67 | 31-124,146-165
NamespacesControl.vue | 97.77 | 91.66 | 100 | 97.61 | 19
PageTitleControl.vue | 94.33 | 75 | 81.81 | 94.23 | 82,101,139
PageTitlesControl.vue | 88.67 | 81.25 | 81.25 | 87.23 | 57-58,63,94,125-129
api.js | 89.47 | 62.5 | 100 | 89.47 | 17,46
constants.js | 100 | 100 | 100 | 100 |
index.js | 100 | 100 | 100 | 100 |
lib/json-form/core | 86.13 | 70.58 | 80.64 | 86.86 |
i18n.js | 98.18 | 95.45 | 100 | 98.14 | 104
index.js | 100 | 100 | 100 | 100 |
testers.js | 50 | 6.25 | 40 | 52 | 14-18,31-50,70
uischema.js | 100 | 62.5 | 100 | 100 | 15,19
lib/json-form/form | 100 | 100 | 100 | 100 |
index.js | 100 | 100 | 100 | 100 |
lib/json-form/form/components | 90.74 | 70 | 69.23 | 90.56 |
DispatchRenderer.vue | 95.65 | 83.33 | 83.33 | 95.45 | 44
FormLayout.vue | 90.9 | 100 | 50 | 90.9 | 24
JsonForm.vue | 85 | 50 | 60 | 85 | 47-48,80
lib/json-form/form/composables | 73.5 | 53.03 | 87.17 | 72.97 |
props.js | 100 | 100 | 100 | 100 |
useJsonForm.js | 86.04 | 69.23 | 100 | 86.04 | 31-34,56,76,91-92,101,135,182,200,262
useValidationErrors.js | 54.83 | 29.62 | 76.19 | 53.33 | 46,100-113,191-212,218,225-237
--------------------------------------------------|---------|----------|---------|---------|---------------------------------------
--- end ---
{"1120422": {"source": 1120422, "name": "shell-quote", "dependency": "shell-quote", "title": "shell-quote quote() does not escape newlines in object .op values", "url": "https://github.com/advisories/GHSA-w7jw-789q-3m8p", "severity": "critical", "cwe": ["CWE-77", "CWE-78"], "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": ">=1.1.0 <=1.8.3"}}
Upgrading n:shell-quote from 1.8.3 -> 1.8.4
$ package-lock-lint /src/repo/package-lock.json
--- stdout ---
Checking /src/repo/package-lock.json
--- end ---
build: Updating npm dependencies
* stylelint-config-wikimedia: 0.18.0 → 0.19.2
* @wikimedia/codex: 2.4.0 → 2.6.0
* shell-quote: 1.8.3 → 1.8.4
* https://github.com/advisories/GHSA-w7jw-789q-3m8p
$ git add .
--- stdout ---
--- end ---
$ git commit -F /tmp/tmp83hd10l7
--- stdout ---
[master 3e73de2] build: Updating npm dependencies
3 files changed, 623 insertions(+), 293 deletions(-)
--- end ---
$ git format-patch HEAD~1 --stdout
--- stdout ---
From 3e73de23492f2b4b0355e041cfd3c03d9a1fb283 Mon Sep 17 00:00:00 2001
From: libraryupgrader <tools.libraryupgrader@tools.wmflabs.org>
Date: Sun, 14 Jun 2026 04:34:25 +0000
Subject: [PATCH] build: Updating npm dependencies
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
* stylelint-config-wikimedia: 0.18.0 → 0.19.2
* @wikimedia/codex: 2.4.0 → 2.6.0
* shell-quote: 1.8.3 → 1.8.4
* https://github.com/advisories/GHSA-w7jw-789q-3m8p
Change-Id: I747874593f9b6c90e3661dfc726d6cf4c55af2d9
---
package-lock.json | 905 ++++++++++++------
package.json | 4 +-
.../ClientErrorMessage.test.js.snap | 7 +-
3 files changed, 623 insertions(+), 293 deletions(-)
diff --git a/package-lock.json b/package-lock.json
index 12e1e41..b5a721b 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -11,7 +11,7 @@
"@vue/compiler-dom": "3.4.19",
"@vue/test-utils": "2.4.6",
"@vue/vue3-jest": "29.2.6",
- "@wikimedia/codex": "2.4.0",
+ "@wikimedia/codex": "2.6.0",
"@wikimedia/types-wikimedia": "^0.4.4",
"api-testing": "1.7.3",
"cypress": "^15.11.0",
@@ -25,7 +25,7 @@
"npm-run-all": "4.1.5",
"stylelint": "16.23.0",
"stylelint-config-recommended-vue": "^1.5.0",
- "stylelint-config-wikimedia": "0.18.0",
+ "stylelint-config-wikimedia": "0.19.2",
"typescript": "5.8.3",
"vue": "3.5.13"
}
@@ -1777,6 +1777,62 @@
"dev": true,
"license": "MIT"
},
+ "node_modules/@cacheable/memory": {
+ "version": "2.0.9",
+ "resolved": "https://registry.npmjs.org/@cacheable/memory/-/memory-2.0.9.tgz",
+ "integrity": "sha512-HdMx6DoGywB30vacDbBsITbIX4pgFqj1zsrV58jZBUw3klzkNoXhj7qOqAgledhxG7YZI5rBSJg7Zp8/VG0DuA==",
+ "dev": true,
+ "dependencies": {
+ "@cacheable/utils": "^2.4.1",
+ "@keyv/bigmap": "^1.3.1",
+ "hookified": "^1.15.1",
+ "keyv": "^5.6.0"
+ }
+ },
+ "node_modules/@cacheable/memory/node_modules/@keyv/bigmap": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/@keyv/bigmap/-/bigmap-1.3.1.tgz",
+ "integrity": "sha512-WbzE9sdmQtKy8vrNPa9BRnwZh5UF4s1KTmSK0KUVLo3eff5BlQNNWDnFOouNpKfPKDnms9xynJjsMYjMaT/aFQ==",
+ "dev": true,
+ "dependencies": {
+ "hashery": "^1.4.0",
+ "hookified": "^1.15.0"
+ },
+ "engines": {
+ "node": ">= 18"
+ },
+ "peerDependencies": {
+ "keyv": "^5.6.0"
+ }
+ },
+ "node_modules/@cacheable/memory/node_modules/keyv": {
+ "version": "5.6.0",
+ "resolved": "https://registry.npmjs.org/keyv/-/keyv-5.6.0.tgz",
+ "integrity": "sha512-CYDD3SOtsHtyXeEORYRx2qBtpDJFjRTGXUtmNEMGyzYOKj1TE3tycdlho7kA1Ufx9OYWZzg52QFBGALTirzDSw==",
+ "dev": true,
+ "dependencies": {
+ "@keyv/serialize": "^1.1.1"
+ }
+ },
+ "node_modules/@cacheable/utils": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/@cacheable/utils/-/utils-2.4.1.tgz",
+ "integrity": "sha512-eiFgzCbIneyMlLOmNG4g9xzF7Hv3Mga4LjxjcSC/ues6VYq2+gUbQI8JqNuw/ZM8tJIeIaBGpswAsqV2V7ApgA==",
+ "dev": true,
+ "dependencies": {
+ "hashery": "^1.5.1",
+ "keyv": "^5.6.0"
+ }
+ },
+ "node_modules/@cacheable/utils/node_modules/keyv": {
+ "version": "5.6.0",
+ "resolved": "https://registry.npmjs.org/keyv/-/keyv-5.6.0.tgz",
+ "integrity": "sha512-CYDD3SOtsHtyXeEORYRx2qBtpDJFjRTGXUtmNEMGyzYOKj1TE3tycdlho7kA1Ufx9OYWZzg52QFBGALTirzDSw==",
+ "dev": true,
+ "dependencies": {
+ "@keyv/serialize": "^1.1.1"
+ }
+ },
"node_modules/@csstools/css-parser-algorithms": {
"version": "3.0.5",
"resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-3.0.5.tgz",
@@ -3022,11 +3078,10 @@
}
},
"node_modules/@keyv/serialize": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/@keyv/serialize/-/serialize-1.1.0.tgz",
- "integrity": "sha512-RlDgexML7Z63Q8BSaqhXdCYNBy/JQnqYIwxofUrNLGCblOMHp+xux2Q8nLMLlPpgHQPoU0Do8Z6btCpRBEqZ8g==",
- "dev": true,
- "license": "MIT"
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/@keyv/serialize/-/serialize-1.1.1.tgz",
+ "integrity": "sha512-dXn3FZhPv0US+7dtJsIi2R+c7qWYiReoEh5zUntWCf4oSpMNib8FDhSoed6m3QyZdx5hK7iLFkYk3rNxwt8vTA==",
+ "dev": true
},
"node_modules/@mdn/browser-compat-data": {
"version": "6.1.5",
@@ -3130,6 +3185,18 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/@sindresorhus/merge-streams": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-4.0.0.tgz",
+ "integrity": "sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/@sinonjs/commons": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz",
@@ -3211,69 +3278,6 @@
"url": "https://opencollective.com/eslint"
}
},
- "node_modules/@stylistic/stylelint-config": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/@stylistic/stylelint-config/-/stylelint-config-2.0.0.tgz",
- "integrity": "sha512-8J4YAxggy2Nzkb8KJIOLbtMXTPZ5gpKVmyhiiuKEUgCl9XFND5lM0e/ZZBMGEYZ68h5qcsS/jgg1wh235erRAw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@stylistic/stylelint-plugin": "^3.0.0"
- },
- "engines": {
- "node": "^18.12 || >=20.9"
- },
- "peerDependencies": {
- "stylelint": "^16.8.0"
- }
- },
- "node_modules/@stylistic/stylelint-plugin": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/@stylistic/stylelint-plugin/-/stylelint-plugin-3.1.1.tgz",
- "integrity": "sha512-XagAHHIa528EvyGybv8EEYGK5zrVW74cHpsjhtovVATbhDRuJYfE+X4HCaAieW9lCkwbX6L+X0I4CiUG3w/hFw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@csstools/css-parser-algorithms": "^3.0.1",
- "@csstools/css-tokenizer": "^3.0.1",
- "@csstools/media-query-list-parser": "^3.0.1",
- "is-plain-object": "^5.0.0",
- "postcss-selector-parser": "^6.1.2",
- "postcss-value-parser": "^4.2.0",
- "style-search": "^0.1.0",
- "stylelint": "^16.8.2"
- },
- "engines": {
- "node": "^18.12 || >=20.9"
- },
- "peerDependencies": {
- "stylelint": "^16.8.0"
- }
- },
- "node_modules/@stylistic/stylelint-plugin/node_modules/@csstools/media-query-list-parser": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/@csstools/media-query-list-parser/-/media-query-list-parser-3.0.1.tgz",
- "integrity": "sha512-HNo8gGD02kHmcbX6PvCoUuOQvn4szyB9ca63vZHKX5A81QytgDG4oxG4IaEfHTlEZSZ6MjPEMWIVU+zF2PZcgw==",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/csstools"
- },
- {
- "type": "opencollective",
- "url": "https://opencollective.com/csstools"
- }
- ],
- "license": "MIT",
- "engines": {
- "node": ">=18"
- },
- "peerDependencies": {
- "@csstools/css-parser-algorithms": "^3.0.1",
- "@csstools/css-tokenizer": "^3.0.1"
- }
- },
"node_modules/@tootallnate/once": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.1.tgz",
@@ -3387,8 +3391,7 @@
"version": "3.0.5",
"resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz",
"integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==",
- "dev": true,
- "license": "MIT"
+ "dev": true
},
"node_modules/@types/node": {
"version": "22.17.0",
@@ -4008,16 +4011,16 @@
"license": "MIT"
},
"node_modules/@wikimedia/codex": {
- "version": "2.4.0",
- "resolved": "https://registry.npmjs.org/@wikimedia/codex/-/codex-2.4.0.tgz",
- "integrity": "sha512-j/I1gGbTo6pttjmwyYw9/3CeInK6mpBm2FVfABJk+B1Ylw5DskX+TqeCdKghwxSkxBt0ODbUTBYdFyafk+7ajg==",
+ "version": "2.6.0",
+ "resolved": "https://registry.npmjs.org/@wikimedia/codex/-/codex-2.6.0.tgz",
+ "integrity": "sha512-ul/WXyxZbMV3PrWd0tGATuhTwUijRhHQxEJ+k+NukzcbY4MTItU3zEiw0Ye3wgNGQBMcCDt34pRGF3tXQwwDgA==",
"dev": true,
"dependencies": {
"@floating-ui/vue": "1.0.6",
- "@wikimedia/codex-icons": "2.4.0"
+ "@wikimedia/codex-icons": "2.6.0"
},
"engines": {
- "node": ">=20.19.1",
+ "node": ">=20.20.2",
"npm": ">=10.8.2"
},
"peerDependencies": {
@@ -4025,12 +4028,12 @@
}
},
"node_modules/@wikimedia/codex-icons": {
- "version": "2.4.0",
- "resolved": "https://registry.npmjs.org/@wikimedia/codex-icons/-/codex-icons-2.4.0.tgz",
- "integrity": "sha512-BBtrzLR7r9ShxCMYfsx9XaKJu/peqt5Y/jtvWx3E2G5aL/Y/pIWAkv8NIvU+ztKklbHySLH5jSvVZVKxxvU0Ew==",
+ "version": "2.6.0",
+ "resolved": "https://registry.npmjs.org/@wikimedia/codex-icons/-/codex-icons-2.6.0.tgz",
+ "integrity": "sha512-U0FK8kxhIrX5hAkFGZ0uWsR4arYjWw6GLCMZmrG1qvbX7+CFoVrhJQL7alogRdCrBiQBr8CUQOquOP5fUXPIBQ==",
"dev": true,
"engines": {
- "node": ">=20.19.1",
+ "node": ">=20.20.2",
"npm": ">=10.8.2"
}
},
@@ -4287,7 +4290,6 @@
"resolved": "https://registry.npmjs.org/array-differ/-/array-differ-3.0.0.tgz",
"integrity": "sha512-THtfYS6KtME/yIAhKjZ2ul7XI96lQGHRputJQHO80LAWQnuGP4iCIN8vdMRboGbIEYBwU33q8Tch1os2+X0kMg==",
"dev": true,
- "license": "MIT",
"engines": {
"node": ">=8"
}
@@ -4329,7 +4331,6 @@
"resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz",
"integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==",
"dev": true,
- "license": "MIT",
"engines": {
"node": ">=8"
}
@@ -5363,15 +5364,13 @@
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz",
"integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==",
- "dev": true,
- "license": "MIT"
+ "dev": true
},
"node_modules/cosmiconfig": {
- "version": "9.0.0",
- "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-9.0.0.tgz",
- "integrity": "sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==",
+ "version": "9.0.2",
+ "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-9.0.2.tgz",
+ "integrity": "sha512-gtTZxTDau1wL7Y7zifc2dd8jHSK/k6BTx/2Xp/BpdlAdnlYWFVt7qhJqgwi7637yRwRQ3qL4ZidbB4I8tA5VOg==",
"dev": true,
- "license": "MIT",
"dependencies": {
"env-paths": "^2.2.1",
"import-fresh": "^3.3.0",
@@ -5526,13 +5525,12 @@
}
},
"node_modules/css-functions-list": {
- "version": "3.2.3",
- "resolved": "https://registry.npmjs.org/css-functions-list/-/css-functions-list-3.2.3.tgz",
- "integrity": "sha512-IQOkD3hbR5KrN93MtcYuad6YPuTSUhntLHDuLEbFWE+ff2/XSZNdZG+LcbbIW5AXKg/WFIfYItIzVoHngHXZzA==",
+ "version": "3.3.3",
+ "resolved": "https://registry.npmjs.org/css-functions-list/-/css-functions-list-3.3.3.tgz",
+ "integrity": "sha512-8HFEBPKhOpJPEPu70wJJetjKta86Gw9+CCyCnB3sui2qQfOvRyqBy4IKLKKAwdMpWb2lHXWk9Wb4Z6AmaUT1Pg==",
"dev": true,
- "license": "MIT",
"engines": {
- "node": ">=12 || >=16"
+ "node": ">=12"
}
},
"node_modules/css-tokenize": {
@@ -5540,7 +5538,6 @@
"resolved": "https://registry.npmjs.org/css-tokenize/-/css-tokenize-1.0.1.tgz",
"integrity": "sha512-gLmmbJdwH9HLY4bcA17lnZ8GgPwEXRbvxBJGHnkiB6gLhRpTzjkjtMIvz7YORGW/Ptv2oMk8b5g+u7mRD6Dd7A==",
"dev": true,
- "license": "MIT",
"dependencies": {
"inherits": "^2.0.1",
"readable-stream": "^1.0.33"
@@ -6059,7 +6056,6 @@
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.6.tgz",
"integrity": "sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==",
"dev": true,
- "license": "BSD-3-Clause",
"engines": {
"node": ">= 12"
}
@@ -6157,7 +6153,6 @@
"resolved": "https://registry.npmjs.org/duplexify/-/duplexify-4.1.3.tgz",
"integrity": "sha512-M3BmBhwJRZsSx38lZyhE53Csddgzl5R7xGJNk7CVddZD6CcmwMCH8J+7AprIrQKH7TonKxaCjcv27Qmf+sQ+oA==",
"dev": true,
- "license": "MIT",
"dependencies": {
"end-of-stream": "^1.4.1",
"inherits": "^2.0.3",
@@ -6170,7 +6165,6 @@
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
"integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
"dev": true,
- "license": "MIT",
"dependencies": {
"inherits": "^2.0.3",
"string_decoder": "^1.1.1",
@@ -6185,7 +6179,6 @@
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
"integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
"dev": true,
- "license": "MIT",
"dependencies": {
"safe-buffer": "~5.2.0"
}
@@ -8561,6 +8554,18 @@
"node": ">=8"
}
},
+ "node_modules/hashery": {
+ "version": "1.5.1",
+ "resolved": "https://registry.npmjs.org/hashery/-/hashery-1.5.1.tgz",
+ "integrity": "sha512-iZyKG96/JwPz1N55vj2Ie2vXbhu440zfUfJvSwEqEbeLluk7NnapfGqa7LH0mOsnDxTF85Mx8/dyR6HfqcbmbQ==",
+ "dev": true,
+ "dependencies": {
+ "hookified": "^1.15.0"
+ },
+ "engines": {
+ "node": ">=20"
+ }
+ },
"node_modules/hasown": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz",
@@ -8575,11 +8580,10 @@
}
},
"node_modules/hookified": {
- "version": "1.11.0",
- "resolved": "https://registry.npmjs.org/hookified/-/hookified-1.11.0.tgz",
- "integrity": "sha512-aDdIN3GyU5I6wextPplYdfmWCo+aLmjjVbntmX6HLD5RCi/xKsivYEBhnRD+d9224zFf008ZpLMPlWF0ZodYZw==",
- "dev": true,
- "license": "MIT"
+ "version": "1.15.1",
+ "resolved": "https://registry.npmjs.org/hookified/-/hookified-1.15.1.tgz",
+ "integrity": "sha512-MvG/clsADq1GPM2KGo2nyfaWVyn9naPiXrqIe4jYjXNZQt238kWyOGrsyc/DmRAQ+Re6yeo6yX/yoNCG5KAEVg==",
+ "dev": true
},
"node_modules/hosted-git-info": {
"version": "2.8.9",
@@ -8801,6 +8805,16 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/import-meta-resolve": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/import-meta-resolve/-/import-meta-resolve-4.2.0.tgz",
+ "integrity": "sha512-Iqv2fzaTQN28s/FwZAoFq0ZSs/7hMAHJVX+w8PZl3cY19Pxk6jFFalxQoIfW2826i/fDLXv8IiEZRIT0lDuWcg==",
+ "dev": true,
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
"node_modules/imurmurhash": {
"version": "0.1.4",
"resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
@@ -11510,7 +11524,8 @@
"resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz",
"integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==",
"dev": true,
- "license": "MIT"
+ "license": "MIT",
+ "peer": true
},
"node_modules/json-parse-better-errors": {
"version": "1.0.2",
@@ -11601,6 +11616,7 @@
"integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==",
"dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"json-buffer": "3.0.1"
}
@@ -12382,7 +12398,6 @@
"resolved": "https://registry.npmjs.org/multimatch/-/multimatch-5.0.0.tgz",
"integrity": "sha512-ypMKuglUrZUD99Tk2bUQ+xNQj43lPEfAeX2o9cTteAmShXy2VHDJpuwu1o0xqoKCt9jLVAvwyFKdLTPXKAfJyA==",
"dev": true,
- "license": "MIT",
"dependencies": {
"@types/minimatch": "^3.0.3",
"array-differ": "^3.0.0",
@@ -13098,12 +13113,10 @@
}
},
"node_modules/postcss-html": {
- "version": "1.8.0",
- "resolved": "https://registry.npmjs.org/postcss-html/-/postcss-html-1.8.0.tgz",
- "integrity": "sha512-5mMeb1TgLWoRKxZ0Xh9RZDfwUUIqRrcxO2uXO+Ezl1N5lqpCiSU5Gk6+1kZediBfBHFtPCdopr2UZ2SgUsKcgQ==",
+ "version": "1.8.1",
+ "resolved": "https://registry.npmjs.org/postcss-html/-/postcss-html-1.8.1.tgz",
+ "integrity": "sha512-OLF6P7qctfAWayOhLpcVnTGqVeJzu2W3WpIYelfz2+JV5oGxfkcEvweN9U4XpeqE0P98dcD9ssusGwlF0TK0uQ==",
"dev": true,
- "license": "MIT",
- "peer": true,
"dependencies": {
"htmlparser2": "^8.0.0",
"js-tokens": "^9.0.0",
@@ -13119,8 +13132,7 @@
"resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-9.0.1.tgz",
"integrity": "sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==",
"dev": true,
- "license": "MIT",
- "peer": true
+ "license": "MIT"
},
"node_modules/postcss-less": {
"version": "6.0.0",
@@ -13321,6 +13333,24 @@
],
"license": "MIT"
},
+ "node_modules/qified": {
+ "version": "0.10.1",
+ "resolved": "https://registry.npmjs.org/qified/-/qified-0.10.1.tgz",
+ "integrity": "sha512-+Owyggi9IxT1ePKGafcI87ubSmxol6smwJ+RAHDQlx9+9cPwFWDiKFFCPuWhr9ignlGpZ9vDQLw67N4dcTVFEA==",
+ "dev": true,
+ "dependencies": {
+ "hookified": "^2.1.1"
+ },
+ "engines": {
+ "node": ">=20"
+ }
+ },
+ "node_modules/qified/node_modules/hookified": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/hookified/-/hookified-2.2.0.tgz",
+ "integrity": "sha512-p/LgFzRN5FeoD3DLS6bkUapeye6E4SI6yJs6KetENd18S+FBthqYq2amJUWpt5z0EQwwHemidjY5OqJGEKm5uA==",
+ "dev": true
+ },
"node_modules/qs": {
"version": "6.15.2",
"resolved": "https://registry.npmjs.org/qs/-/qs-6.15.2.tgz",
@@ -13448,7 +13478,6 @@
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
"integrity": "sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ==",
"dev": true,
- "license": "MIT",
"dependencies": {
"core-util-is": "~1.0.0",
"inherits": "~2.0.1",
@@ -13460,8 +13489,7 @@
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
"integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==",
- "dev": true,
- "license": "MIT"
+ "dev": true
},
"node_modules/reflect.getprototypeof": {
"version": "1.0.10",
@@ -14019,11 +14047,10 @@
}
},
"node_modules/shell-quote": {
- "version": "1.8.3",
- "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.3.tgz",
- "integrity": "sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw==",
+ "version": "1.8.4",
+ "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.4.tgz",
+ "integrity": "sha512-VsC6n6vz1ihYYyZZwX7YZSF5l5x36ca17OC+a69h94YqB7X6XLwf+5MOgynYir2SLFUbl8gIYvBo8K8RoNQ6bQ==",
"dev": true,
- "license": "MIT",
"engines": {
"node": ">= 0.4"
},
@@ -14334,15 +14361,13 @@
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.3.tgz",
"integrity": "sha512-76ORR0DO1o1hlKwTbi/DM3EXWGf3ZJYO8cXX5RJwnul2DEg2oyoZyjLNoQM8WsvZiFKCRfC1O0J7iCvie3RZmQ==",
- "dev": true,
- "license": "MIT"
+ "dev": true
},
"node_modules/string_decoder": {
"version": "0.10.31",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
"integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==",
- "dev": true,
- "license": "MIT"
+ "dev": true
},
"node_modules/string-length": {
"version": "4.0.2",
@@ -14543,8 +14568,7 @@
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/style-search/-/style-search-0.1.0.tgz",
"integrity": "sha512-Dj1Okke1C3uKKwQcetra4jSuk0DqbzbYtXipzFlFMZtowbF1x7BKJwB9AayVMyFARvU8EDrZdcax4At/452cAg==",
- "dev": true,
- "license": "ISC"
+ "dev": true
},
"node_modules/stylelint": {
"version": "16.23.0",
@@ -14685,29 +14709,31 @@
}
},
"node_modules/stylelint-config-wikimedia": {
- "version": "0.18.0",
- "resolved": "https://registry.npmjs.org/stylelint-config-wikimedia/-/stylelint-config-wikimedia-0.18.0.tgz",
- "integrity": "sha512-Lr45NIe7pG8i7BPcMc6EddO1pRK8/KNG8gp4o/oOG1Ez10hglJuJb/QT17BlzX8NPkhtP2KdY63NS2f/Wcj6Ww==",
+ "version": "0.19.2",
+ "resolved": "https://registry.npmjs.org/stylelint-config-wikimedia/-/stylelint-config-wikimedia-0.19.2.tgz",
+ "integrity": "sha512-GTz6SmNbbrjXJpEVussRBtsE2703BSUo5R4PRR3f+o1j1h6ngyyH3/qKJ7oZzlkRMHpJHVtAS9h1emIAvc/XWw==",
"dev": true,
- "license": "MIT",
"dependencies": {
- "@stylistic/stylelint-config": "2.0.0",
- "@stylistic/stylelint-plugin": "3.1.1",
+ "@stylistic/stylelint-config": "5.0.0",
+ "@stylistic/stylelint-plugin": "5.1.0",
"browserslist-config-wikimedia": "0.7.0",
- "postcss-html": "1.7.0",
+ "postcss-html": "1.8.1",
"postcss-less": "6.0.0",
- "stylelint": "16.12.0",
- "stylelint-config-recommended": "14.0.1",
- "stylelint-no-unsupported-browser-features": "8.0.2"
+ "stylelint": "17.6.0",
+ "stylelint-config-recommended": "18.0.0",
+ "stylelint-no-unsupported-browser-features": "8.1.1"
+ },
+ "engines": {
+ "node": ">=20.19.0"
},
"peerDependencies": {
"postcss-less": "^6.0.0"
}
},
- "node_modules/stylelint-config-wikimedia/node_modules/@csstools/selector-specificity": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-5.0.0.tgz",
- "integrity": "sha512-PCqQV3c4CoVm3kdPhyeZ07VmBRdH2EpMFA/pd9OASpOEC3aXNGoqPDAZ80D0cLpMBxnmk0+yNhGsEx31hq7Gtw==",
+ "node_modules/stylelint-config-wikimedia/node_modules/@csstools/css-calc": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/@csstools/css-calc/-/css-calc-3.2.1.tgz",
+ "integrity": "sha512-DtdHlgXh5ZkA43cwBcAm+huzgJiwx3ZTWVjBs94kwz2xKqSimDA3lBgCjphYgwgVUMWatSM0pDd8TILB1yrVVg==",
"dev": true,
"funding": [
{
@@ -14719,115 +14745,373 @@
"url": "https://opencollective.com/csstools"
}
],
- "license": "MIT-0",
"engines": {
- "node": ">=18"
+ "node": ">=20.19.0"
},
"peerDependencies": {
- "postcss-selector-parser": "^7.0.0"
+ "@csstools/css-parser-algorithms": "^4.0.0",
+ "@csstools/css-tokenizer": "^4.0.0"
}
},
- "node_modules/stylelint-config-wikimedia/node_modules/balanced-match": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-2.0.0.tgz",
- "integrity": "sha512-1ugUSr8BHXRnK23KfuYS+gVMC3LB8QGH9W1iGtDPsNWoQbgtXSExkBu2aDR4epiGWZOjZsj6lDl/N/AqqTC3UA==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/stylelint-config-wikimedia/node_modules/css-tree": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-3.1.0.tgz",
- "integrity": "sha512-0eW44TGN5SQXU1mWSkKwFstI/22X2bG1nYzZTYMAWjylYURhse752YgbE4Cx46AC+bAvI+/dYTPRk1LqSUnu6w==",
+ "node_modules/stylelint-config-wikimedia/node_modules/@csstools/css-parser-algorithms": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-4.0.0.tgz",
+ "integrity": "sha512-+B87qS7fIG3L5h3qwJ/IFbjoVoOe/bpOdh9hAjXbvx0o8ImEmUsGXN0inFOnk2ChCFgqkkGFQ+TpM5rbhkKe4w==",
"dev": true,
- "license": "MIT",
- "dependencies": {
- "mdn-data": "2.12.2",
- "source-map-js": "^1.0.1"
- },
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
"engines": {
- "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0"
+ "node": ">=20.19.0"
+ },
+ "peerDependencies": {
+ "@csstools/css-tokenizer": "^4.0.0"
}
},
- "node_modules/stylelint-config-wikimedia/node_modules/file-entry-cache": {
- "version": "9.1.0",
- "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-9.1.0.tgz",
- "integrity": "sha512-/pqPFG+FdxWQj+/WSuzXSDaNzxgTLr/OrR1QuqfEZzDakpdYE70PwUxL7BPUa8hpjbvY1+qvCl8k+8Tq34xJgg==",
+ "node_modules/stylelint-config-wikimedia/node_modules/@csstools/css-syntax-patches-for-csstree": {
+ "version": "1.1.5",
+ "resolved": "https://registry.npmjs.org/@csstools/css-syntax-patches-for-csstree/-/css-syntax-patches-for-csstree-1.1.5.tgz",
+ "integrity": "sha512-oNjBvzLq2GPZtJphCjLqXow/cHySHSgtxvKZb7OqSZ/xHgw6NWNhfad+6AB9cLeVm6eA9d/qMll3JdEHjy6M+A==",
"dev": true,
- "license": "MIT",
- "dependencies": {
- "flat-cache": "^5.0.0"
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "peerDependencies": {
+ "css-tree": "^3.2.1"
},
- "engines": {
- "node": ">=18"
+ "peerDependenciesMeta": {
+ "css-tree": {
+ "optional": true
+ }
}
},
- "node_modules/stylelint-config-wikimedia/node_modules/flat-cache": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-5.0.0.tgz",
- "integrity": "sha512-JrqFmyUl2PnPi1OvLyTVHnQvwQ0S+e6lGSwu8OkAZlSaNIZciTY2H/cOOROxsBA1m/LZNHDsqAgDZt6akWcjsQ==",
+ "node_modules/stylelint-config-wikimedia/node_modules/@csstools/css-tokenizer": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-4.0.0.tgz",
+ "integrity": "sha512-QxULHAm7cNu72w97JUNCBFODFaXpbDg+dP8b/oWFAZ2MTRppA3U00Y2L1HqaS4J6yBqxwa/Y3nMBaxVKbB/NsA==",
"dev": true,
- "license": "MIT",
- "dependencies": {
- "flatted": "^3.3.1",
- "keyv": "^4.5.4"
- },
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
"engines": {
- "node": ">=18"
+ "node": ">=20.19.0"
}
},
- "node_modules/stylelint-config-wikimedia/node_modules/ignore": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-6.0.2.tgz",
- "integrity": "sha512-InwqeHHN2XpumIkMvpl/DCJVrAHgCsG5+cn1XlnLWGwtZBm8QJfSusItfrwx81CTp5agNZqpKU2J/ccC5nGT4A==",
+ "node_modules/stylelint-config-wikimedia/node_modules/@csstools/media-query-list-parser": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/@csstools/media-query-list-parser/-/media-query-list-parser-5.0.0.tgz",
+ "integrity": "sha512-T9lXmZOfnam3eMERPsszjY5NK0jX8RmThmmm99FZ8b7z8yMaFZWKwLWGZuTwdO3ddRY5fy13GmmEYZXB4I98Eg==",
"dev": true,
- "license": "MIT",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
"engines": {
- "node": ">= 4"
+ "node": ">=20.19.0"
+ },
+ "peerDependencies": {
+ "@csstools/css-parser-algorithms": "^4.0.0",
+ "@csstools/css-tokenizer": "^4.0.0"
}
},
- "node_modules/stylelint-config-wikimedia/node_modules/js-tokens": {
- "version": "9.0.1",
- "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-9.0.1.tgz",
- "integrity": "sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==",
+ "node_modules/stylelint-config-wikimedia/node_modules/@csstools/selector-resolve-nested": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/@csstools/selector-resolve-nested/-/selector-resolve-nested-4.0.0.tgz",
+ "integrity": "sha512-9vAPxmp+Dx3wQBIUwc1v7Mdisw1kbbaGqXUM8QLTgWg7SoPGYtXBsMXvsFs/0Bn5yoFhcktzxNZGNaUt0VjgjA==",
"dev": true,
- "license": "MIT"
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "engines": {
+ "node": ">=20.19.0"
+ },
+ "peerDependencies": {
+ "postcss-selector-parser": "^7.1.1"
+ }
},
- "node_modules/stylelint-config-wikimedia/node_modules/known-css-properties": {
- "version": "0.35.0",
- "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.35.0.tgz",
- "integrity": "sha512-a/RAk2BfKk+WFGhhOCAYqSiFLc34k8Mt/6NWRI4joER0EYUzXIcFivjjnoD3+XU1DggLn/tZc3DOAgke7l8a4A==",
+ "node_modules/stylelint-config-wikimedia/node_modules/@csstools/selector-specificity": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-6.0.0.tgz",
+ "integrity": "sha512-4sSgl78OtOXEX/2d++8A83zHNTgwCJMaR24FvsYL7Uf/VS8HZk9PTwR51elTbGqMuwH3szLvvOXEaVnqn0Z3zA==",
"dev": true,
- "license": "MIT"
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "engines": {
+ "node": ">=20.19.0"
+ },
+ "peerDependencies": {
+ "postcss-selector-parser": "^7.1.1"
+ }
},
- "node_modules/stylelint-config-wikimedia/node_modules/mdn-data": {
- "version": "2.12.2",
- "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.12.2.tgz",
- "integrity": "sha512-IEn+pegP1aManZuckezWCO+XZQDplx1366JoVhTpMpBB1sPey/SbveZQUosKiKiGYjg1wH4pMlNgXbCiYgihQA==",
+ "node_modules/stylelint-config-wikimedia/node_modules/@stylistic/stylelint-config": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/@stylistic/stylelint-config/-/stylelint-config-5.0.0.tgz",
+ "integrity": "sha512-AW6S27wEm4DzB+uOZMvRkONIu0ba50VRbFte7qYJgGP4dacS8kAuj8HZJ+s+8kE4GK3XXBcSKLb75a+NfJlbiQ==",
"dev": true,
- "license": "CC0-1.0"
+ "dependencies": {
+ "@stylistic/stylelint-plugin": "^5.1.0"
+ },
+ "engines": {
+ "node": ">=20.19.0"
+ },
+ "peerDependencies": {
+ "stylelint": "^17.6.0"
+ }
},
- "node_modules/stylelint-config-wikimedia/node_modules/postcss-html": {
- "version": "1.7.0",
- "resolved": "https://registry.npmjs.org/postcss-html/-/postcss-html-1.7.0.tgz",
- "integrity": "sha512-MfcMpSUIaR/nNgeVS8AyvyDugXlADjN9AcV7e5rDfrF1wduIAGSkL4q2+wgrZgA3sHVAHLDO9FuauHhZYW2nBw==",
+ "node_modules/stylelint-config-wikimedia/node_modules/@stylistic/stylelint-plugin": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/@stylistic/stylelint-plugin/-/stylelint-plugin-5.1.0.tgz",
+ "integrity": "sha512-TFvKCbJUEWUYCD+rDv45qhnStO6nRtbBngaCblS2JGh8c95S3jJi3fIotfF6EDo4IVM15UPa65WP+kp6GNvXRA==",
"dev": true,
- "license": "MIT",
"dependencies": {
- "htmlparser2": "^8.0.0",
- "js-tokens": "^9.0.0",
- "postcss": "^8.4.0",
- "postcss-safe-parser": "^6.0.0"
+ "@csstools/css-parser-algorithms": "^4.0.0",
+ "@csstools/css-tokenizer": "^4.0.0",
+ "@csstools/media-query-list-parser": "^5.0.0",
+ "postcss": "^8.5.8",
+ "postcss-selector-parser": "^7.1.1",
+ "postcss-value-parser": "^4.2.0",
+ "style-search": "^0.1.0"
},
"engines": {
- "node": "^12 || >=14"
+ "node": ">=20.19.0"
+ },
+ "peerDependencies": {
+ "stylelint": "^17.6.0"
+ }
+ },
+ "node_modules/stylelint-config-wikimedia/node_modules/ansi-regex": {
+ "version": "6.2.2",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz",
+ "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==",
+ "dev": true,
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-regex?sponsor=1"
+ }
+ },
+ "node_modules/stylelint-config-wikimedia/node_modules/cacheable": {
+ "version": "2.3.5",
+ "resolved": "https://registry.npmjs.org/cacheable/-/cacheable-2.3.5.tgz",
+ "integrity": "sha512-EQfaKe09tl615iNvq/TBRWTFf1AKJNXYQSsMx0Z3EI0nA+pVsVPS8wJhnRlkbdacKPh1d0qVIhwTc2zsQNFEEg==",
+ "dev": true,
+ "dependencies": {
+ "@cacheable/memory": "^2.0.8",
+ "@cacheable/utils": "^2.4.1",
+ "hookified": "^1.15.0",
+ "keyv": "^5.6.0",
+ "qified": "^0.10.1"
+ }
+ },
+ "node_modules/stylelint-config-wikimedia/node_modules/css-tree": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-3.2.1.tgz",
+ "integrity": "sha512-X7sjQzceUhu1u7Y/ylrRZFU2FS6LRiFVp6rKLPg23y3x3c3DOKAwuXGDp+PAGjh6CSnCjYeAul8pcT8bAl+lSA==",
+ "dev": true,
+ "dependencies": {
+ "mdn-data": "2.27.1",
+ "source-map-js": "^1.2.1"
+ },
+ "engines": {
+ "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0"
+ }
+ },
+ "node_modules/stylelint-config-wikimedia/node_modules/file-entry-cache": {
+ "version": "11.1.3",
+ "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-11.1.3.tgz",
+ "integrity": "sha512-oMbq0PD6VIiIwMF6LIa7MEwd/l9huKwmqRKXqmrkqIZv8CvRbfowL+L0ryAl8h//HfAS0zS+4SbYoRyAoA6BJA==",
+ "dev": true,
+ "dependencies": {
+ "flat-cache": "^6.1.22"
+ }
+ },
+ "node_modules/stylelint-config-wikimedia/node_modules/flat-cache": {
+ "version": "6.1.22",
+ "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-6.1.22.tgz",
+ "integrity": "sha512-N2dnzVJIphnNsjHcrxGW7DePckJ6haPrSFqpsBUhHYgwtKGVq4JrBGielEGD2fCVnsGm1zlBVZ8wGhkyuetgug==",
+ "dev": true,
+ "dependencies": {
+ "cacheable": "^2.3.4",
+ "flatted": "^3.4.2",
+ "hookified": "^1.15.0"
+ }
+ },
+ "node_modules/stylelint-config-wikimedia/node_modules/globby": {
+ "version": "16.2.0",
+ "resolved": "https://registry.npmjs.org/globby/-/globby-16.2.0.tgz",
+ "integrity": "sha512-QrJia2qDf5BB/V6HYlDTs0I0lBahyjLzpGQg3KT7FnCdTonAyPy2RtY802m2k4ALx6Dp752f82WsOczEVr3l6Q==",
+ "dev": true,
+ "dependencies": {
+ "@sindresorhus/merge-streams": "^4.0.0",
+ "fast-glob": "^3.3.3",
+ "ignore": "^7.0.5",
+ "is-path-inside": "^4.0.0",
+ "slash": "^5.1.0",
+ "unicorn-magic": "^0.4.0"
+ },
+ "engines": {
+ "node": ">=20"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/stylelint-config-wikimedia/node_modules/has-flag": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-5.0.1.tgz",
+ "integrity": "sha512-CsNUt5x9LUdx6hnk/E2SZLsDyvfqANZSUq4+D3D8RzDJ2M+HDTIkF60ibS1vHaK55vzgiZw1bEPFG9yH7l33wA==",
+ "dev": true,
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/stylelint-config-wikimedia/node_modules/html-tags": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-5.1.0.tgz",
+ "integrity": "sha512-n6l5uca7/y5joxZ3LUePhzmBFUJ+U2YWzhMa8XUTecSeSlQiZdF5XAd/Q3/WUl0VsXgUwWi8I7CNIwdI5WN1SQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=20.10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/stylelint-config-wikimedia/node_modules/ignore": {
+ "version": "7.0.5",
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz",
+ "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==",
+ "dev": true,
+ "engines": {
+ "node": ">= 4"
+ }
+ },
+ "node_modules/stylelint-config-wikimedia/node_modules/is-path-inside": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-4.0.0.tgz",
+ "integrity": "sha512-lJJV/5dYS+RcL8uQdBDW9c9uWFLLBNRyFhnAKXw5tVqLlKZ4RMGZKv+YQ/IA3OhD+RpbJa1LLFM1FQPGyIXvOA==",
+ "dev": true,
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/stylelint-config-wikimedia/node_modules/keyv": {
+ "version": "5.6.0",
+ "resolved": "https://registry.npmjs.org/keyv/-/keyv-5.6.0.tgz",
+ "integrity": "sha512-CYDD3SOtsHtyXeEORYRx2qBtpDJFjRTGXUtmNEMGyzYOKj1TE3tycdlho7kA1Ufx9OYWZzg52QFBGALTirzDSw==",
+ "dev": true,
+ "dependencies": {
+ "@keyv/serialize": "^1.1.1"
+ }
+ },
+ "node_modules/stylelint-config-wikimedia/node_modules/mathml-tag-names": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/mathml-tag-names/-/mathml-tag-names-4.0.0.tgz",
+ "integrity": "sha512-aa6AU2Pcx0VP/XWnh8IGL0SYSgQHDT6Ucror2j2mXeFAlN3ahaNs8EZtG1YiticMkSLj3Gt6VPFfZogt7G5iFQ==",
+ "dev": true,
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/stylelint-config-wikimedia/node_modules/mdn-data": {
+ "version": "2.27.1",
+ "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.27.1.tgz",
+ "integrity": "sha512-9Yubnt3e8A0OKwxYSXyhLymGW4sCufcLG6VdiDdUGVkPhpqLxlvP5vl1983gQjJl3tqbrM731mjaZaP68AgosQ==",
+ "dev": true
+ },
+ "node_modules/stylelint-config-wikimedia/node_modules/meow": {
+ "version": "14.1.0",
+ "resolved": "https://registry.npmjs.org/meow/-/meow-14.1.0.tgz",
+ "integrity": "sha512-EDYo6VlmtnumlcBCbh1gLJ//9jvM/ndXHfVXIFrZVr6fGcwTUyCTFNTLCKuY3ffbK8L/+3Mzqnd58RojiZqHVw==",
+ "dev": true,
+ "engines": {
+ "node": ">=20"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/stylelint-config-wikimedia/node_modules/postcss-safe-parser": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-7.0.1.tgz",
+ "integrity": "sha512-0AioNCJZ2DPYz5ABT6bddIqlhgwhpHZ/l65YAYo0BCIn0xiDpsnTHz0gnoTGk0OXZW0JRs+cDwL8u/teRdz+8A==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/postcss/"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/postcss-safe-parser"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "engines": {
+ "node": ">=18.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4.31"
}
},
"node_modules/stylelint-config-wikimedia/node_modules/postcss-selector-parser": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.0.tgz",
- "integrity": "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==",
+ "version": "7.1.4",
+ "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.4.tgz",
+ "integrity": "sha512-HeP7D2wyhkR+XaK6v4W8oRF62Dsz4flyuczALJp61GckGm42u1saSSJ/0auvcBqxs3jMRFEcPK34At/0JBKdOg==",
"dev": true,
- "license": "MIT",
"dependencies": {
"cssesc": "^3.0.0",
"util-deprecate": "^1.0.2"
@@ -14841,7 +15125,6 @@
"resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz",
"integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==",
"dev": true,
- "license": "ISC",
"engines": {
"node": ">=14"
},
@@ -14849,10 +15132,53 @@
"url": "https://github.com/sponsors/isaacs"
}
},
+ "node_modules/stylelint-config-wikimedia/node_modules/slash": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/slash/-/slash-5.1.0.tgz",
+ "integrity": "sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==",
+ "dev": true,
+ "engines": {
+ "node": ">=14.16"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/stylelint-config-wikimedia/node_modules/string-width": {
+ "version": "8.2.1",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-8.2.1.tgz",
+ "integrity": "sha512-IIaP0g3iy9Cyy18w3M9YcaDudujEAVHKt3a3QJg1+sr/oX96TbaGUubG0hJyCjCBThFH+tFpcIyoUHUn1ogaLA==",
+ "dev": true,
+ "dependencies": {
+ "get-east-asian-width": "^1.5.0",
+ "strip-ansi": "^7.1.2"
+ },
+ "engines": {
+ "node": ">=20"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/stylelint-config-wikimedia/node_modules/strip-ansi": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.2.0.tgz",
+ "integrity": "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==",
+ "dev": true,
+ "dependencies": {
+ "ansi-regex": "^6.2.2"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/strip-ansi?sponsor=1"
+ }
+ },
"node_modules/stylelint-config-wikimedia/node_modules/stylelint": {
- "version": "16.12.0",
- "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-16.12.0.tgz",
- "integrity": "sha512-F8zZ3L/rBpuoBZRvI4JVT20ZanPLXfQLzMOZg1tzPflRVh9mKpOZ8qcSIhh1my3FjAjZWG4T2POwGnmn6a6hbg==",
+ "version": "17.6.0",
+ "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-17.6.0.tgz",
+ "integrity": "sha512-tokrsMIVAR9vAQ/q3UVEr7S0dGXCi7zkCezPRnS2kqPUulvUh5Vgfwngrk4EoAoW7wnrThqTdnTFN5Ra7CaxIg==",
"dev": true,
"funding": [
{
@@ -14864,58 +15190,55 @@
"url": "https://github.com/sponsors/stylelint"
}
],
- "license": "MIT",
"dependencies": {
- "@csstools/css-parser-algorithms": "^3.0.4",
- "@csstools/css-tokenizer": "^3.0.3",
- "@csstools/media-query-list-parser": "^4.0.2",
- "@csstools/selector-specificity": "^5.0.0",
- "@dual-bundle/import-meta-resolve": "^4.1.0",
- "balanced-match": "^2.0.0",
+ "@csstools/css-calc": "^3.1.1",
+ "@csstools/css-parser-algorithms": "^4.0.0",
+ "@csstools/css-syntax-patches-for-csstree": "^1.1.1",
+ "@csstools/css-tokenizer": "^4.0.0",
+ "@csstools/media-query-list-parser": "^5.0.0",
+ "@csstools/selector-resolve-nested": "^4.0.0",
+ "@csstools/selector-specificity": "^6.0.0",
"colord": "^2.9.3",
- "cosmiconfig": "^9.0.0",
- "css-functions-list": "^3.2.3",
- "css-tree": "^3.0.1",
- "debug": "^4.3.7",
- "fast-glob": "^3.3.2",
+ "cosmiconfig": "^9.0.1",
+ "css-functions-list": "^3.3.3",
+ "css-tree": "^3.2.1",
+ "debug": "^4.4.3",
+ "fast-glob": "^3.3.3",
"fastest-levenshtein": "^1.0.16",
- "file-entry-cache": "^9.1.0",
+ "file-entry-cache": "^11.1.2",
"global-modules": "^2.0.0",
- "globby": "^11.1.0",
+ "globby": "^16.1.1",
"globjoin": "^0.1.4",
- "html-tags": "^3.3.1",
- "ignore": "^6.0.2",
- "imurmurhash": "^0.1.4",
+ "html-tags": "^5.1.0",
+ "ignore": "^7.0.5",
+ "import-meta-resolve": "^4.2.0",
"is-plain-object": "^5.0.0",
- "known-css-properties": "^0.35.0",
- "mathml-tag-names": "^2.1.3",
- "meow": "^13.2.0",
+ "mathml-tag-names": "^4.0.0",
+ "meow": "^14.1.0",
"micromatch": "^4.0.8",
"normalize-path": "^3.0.0",
"picocolors": "^1.1.1",
- "postcss": "^8.4.49",
- "postcss-resolve-nested-selector": "^0.1.6",
+ "postcss": "^8.5.8",
"postcss-safe-parser": "^7.0.1",
- "postcss-selector-parser": "^7.0.0",
+ "postcss-selector-parser": "^7.1.1",
"postcss-value-parser": "^4.2.0",
- "resolve-from": "^5.0.0",
- "string-width": "^4.2.3",
- "supports-hyperlinks": "^3.1.0",
+ "string-width": "^8.2.0",
+ "supports-hyperlinks": "^4.4.0",
"svg-tags": "^1.0.0",
"table": "^6.9.0",
- "write-file-atomic": "^5.0.1"
+ "write-file-atomic": "^7.0.1"
},
"bin": {
"stylelint": "bin/stylelint.mjs"
},
"engines": {
- "node": ">=18.12.0"
+ "node": ">=20.19.0"
}
},
"node_modules/stylelint-config-wikimedia/node_modules/stylelint-config-recommended": {
- "version": "14.0.1",
- "resolved": "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-14.0.1.tgz",
- "integrity": "sha512-bLvc1WOz/14aPImu/cufKAZYfXs/A/owZfSMZ4N+16WGXLoX5lOir53M6odBxvhgmgdxCVnNySJmZKx73T93cg==",
+ "version": "18.0.0",
+ "resolved": "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-18.0.0.tgz",
+ "integrity": "sha512-mxgT2XY6YZ3HWWe3Di8umG6aBmWmHTblTgu/f10rqFXnyWxjKWwNdjSWkgkwCtxIKnqjSJzvFmPT5yabVIRxZg==",
"dev": true,
"funding": [
{
@@ -14927,70 +15250,68 @@
"url": "https://github.com/sponsors/stylelint"
}
],
- "license": "MIT",
"engines": {
- "node": ">=18.12.0"
+ "node": ">=20.19.0"
},
"peerDependencies": {
- "stylelint": "^16.1.0"
+ "stylelint": "^17.0.0"
}
},
- "node_modules/stylelint-config-wikimedia/node_modules/stylelint/node_modules/postcss-safe-parser": {
- "version": "7.0.1",
- "resolved": "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-7.0.1.tgz",
- "integrity": "sha512-0AioNCJZ2DPYz5ABT6bddIqlhgwhpHZ/l65YAYo0BCIn0xiDpsnTHz0gnoTGk0OXZW0JRs+cDwL8u/teRdz+8A==",
+ "node_modules/stylelint-config-wikimedia/node_modules/supports-color": {
+ "version": "10.2.2",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-10.2.2.tgz",
+ "integrity": "sha512-SS+jx45GF1QjgEXQx4NJZV9ImqmO2NPz5FNsIHrsDjh2YsHnawpan7SNQ1o8NuhrbHZy9AZhIoCUiCeaW/C80g==",
"dev": true,
- "funding": [
- {
- "type": "opencollective",
- "url": "https://opencollective.com/postcss/"
- },
- {
- "type": "tidelift",
- "url": "https://tidelift.com/funding/github/npm/postcss-safe-parser"
- },
- {
- "type": "github",
- "url": "https://github.com/sponsors/ai"
- }
- ],
- "license": "MIT",
"engines": {
- "node": ">=18.0"
+ "node": ">=18"
},
- "peerDependencies": {
- "postcss": "^8.4.31"
+ "funding": {
+ "url": "https://github.com/chalk/supports-color?sponsor=1"
+ }
+ },
+ "node_modules/stylelint-config-wikimedia/node_modules/supports-hyperlinks": {
+ "version": "4.4.0",
+ "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-4.4.0.tgz",
+ "integrity": "sha512-UKbpT93hN5Nr9go5UY7bopIB9YQlMz9nm/ct4IXt/irb5YRkn9WaqrOBJGZ5Pwvsd5FQzSVeYlGdXoCAPQZrPg==",
+ "dev": true,
+ "dependencies": {
+ "has-flag": "^5.0.1",
+ "supports-color": "^10.2.2"
+ },
+ "engines": {
+ "node": ">=20"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/supports-hyperlinks?sponsor=1"
}
},
"node_modules/stylelint-config-wikimedia/node_modules/write-file-atomic": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-5.0.1.tgz",
- "integrity": "sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw==",
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-7.0.1.tgz",
+ "integrity": "sha512-OTIk8iR8/aCRWBqvxrzxR0hgxWpnYBblY1S5hDWBQfk/VFmJwzmJgQFN3WsoUKHISv2eAwe+PpbUzyL1CKTLXg==",
"dev": true,
- "license": "ISC",
"dependencies": {
- "imurmurhash": "^0.1.4",
"signal-exit": "^4.0.1"
},
"engines": {
- "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+ "node": "^20.17.0 || >=22.9.0"
}
},
"node_modules/stylelint-no-unsupported-browser-features": {
- "version": "8.0.2",
- "resolved": "https://registry.npmjs.org/stylelint-no-unsupported-browser-features/-/stylelint-no-unsupported-browser-features-8.0.2.tgz",
- "integrity": "sha512-4PY2qJ3ZTEje9RgGfaQ82eJoPioXxs6hazeKpji/wzLNVzTX2wd4b0Ds3ewdLkH3ID+o63IInuTquU2MNJO3YQ==",
+ "version": "8.1.1",
+ "resolved": "https://registry.npmjs.org/stylelint-no-unsupported-browser-features/-/stylelint-no-unsupported-browser-features-8.1.1.tgz",
+ "integrity": "sha512-sLEe6NUFoWL2vGt6IKKllQEKfKgVxmvTBFs1JVMHKKLWzxtWAXaqSxJvH+j0URM4vLQQqzC/wXc9Kp3XBNKdBw==",
"dev": true,
- "license": "MIT",
"dependencies": {
- "doiuse": "^6.0.5",
+ "browserslist": "^4.26.3",
+ "doiuse": "^6.0.6",
"postcss": "^8.4.32"
},
"engines": {
"node": ">=18.12.0"
},
"peerDependencies": {
- "stylelint": "^16.0.2"
+ "stylelint": ">=16.0.2"
}
},
"node_modules/stylelint/node_modules/@csstools/selector-specificity": {
@@ -15821,6 +16142,18 @@
"node": ">=4"
}
},
+ "node_modules/unicorn-magic": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.4.0.tgz",
+ "integrity": "sha512-wH590V9VNgYH9g3lH9wWjTrUoKsjLF6sGLjhR4sH1LWpLmCOH0Zf7PukhDA8BiS7KHe4oPNkcTHqYkj7SOGUOw==",
+ "dev": true,
+ "engines": {
+ "node": ">=20"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/universalify": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz",
diff --git a/package.json b/package.json
index 6c84b04..70ed0ed 100644
--- a/package.json
+++ b/package.json
@@ -23,7 +23,7 @@
"@vue/compiler-dom": "3.4.19",
"@vue/test-utils": "2.4.6",
"@vue/vue3-jest": "29.2.6",
- "@wikimedia/codex": "2.4.0",
+ "@wikimedia/codex": "2.6.0",
"api-testing": "1.7.3",
"cypress": "^15.11.0",
"eslint-config-wikimedia": "0.32.4",
@@ -36,7 +36,7 @@
"npm-run-all": "4.1.5",
"stylelint": "16.23.0",
"stylelint-config-recommended-vue": "^1.5.0",
- "stylelint-config-wikimedia": "0.18.0",
+ "stylelint-config-wikimedia": "0.19.2",
"typescript": "5.8.3",
"vue": "3.5.13"
},
diff --git a/resources/ext.communityConfiguration.Editor.common/components/__snapshots__/ClientErrorMessage.test.js.snap b/resources/ext.communityConfiguration.Editor.common/components/__snapshots__/ClientErrorMessage.test.js.snap
index 247e318..85ccb4a 100644
--- a/resources/ext.communityConfiguration.Editor.common/components/__snapshots__/ClientErrorMessage.test.js.snap
+++ b/resources/ext.communityConfiguration.Editor.common/components/__snapshots__/ClientErrorMessage.test.js.snap
@@ -25,7 +25,7 @@ exports[`ClientErrorMessage matches snapshot 1`] = `
<!--v-if-->
<g>
<path
- d="M13.728 1H6.272L1 6.272v7.456L6.272 19h7.456L19 13.728V6.272zM11 15H9v-2h2zm0-4H9V5h2z"
+ d="M19 6.4v7.199L13.6 19H6.4L1 13.599v-7.2L6.4 1h7.2zM9 14v2h2v-2zm0-9v7h2V5z"
/>
</g>
</svg>
@@ -72,10 +72,7 @@ exports[`ClientErrorMessage matches snapshot 1`] = `
<!--v-if-->
<g>
<path
- d="m4.34 2.93 12.73 12.73-1.41 1.41L2.93 4.35z"
- />
- <path
- d="M17.07 4.34 4.34 17.07l-1.41-1.41L15.66 2.93z"
+ d="M16.707 4.707 11.414 10l5.293 5.293-1.414 1.414L10 11.414l-5.293 5.293-1.414-1.414L8.586 10 3.293 4.707l1.414-1.414L10 8.586l5.293-5.293z"
/>
</g>
</svg>
--
2.47.3
--- end ---