[P1] 13. Разобрать конкретные спорные backend dependencies #4

Closed
opened 2026-09-13 15:33:33 +03:00 by codex-bot · 1 comment
Owner

Источник: локальный todo/wealthledger-engineering-improvements.md, пункт 13, анализ от 13.09.2026. Исходные критерии приведены ниже, чтобы issue не зависела от наличия локального TODO.

Что осталось сделать

13. Разобрать конкретные спорные backend dependencies. Размер: S/M. Владелец: backend.

Проверить прямое и tooling-использование source-map-support, включая сборку,
debug и stack traces, прежде чем удалять. ts-node уже используется в
test:debug; отсутствие production import не делает его неиспользуемым.
Для class-transformer проверить DTO/validation compatibility и advisories;
давность релиза не доказывает уязвимость или необходимость замены.
Готово, когда: ненужная прямая dependency удалена либо сохранена с понятной
текущей ролью; install/build/debug и затронутые DTO tests не сломаны. Замена
работающей библиотеки только ради возраста не выполняется.
Основание: A, с. 8, 15, 29; B, с. 13–14.

Основание текущего статуса

package.json содержит verify, изолированные test:e2e/test:sqlite и test:openapi-contract. Prisma config исключает унаследованный RUST_LOG. Пункты 03, 10, 11, 12 и 14.backend уже закрыты; их не нужно реализовывать заново.

Проверка 13.09.2026: статическая сверка текущих файлов и remediation registry; через MCP проверены репозитории, issues, ветки и Actions workflows. Все пять main-веток имеют protected=false, список workflows пуст, существующих issues не найдено. Внешние CI, server-side updater, история секретов и свежий npm audit этой сверкой не проверялись; полные application gates повторно не запускались.

Проверяемая revision backend: 197ffe21368b337f27d27c22e473570258ebdc3b.

Remediation registry остаётся владельцем статусов audit findings. Создание issue не означает выполнение или изменение статуса finding. Закрыть после проверки критериев и ссылки на фактические результаты.

<!-- wealthledger-engineering-improvements:backend:13 --> Источник: локальный `todo/wealthledger-engineering-improvements.md`, пункт 13, анализ от 13.09.2026. Исходные критерии приведены ниже, чтобы issue не зависела от наличия локального TODO. ## Что осталось сделать **13. Разобрать конкретные спорные backend dependencies.** Размер: S/M. Владелец: backend. Проверить прямое и tooling-использование `source-map-support`, включая сборку, debug и stack traces, прежде чем удалять. `ts-node` уже используется в `test:debug`; отсутствие production import не делает его неиспользуемым. Для `class-transformer` проверить DTO/validation compatibility и advisories; давность релиза не доказывает уязвимость или необходимость замены. **Готово, когда:** ненужная прямая dependency удалена либо сохранена с понятной текущей ролью; install/build/debug и затронутые DTO tests не сломаны. Замена работающей библиотеки только ради возраста не выполняется. **Основание:** A, с. 8, 15, 29; B, с. 13–14. ## Основание текущего статуса [package.json](https://git.personal.ksv741.ru/WealthLedger/backend/src/commit/197ffe21368b337f27d27c22e473570258ebdc3b/package.json) содержит verify, изолированные test:e2e/test:sqlite и test:openapi-contract. [Prisma config](https://git.personal.ksv741.ru/WealthLedger/backend/src/commit/197ffe21368b337f27d27c22e473570258ebdc3b/prisma.config.ts) исключает унаследованный RUST_LOG. Пункты 03, 10, 11, 12 и 14.backend уже закрыты; их не нужно реализовывать заново. Проверка 13.09.2026: статическая сверка текущих файлов и remediation registry; через MCP проверены репозитории, issues, ветки и Actions workflows. Все пять main-веток имеют protected=false, список workflows пуст, существующих issues не найдено. Внешние CI, server-side updater, история секретов и свежий npm audit этой сверкой не проверялись; полные application gates повторно не запускались. Проверяемая revision backend: `197ffe21368b337f27d27c22e473570258ebdc3b`. [Remediation registry](https://git.personal.ksv741.ru/WealthLedger/docs/src/commit/7bc8792b9853768734066c31a323b70886d73a23/development/audit-remediation.md) остаётся владельцем статусов audit findings. Создание issue не означает выполнение или изменение статуса finding. Закрыть после проверки критериев и ссылки на фактические результаты.
Author
Owner

[Refactor] Audit supplement — unused direct compiler dependencies

Исходные пользовательские criteria/решения выше сохраняются; актуальная audit priority P2. Эта существующая задача повторно используется, дубль не создан.

Problem

ts-loader удерживает required Webpack peer/minimizer/Terser branch, хотя Nest configured builder tsc; direct source-map-support не имеет project import/preload. ts-node/tsconfig-paths нужны test:debug; class-transformer runtime validation нужен и не удаляется по возрасту.

