А если используется большая библиотека, но при этом есть ограничения во времени реализации? Неужели только определение типов это единственно правильное решение? Насколько я знаю typescript поддерживает 'vanilla JS'?!
Станислав Макаров, в конкретной ситуации да, но в случае большего количества библиотек, писать для каждой type definitions, как мне кажется не рационально?!
Alexey здесь вопрос не в рациональности, а в необходимости. Если вы пишете на TS, то имеет смысл иметь информацию о типах, т.к. иначе нафига вам TS. Если библиотека написана на JS, необходимой информации о типах в ней, увы, не будет. Эту информацию нужно "восстановить", что не всегда тривиально, и не всегда возможно сделать автоматически (особенно в случае плагинов к jQuery).
Конечно именно ВАМ редко приходится это делать, т.к. есть неймспейс @types в NPM-е, где, начиная с выхода TS 2.0 лежат тайпинги для всех популярных библиотек, которые эти тайпинги не поставляют самостоятельно в своём составе. К сожалению tubular не настолько популярен, чтобы кто-то написал к нему нормальные тайпинги, поэтому конкретно В ЭТОМ случае это придётся сделать вам. А вообще вы бы просто написали что-то вроде npm install @types/jquery.tubular --save-dev и всё было бы ок (см. https://www.npmjs.com/package/@types/jquery.cookie в качестве примера). Погуглите на эту тему. Что касается tubular, позже попробую вам посоветовать что с ним сделать.