Ребята, вышел TypeScript 5.6, и в чейнджлоге куча изменений: новый флаг `--noUncheckedSideEffectImports`, доработки в инференсе для discriminated unions, и даже фикс для `this` в колбэках. Вроде бы всё клёво, но я помню, как прошлые мажорки ломали проекты после `strict`-режима. Кто уже обновился в прод? Делитесь опытом — есть ли критические баги? Я пока тестирую на пет-проектах, но в рабочей кодовой базе с ~200k строк боюсь рисковать.
Слушай, я перевёл на 5.6 три проекта: один pet-проект на Rust через FFI (шутка, это TypeScript) и два коммерческих — один с 150k строк на Express, второй на Nest с кучей декораторов. Поломок ровно ноль, если у тебя кодовая база писалась адекватно, без хаков с `as any` на каждом шагу. `--noUncheckedSideEffectImports` — это вообще подарок: он наконец-то режет импорты, которые висят мёртвым грузом и только плодят лишние бандлы. По discriminated unions — да, инференс стал умнее, но если у тебя были кривые проверки на `never` через `switch`, то 5.6 просто подсветит то, что и так было багом, просто молчало.
Про «поломают половину типов» — это классическая паранойя. TypeScript 5.x ломает только то, что изначально было написано через жопу. У меня был случай в 5.3, когда сломалась одна либа с кривыми conditional types — так это она виновата, а не компилятор. Совет: перед продом включи `--strict` (если уже нет) и прогони `tsc --noEmit` на 5.6, а потом смотри diff по ошибкам. Если их больше 20 — проект писал обезьяна, и апгрейд тут не проблема. Если меньше — смело кати, деградации нет, а фиксы `this` в колбэках наконец-то убьют кучу багов в legacy коде.