и в конфиге указываю версию ES5 например, то всякие баблы, полифилы не нужны?
Babel не особо нужен, если не накидываете никаких кастомных плагинов. Весь код будет сконверчен в нужную версию (например, можете async функции использовать, оно само под капотом переведёт в генераторы). Полифиллы нужны, они к TS никакого отношения не имеют, вроде б.
ТС создает только хэлпер функции для транспиляции, типа функции которая делает спред. Есть опция importHelpers которая позволяет импортировать хелперы из отдельного модуля tslib, тогда размер бандла значительно уменьшится. Иначе в каждом файле будет шапка из хелпер функций и одна и та же функция может повторятся по тысяче раз в одном бандле =) Полифилы типа реализация Map, Set, Array.prototype подключаются явно отдельно от ТСа. В конфиге ТСа есть опция "lib" в которую можно написать какие тайпинги для полифилов добавить, но сами полифилы не добавляются. Бабель не нужен, если используется ТС и не используется какая-нибудь экзотика существующая в виде редкого плагина к бабелю. В ЕС5 ТС скомпилирует сам. В ТСе можно отдельно поставить опцию module в значение esnext (а таргет es5), тогда ТС не будет транспилировать импорты\экспорты в require и оставит их на откуп вэбпаку или роллапу, чтобы тот мог сделать тришейкинг.
Обсуждают сегодня