🔥

Тред (Александр Шушунов)


Когда я пришел на текущий проект тут был Vue и чистый (и не очень) JS. Посмотрев на то как TS встраивается в мир Vue 2, я решил что переводить проект на TS вряд ли буду.

И без это была масса проблем, которые стоило порешать. Проще было внедрить жесткий линтинг и тесты.

Но в определенный момент встала задача прикрутить клиентское кэширование. А это декораторы и адаптеры. Мне было очень больно без статической типизации.

И я начал прикручивать TS. Это оказалось очень просто! - добавляем в babel preset - дописываем ‘.ts’ рядом с ‘.js’ в конфиги вебака

Все хорошо. Но где проверка типов? В tsconfig.json можно указать "noEmit": true, и запуск tsc превращается в запуск линтера, проверяющего типы! То что надо!

Еще несколько часов гугления настроек для eslint и jest и все работает как и прежде. Но мы можем часть кода писать на ts.

Мораль. Прикрутить ts к существующему проекту - один рабочий день. Правда потом вы потратите 5 на описание типов ваших этюдов в метрогамировании. Но это будет потом )