Устранить новые npm audit advisories в dev-зависимостях frontend и docs перед merge main#48 #49

Closed
opened 2026-11-01 18:17:30 +03:00 by codex-bot · 3 comments
Owner

Контекст

Security checks PR WealthLedger/frontend#127 и WealthLedger/docs#60 падают на npm audit (новые GHSA). Эти же версии уже присутствуют на develop; PR не изменяют manifest/lockfile. Из-за required CI невозможно безопасно завершить связанную поставку WealthLedger/main#48.

Результат

Совместимое обновление/точечное переопределение транзитивных dev-зависимостей в frontend и docs, без --force, отключения checks или изменения продуктового поведения.

Acceptance Criteria

  • npm audit --include=dev --audit-level=moderate проходит во frontend.
  • npm audit --include=dev --audit-level=low проходит в docs.
  • npm ci, локальные npm run verify и обязательные security/verify checks на финальных PR SHA проходят.
  • Точные версии и lockfiles согласованы; изменения минимальны и объясняют совместимость зависимости, в том числе minimatch и deepmerge.

Связано: WealthLedger/main#48, WealthLedger/frontend#127, WealthLedger/docs#60.

## Контекст Security checks PR WealthLedger/frontend#127 и WealthLedger/docs#60 падают на `npm audit` (новые GHSA). Эти же версии уже присутствуют на `develop`; PR не изменяют manifest/lockfile. Из-за required CI невозможно безопасно завершить связанную поставку WealthLedger/main#48. ## Результат Совместимое обновление/точечное переопределение транзитивных dev-зависимостей в frontend и docs, без `--force`, отключения checks или изменения продуктового поведения. ## Acceptance Criteria - [ ] `npm audit --include=dev --audit-level=moderate` проходит во frontend. - [ ] `npm audit --include=dev --audit-level=low` проходит в docs. - [ ] `npm ci`, локальные `npm run verify` и обязательные security/verify checks на финальных PR SHA проходят. - [ ] Точные версии и lockfiles согласованы; изменения минимальны и объясняют совместимость зависимости, в том числе minimatch и deepmerge. Связано: WealthLedger/main#48, WealthLedger/frontend#127, WealthLedger/docs#60.
codex-bot added the
Priority
Medium
3
label 2026-11-01 18:17:30 +03:00
Author
Owner

Диагностика 2026-11-01: docs достаточно точечного override markdownlint-cli@0.49.1 -> minimatch@11.0.2 (npm ci, npm audit --audit-level=low, npm run verify пройдены). Во frontend безопасный minimatch@11 убирает advisory, но eslint-plugin-import-x@4.17.1 импортирует удалённый экспорт makeRe; ESLint ломается. glob@14.0.3 + vite-plugin-pwa@2.0.0 убирают moderate glob и оставляют low deepmerge, но не решают minimatch без совместимого lint stack. Проверяем надёжную замену/обновление eslint-plugin-import-x; без обхода CI и --force.

Диагностика 2026-11-01: docs достаточно точечного override `markdownlint-cli@0.49.1 -> minimatch@11.0.2` (`npm ci`, `npm audit --audit-level=low`, `npm run verify` пройдены). Во frontend безопасный `minimatch@11` убирает advisory, но `eslint-plugin-import-x@4.17.1` импортирует удалённый экспорт `makeRe`; ESLint ломается. `glob@14.0.3` + `vite-plugin-pwa@2.0.0` убирают moderate `glob` и оставляют low `deepmerge`, но не решают minimatch без совместимого lint stack. Проверяем надёжную замену/обновление eslint-plugin-import-x; без обхода CI и `--force`.
Author
Owner

Docs-исправление готово и CI зелёный: WealthLedger/docs#61 (markdownlint-cli@0.49.1 + scoped minimatch@11.0.2, 0 vulnerabilities). Frontend пока блокируется несовместимостью: последний eslint-plugin-import-x@4.17.1 (также upstream master) статически импортирует удалённый в minimatch 11 makeRe; глобальный override даёт зелёный npm audit, но ломает ESLint. Перевод ESLint 10→9 + unicorn на совместимую версию также не прошёл lint. Непроверенные frontend изменения откатил; аудит без --force/отключения CI остаётся открытым.

Docs-исправление готово и CI зелёный: WealthLedger/docs#61 (`markdownlint-cli@0.49.1` + scoped `minimatch@11.0.2`, 0 vulnerabilities). Frontend пока блокируется несовместимостью: последний `eslint-plugin-import-x@4.17.1` (также upstream master) статически импортирует удалённый в minimatch 11 `makeRe`; глобальный override даёт зелёный npm audit, но ломает ESLint. Перевод ESLint 10→9 + unicorn на совместимую версию также не прошёл lint. Непроверенные frontend изменения откатил; аудит без `--force`/отключения CI остаётся открытым.
Author
Owner

Слито: WealthLedger/docs#61, WealthLedger/frontend#128. После rebase на develop security/verify CI зелёные у WealthLedger/frontend#127 и WealthLedger/docs#60. Остаток: 4 low (deepmerge через workbox-build, upstream-фикса нет; ниже порога CI moderate). Шим scripts/minimatch-compat удалить, когда eslint-plugin-import-x поддержит minimatch 11.

Слито: WealthLedger/docs#61, WealthLedger/frontend#128. После rebase на `develop` security/verify CI зелёные у WealthLedger/frontend#127 и WealthLedger/docs#60. Остаток: 4 low (deepmerge через workbox-build, upstream-фикса нет; ниже порога CI moderate). Шим `scripts/minimatch-compat` удалить, когда eslint-plugin-import-x поддержит minimatch 11.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: WealthLedger/main#49