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.
## Контекст
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.
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 остаётся открытым.
Слито: 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.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Контекст
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 проходят.Связано: WealthLedger/main#48, WealthLedger/frontend#127, WealthLedger/docs#60.
Диагностика 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убирают moderateglobи оставляют lowdeepmerge, но не решают minimatch без совместимого lint stack. Проверяем надёжную замену/обновление eslint-plugin-import-x; без обхода CI и--force.Docs-исправление готово и CI зелёный: WealthLedger/docs#61 (
markdownlint-cli@0.49.1+ scopedminimatch@11.0.2, 0 vulnerabilities). Frontend пока блокируется несовместимостью: последнийeslint-plugin-import-x@4.17.1(также upstream master) статически импортирует удалённый в minimatch 11makeRe; глобальный override даёт зелёный npm audit, но ломает ESLint. Перевод ESLint 10→9 + unicorn на совместимую версию также не прошёл lint. Непроверенные frontend изменения откатил; аудит без--force/отключения CI остаётся открытым.Слито: WealthLedger/docs#61, WealthLedger/frontend#128. После rebase на
developsecurity/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.