fix(frontend): patch vulnerable browserslist dependency

pnpm audit по всему lock-графу остановил релизную сборку: browserslist@4.21.11
несёт high-advisory (уязвимы <= 4.28.6) и приходит транзитивно через
autoprefixer и update-browserslist-db.

Закрыто точечным pnpm.overrides на 4.28.7 — точной версией, а не диапазоном:
security-патч обязан быть детерминированным и не тащить за собой чужой major.
Обновилось только поддерево browserslist (caniuse-lite, electron-to-chromium,
escalade, node-releases, update-browserslist-db); autoprefixer, Vite и остальной
граф не тронуты.

Проверено с pnpm 9.15.9 (contract из packageManager):
  pnpm why browserslist        -> 4.28.7
  pnpm audit --audit-level high -> 0, no known vulnerabilities
  pnpm install --frozen-lockfile -> lockfile is up to date
  typecheck + build:prod        -> ok
This commit is contained in:
2026-09-03 22:39:25 +05:00
parent b9d3c03f8d
commit 7d486af712
4 changed files with 78 additions and 25 deletions
+39 -24
View File
@@ -11,6 +11,7 @@ overrides:
picomatch: '>=2.3.2'
js-yaml: '>=4.3.1'
table>ajv: '>=8.18.0'
browserslist: 4.28.7
importers:
@@ -1175,6 +1176,11 @@ packages:
resolution: {integrity: sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==}
engines: {node: 18 || 20 || >=22}
baseline-browser-mapping@2.11.20:
resolution: {integrity: sha512-H0ulySigv6icDJ1F7SjtdCD6PrhTpdYCmP0CactWy1+ekh0AFd0o1Wn5T8b+hnTmdBx19u9yhL6wvCylXMY7zw==}
engines: {node: '>=6.0.0'}
hasBin: true
boolbase@1.0.0:
resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==}
@@ -1186,8 +1192,8 @@ packages:
resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==}
engines: {node: '>=8'}
browserslist@4.21.11:
resolution: {integrity: sha512-xn1UXOKUz7DjdGlg9RrUr0GGiWzI97UQJnugHtH0OLDfJB7jMgoIkYvRIEO1l9EeEERVqeqLYOcFBW9ldjypbQ==}
browserslist@4.28.7:
resolution: {integrity: sha512-JxV13hNrFxqjOc8alRbq9dK1MM79NEXYpma2B2J4wAtpWS5zIEIKqWPGCl7N4o7Uc7B7itylh7SuDujATRyyTw==}
engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
hasBin: true
@@ -1209,6 +1215,9 @@ packages:
caniuse-lite@1.0.30001539:
resolution: {integrity: sha512-hfS5tE8bnNiNvEOEkm8HElUHroYwlqMMENEzELymy77+tJ6m+gA2krtHl5hxJaj71OlpC2cHZbdSMX1/YEqEkA==}
caniuse-lite@1.0.30001810:
resolution: {integrity: sha512-TITQPUkaz+aVk5GL6NhOdwk1aEaNTSDPsGFWrTuhKGtjTF70jL/Oht2W4c6rXUe5fu7Ie19VIahAXHIIiWWNeg==}
chalk@2.4.2:
resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==}
engines: {node: '>=4'}
@@ -1343,8 +1352,8 @@ packages:
echarts@6.1.0:
resolution: {integrity: sha512-q0yaFPggC9FUdsWH4blavRWFmxdrIodbkoKNAjJudAI6CA9gNPxHtV2RcZNEepZVlk4yvBYkOkbk6HIVpIyHZA==}
electron-to-chromium@1.4.529:
resolution: {integrity: sha512-6uyPyXTo8lkv8SWAmjKFbG42U073TXlzD4R8rW3EzuznhFS2olCIAfjjQtV2dV2ar/vRF55KUd3zQYnCB0dd3A==}
electron-to-chromium@1.5.420:
resolution: {integrity: sha512-2yD6XreGusOfNV+dUcvipJEXc3n/n7fgr7996aszTG+YY5E4mqM4tOq/3uhP129cazL9YHbVWSpc79ePotWtPA==}
element-plus@2.14.5:
resolution: {integrity: sha512-bghYy/S+qg87enHPXELirhEdDqsVAUGcGpbGIeG8dz0kwpIkGz7gYsifulBshXX74iRtHib85XWQj0uSH2A1Yg==}
@@ -1390,8 +1399,8 @@ packages:
engines: {node: '>=18'}
hasBin: true
escalade@3.1.1:
resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==}
escalade@3.2.0:
resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==}
engines: {node: '>=6'}
escape-string-regexp@1.0.5:
@@ -1865,8 +1874,9 @@ packages:
node-fetch-native@1.6.7:
resolution: {integrity: sha512-g9yhqoedzIUm0nTnTqAQvueMPVOuIY16bqgAJJC8XOOubYFNwz6IER9qs0Gq2Xd0+CecCKFjtdDTMA4u4xG06Q==}
node-releases@2.0.13:
resolution: {integrity: sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==}
node-releases@2.0.54:
resolution: {integrity: sha512-YHs7BmmcsdAI5Ozuf8JZo6PT0mv2GIWC9vMfvUC3dp65M8hn7Ux8CPL+2oBI7juNuj9d0ndhTcznq2ODBps9cQ==}
engines: {node: '>=18'}
normalize-path@3.0.0:
resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
@@ -2392,11 +2402,11 @@ packages:
webpack:
optional: true
update-browserslist-db@1.0.13:
resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==}
update-browserslist-db@1.3.2:
resolution: {integrity: sha512-UQ+MSxlhRm1bzjhU+DcuXfjFO1FzNtqhK5+9Yvlp90ItDLk5vT932A0rFu619nf7RVS+Y/VeaUW1jaRDqZ8VJw==}
hasBin: true
peerDependencies:
browserslist: '>= 4.21.0'
browserslist: 4.28.7
uri-js@4.4.1:
resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
@@ -3435,7 +3445,7 @@ snapshots:
autoprefixer@10.4.13(postcss@8.5.26):
dependencies:
browserslist: 4.21.11
browserslist: 4.28.7
caniuse-lite: 1.0.30001539
fraction.js: 4.3.6
normalize-range: 0.1.2
@@ -3455,6 +3465,8 @@ snapshots:
balanced-match@4.0.4: {}
baseline-browser-mapping@2.11.20: {}
boolbase@1.0.0: {}
brace-expansion@5.0.9:
@@ -3465,12 +3477,13 @@ snapshots:
dependencies:
fill-range: 7.1.1
browserslist@4.21.11:
browserslist@4.28.7:
dependencies:
caniuse-lite: 1.0.30001539
electron-to-chromium: 1.4.529
node-releases: 2.0.13
update-browserslist-db: 1.0.13(browserslist@4.21.11)
baseline-browser-mapping: 2.11.20
caniuse-lite: 1.0.30001810
electron-to-chromium: 1.5.420
node-releases: 2.0.54
update-browserslist-db: 1.3.2(browserslist@4.28.7)
cac@7.0.0: {}
@@ -3491,6 +3504,8 @@ snapshots:
caniuse-lite@1.0.30001539: {}
caniuse-lite@1.0.30001810: {}
chalk@2.4.2:
dependencies:
ansi-styles: 3.2.1
@@ -3609,7 +3624,7 @@ snapshots:
tslib: 2.3.0
zrender: 6.1.0
electron-to-chromium@1.4.529: {}
electron-to-chromium@1.5.420: {}
element-plus@2.14.5(vue@3.5.42(typescript@5.9.3)):
dependencies:
@@ -3686,7 +3701,7 @@ snapshots:
'@esbuild/win32-ia32': 0.28.2
'@esbuild/win32-x64': 0.28.2
escalade@3.1.1: {}
escalade@3.2.0: {}
escape-string-regexp@1.0.5: {}
@@ -4134,7 +4149,7 @@ snapshots:
node-fetch-native@1.6.7: {}
node-releases@2.0.13: {}
node-releases@2.0.54: {}
normalize-path@3.0.0: {}
@@ -4733,11 +4748,11 @@ snapshots:
rollup: 4.63.1
vite: 7.3.6(jiti@2.7.0)(sass@1.103.1)
update-browserslist-db@1.0.13(browserslist@4.21.11):
update-browserslist-db@1.3.2(browserslist@4.28.7):
dependencies:
browserslist: 4.21.11
escalade: 3.1.1
picocolors: 1.0.0
browserslist: 4.28.7
escalade: 3.2.0
picocolors: 1.1.1
uri-js@4.4.1:
dependencies: