fix(deps/mera): 6 уязвимых пакетов во фронт-локе — пересборка без правки package.json #3220

Closed
lekss361 wants to merge 0 commits from fix/deps-mera-frontend-cve into main
Owner

npm update --package-lock-only в tradein-mvp/frontend: package.json не тронут, все диапазоны прежние — обновился только резолв внутри них. Диff — один файл, package-lock.json.

Что закрыто

OSV по локу: 6 уязвимых версий → 4.

пакет было → стало GHSA
sharp 0.34.5 → 0.35.4 GHSA-f88m-g3jw-g9cj
nanoid 3.3.17 → 3.3.18 GHSA-2v37-7h3g-55p8

Заодно подтянулось в тех же диапазонах (без CVE): next/@next/* 15.5.23 → 15.5.24, js-yaml 4.3.1 → 4.3.2, @tanstack/react-query 5.101.4 → 5.102.8, @typescript-eslint/* 8.66.0 → 8.68.0, rollup 4.62.4 → 4.63.1, @testing-library/react 16.3.2 → 16.3.3, ws 8.21.2 → 8.21.3.

Остаток (4) — диапазонами не чинится

  • postcss 8.4.31 — вендорится внутри next/node_modules, нашим локом не управляется.
  • vitest 2.1.9 → vite 5.4.21 → esbuild 0.21.5 — dev-цепочка, лечится только мажором vitest 2 → 3.2.6+.
    GHSA-5xrq-8626-4rwp (CRITICAL) при этом неприменим: @vitest/ui не установлен, скриптов с --ui нет.

Вынесено в отдельную задачу — сюда мажор vitest не тащу, это отдельный диапазон риска.

Приёмка (локально, node 26)

  • npm ci --legacy-peer-deps — 566 пакетов, ok
  • npm run build — ok, весь роут-набор собрался
  • npm run test — 66 passed, 2 failed (LoginPage 429/401)

Два падения не от апдейта: те же 2 теста падают ровно так же на старом локе (проверено откатом лока + npm ci + прогоном того же файла). Локальный node 26 против node 20 в CI; гейт — CI.

Про «даунгрейды» в диффе

Хойстинг, не понижение: picomatch 2.3.2 переехал из micromatch/node_modules/ наверх, а 4.0.5 → 4.0.7 ушёл под tinyglobby/ вместе с fdir 6.5.0. Реального понижения версий нет.

NB: локальный npm 12 требует --allow-remote=all даже при --package-lock-only (ничего не ставится, только резолв). В CI npm 10 — там ограничения нет.

`npm update --package-lock-only` в `tradein-mvp/frontend`: `package.json` не тронут, все диапазоны прежние — обновился только резолв внутри них. Диff — один файл, `package-lock.json`. ## Что закрыто OSV по локу: **6 уязвимых версий → 4**. | пакет | было → стало | GHSA | |---|---|---| | sharp | 0.34.5 → 0.35.4 | GHSA-f88m-g3jw-g9cj | | nanoid | 3.3.17 → 3.3.18 | GHSA-2v37-7h3g-55p8 | Заодно подтянулось в тех же диапазонах (без CVE): `next`/`@next/*` 15.5.23 → 15.5.24, `js-yaml` 4.3.1 → 4.3.2, `@tanstack/react-query` 5.101.4 → 5.102.8, `@typescript-eslint/*` 8.66.0 → 8.68.0, `rollup` 4.62.4 → 4.63.1, `@testing-library/react` 16.3.2 → 16.3.3, `ws` 8.21.2 → 8.21.3. ## Остаток (4) — диапазонами не чинится - `postcss` 8.4.31 — вендорится **внутри** `next/node_modules`, нашим локом не управляется. - `vitest` 2.1.9 → `vite` 5.4.21 → `esbuild` 0.21.5 — dev-цепочка, лечится только мажором `vitest` 2 → 3.2.6+. GHSA-5xrq-8626-4rwp (CRITICAL) при этом **неприменим**: `@vitest/ui` не установлен, скриптов с `--ui` нет. Вынесено в отдельную задачу — сюда мажор `vitest` не тащу, это отдельный диапазон риска. ## Приёмка (локально, node 26) - `npm ci --legacy-peer-deps` — 566 пакетов, ok - `npm run build` — ok, весь роут-набор собрался - `npm run test` — 66 passed, 2 failed (`LoginPage` 429/401) Два падения **не от апдейта**: те же 2 теста падают ровно так же на старом локе (проверено откатом лока + `npm ci` + прогоном того же файла). Локальный node 26 против node 20 в CI; гейт — CI. ## Про «даунгрейды» в диффе Хойстинг, не понижение: `picomatch` 2.3.2 переехал из `micromatch/node_modules/` наверх, а 4.0.5 → 4.0.7 ушёл под `tinyglobby/` вместе с `fdir` 6.5.0. Реального понижения версий нет. NB: локальный npm 12 требует `--allow-remote=all` даже при `--package-lock-only` (ничего не ставится, только резолв). В CI npm 10 — там ограничения нет.
Author
Owner

Дубликат: этот коммит уже в main — смержен как #3211 с той же ветки. Локальная ветка оказалась протухшей (осталась после мержа #3211), запушена повторно по ошибке.

Продолжение (мажор vitest 2 → 3, снимающий остаток dev-цепочки vite/esbuild) тоже уже в main: #3216 (mera) и #3218 (site-finder).

Закрываю, ветку удаляю.

Дубликат: этот коммит уже в `main` — смержен как #3211 с той же ветки. Локальная ветка оказалась протухшей (осталась после мержа #3211), запушена повторно по ошибке. Продолжение (мажор `vitest` 2 → 3, снимающий остаток dev-цепочки `vite`/`esbuild`) тоже уже в `main`: #3216 (mera) и #3218 (site-finder). Закрываю, ветку удаляю.
lekss361 closed this pull request 2026-08-29 11:24:49 +00:00
All checks were successful
CI Trade-In / changes (pull_request) Successful in 14s
CI / changes (pull_request) Successful in 15s
CI Trade-In / backend-tests (pull_request) Has been skipped
CI Trade-In / browser-tests (pull_request) Has been skipped
CI Trade-In / frontend-checks (pull_request) Has been skipped
CI / backend-tests (pull_request) Has been skipped
CI / frontend-tests (pull_request) Has been skipped
CI / openapi-codegen-check (pull_request) Has been skipped

Pull request closed

Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: lekss361/gendesign#3220
No description provided.