refactor: enforce strict backend typing
Enable strict TypeScript and reject non-null and definite-assignment assertions. Declare externally populated DTO fields, preserve runtime validation, and narrow values at their owners. Verified: backend verify (257 tests), unchanged OpenAPI, and 21 SQLite/HTTP tests on retry. The initial SQLite run had two timeouts; baseline HEAD passed 21 tests as well.
This commit is contained in:
@@ -35,6 +35,15 @@ threshold. `npm run test:e2e` пока не является passing gate: Prism
|
||||
engine останавливает migration до запуска Jest. Точный статус и trigger
|
||||
пересмотра находятся в [remediation registry](../docs/development/audit-remediation.md).
|
||||
|
||||
Общий `tsconfig.json` включает `strict: true` и `noFallthroughCasesInSwitch`
|
||||
для приложения, тестов и сборок. ESLint запрещает non-null assertions
|
||||
(`value!`) и definite-assignment assertions (`field!: Type`).
|
||||
Поля DTO, заполняемые вне конструктора, описываются через `declare`:
|
||||
входные значения заполняет и проверяет Nest, ответные DTO описывают форму
|
||||
возвращаемых объектов. `declare` не создаёт значение и не заменяет
|
||||
runtime-валидацию. В обычном коде нужны инициализация или сужение типа
|
||||
после проверки значения.
|
||||
|
||||
## Документация
|
||||
|
||||
- [Router conventions](.ai/CONVENTIONS.md) и [источники](.ai/SOURCES.md)
|
||||
|
||||
Reference in New Issue
Block a user