Expected Behavior

Удалены только реально ненужные direct dev declarations, retained consumers/debug/assets работают.

Evidence

Audit date 2026-10-11; 12, DEPS-002. Revision 0ad84ff4f0b4712abc7e69dc299856f14af6eadd; Confidence High configured consumer graph; Verification status static/npm graph inspected, future lock closure unverified.
Affected: package.json:98–104; nest-cli.json:1–10; lock:13998–14009,14287–14310; CLI tsc/webpack branch referenced in report.

Scope

In scope

Current external/manual Webpack consumer check; remove two direct declarations with normal lock resolution.

Out of scope

Manual transitive node deletion, bare tsc replacement, removal ts-node/Prisma CLI/class-transformer, forced peers.

Proposed Approach

Normal package-manager change. Necessary transitive source-map-support может остаться; число удалённых nodes не обещать до re-resolution.

Acceptance Criteria

  • ts-loader/direct source-map-support удалены либо real supported consumer обоснован; existing original dependency questions имеют explicit disposition.
  • Clean install/npm ls/audit без peer обходов; resolved remaining Webpack consumers объяснены.
  • Nest dist layout/proto assets/watch/debug и DTO validation прежние.

Verification

Existing backend verify/isolated e2e, approved disposable watch/debug + npm explain; no live DB/secret inputs.

Dependencies

Нет; SQLite driver alignment отдельный native-boundary outcome.

Traceability

Campaign WealthLedger/main#23 . Finding DEPS-002. Repository WealthLedger/backend; T16.

<!-- wealthledger-audit:2026-10-11:backend-unused-compiler-deps --> # [Refactor] Audit supplement — unused direct compiler dependencies Исходные пользовательские criteria/решения выше сохраняются; актуальная audit priority P2. Эта существующая задача повторно используется, дубль не создан. ## Problem ts-loader удерживает required Webpack peer/minimizer/Terser branch, хотя Nest configured builder tsc; direct source-map-support не имеет project import/preload. ts-node/tsconfig-paths нужны test:debug; class-transformer runtime validation нужен и не удаляется по возрасту. ## Expected Behavior Удалены только реально ненужные direct dev declarations, retained consumers/debug/assets работают. ## Evidence Audit date `2026-10-11`; [12](https://git.personal.ksv741.ru/WealthLedger/main/src/commit/d07fbfabb1295780952a554185989d2d5b5c8349/audits/2026-10-11/reports/12-dependencies-and-configuration-report.md), DEPS-002. Revision `0ad84ff4f0b4712abc7e69dc299856f14af6eadd`; Confidence High configured consumer graph; Verification status static/npm graph inspected, future lock closure unverified. Affected: [package.json:98–104](https://git.personal.ksv741.ru/WealthLedger/backend/src/commit/0ad84ff4f0b4712abc7e69dc299856f14af6eadd/package.json#L98-L104); nest-cli.json:1–10; lock:13998–14009,14287–14310; CLI tsc/webpack branch referenced in report. ## Scope ### In scope Current external/manual Webpack consumer check; remove two direct declarations with normal lock resolution. ### Out of scope Manual transitive node deletion, bare tsc replacement, removal ts-node/Prisma CLI/class-transformer, forced peers. ## Proposed Approach Normal package-manager change. Necessary transitive source-map-support может остаться; число удалённых nodes не обещать до re-resolution. ## Acceptance Criteria - [ ] ts-loader/direct source-map-support удалены либо real supported consumer обоснован; existing original dependency questions имеют explicit disposition. - [ ] Clean install/npm ls/audit без peer обходов; resolved remaining Webpack consumers объяснены. - [ ] Nest dist layout/proto assets/watch/debug и DTO validation прежние. ## Verification Existing backend verify/isolated e2e, approved disposable watch/debug + npm explain; no live DB/secret inputs. ## Dependencies Нет; SQLite driver alignment отдельный native-boundary outcome. ## Traceability Campaign https://git.personal.ksv741.ru/WealthLedger/main/issues/23 . Finding DEPS-002. Repository WealthLedger/backend; T16.
codex-bot added this to the Technical Audit Remediation — 2026-10-11 milestone 2026-10-11 21:54:43 +03:00
codex-bot added the Kind/Enhancement
Priority
Medium
3
audit/2026-10-11
labels 2026-10-11 21:55:07 +03:00
renovate-bot was assigned by hermes-agent 2026-10-12 00:04:34 +03:00
hermes-agent added this to the WealthLedger — Delivery Board project 2026-10-12 00:04:34 +03:00
hermes-agent added Kind/Dependencies and removed Kind/Enhancement labels 2026-10-12 00:04:34 +03:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: WealthLedger/backend#4