Skip to content

[Feature] Заменить abandoned rakit/validation #342

Description

@Ibochkarev

Описание функции

Убрать зависимость rakit/validation v1.4.0 (последний релиз ~2020, фактически unmaintained) и перейти на поддерживаемый валидатор.

Проблема, которую решает

Валидация входных данных — security-adjacent. Пакет без апстрим-фиксов. Composer иначе относительно свежий (Intervention 3, Phinx 0.16, Symfony 7.4) — rakit выбивается.

Предлагаемое решение

  1. Найти все использования Rakit в src/.
  2. Выбрать замену с близким DX (например Symfony Validator уже тянется транзитивно, или тонкий собственный слой правил для API DTO).
  3. Один адаптер Validation в Services — callers не знают вендора.
  4. Миграция без изменения публичных сообщений ошибок (лексиконы сохранить).

Code judo: не размазывать new Validator по контроллерам — один canonical helper.

Альтернативные варианты

  • Оставить rakit и vendor-patch — долг растёт.
  • Писать правила вручную в каждом контроллере — хуже.

Критерии приёмки

  • rakit/validation удалён из composer.json / lock.
  • Поведение валидации API без регрессий (тесты на ключевые endpoints/services).
  • Нет прямых import Rakit вне адаптера (если адаптер нужен).

Дополнительный контекст

Источник: аудит техдолга Jul 2026.

Metadata

Metadata

Assignees

Labels

dependenciesPull requests that update a dependency fileenhancementNew feature or requestpriority: mediumСредний приоритетtech-debtMaintainability / refactor / architecture debt

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions