Предварительный просмотр нативного порта TypeScript — ~10x быстрее tsc и языкового сервиса

TypeScriptИнструментыDevOps

Основное обновление

Microsoft опубликовала официальный предварительный просмотр нативного порта TypeScript (нативная реализация tsc и языкового сервиса), который демонстрирует улучшения на порядок в времени проверки типов, отзывчивости редактора и использовании памяти по сравнению с существующей реализацией на Node.js/TS. Предварительный просмотр предназначен как ранний, опциональный путь для замены текущего компилятора и языкового сервиса на основе JavaScript; инструкции по сборке и запуску, а также первоначальные бенчмарки были опубликованы вместе с анонсом.

Почему это важно

  • Обратная связь разработчиков: Крупные монорепозитории и большие проекты на TypeScript увидят значительно более короткие времена инкрементальной проверки и полной сборки, что сократит время простоя разработчиков (быстрее редактирование, быстрее сохранение) и ускорит итерации по запросам на слияние.
  • CI и затраты: Более быстрые проверки типов сокращают общее время CI и затраты на исполнителей (меньше параллельных машин или более короткие продолжительности задач). Команды с большими нагрузками по типам могут часто перемещать работу из очереди CI на более быстрые проверки перед коммитом или перед слиянием.
  • UX редактора и инструментов: Языковой сервис в редакторах (IntelliSense, переход к определению, рефакторинг) выигрывает от более низкой задержки и меньшего давления на память, улучшая DX на малоресурсных машинах и в больших рабочих пространствах.
  • Поверхность миграции: Нативный порт представлен как предварительный просмотр с приоритетом совместимости и опциональным выбором, но командам следует тщательно протестировать — различия во времени ошибок или выводе могут привести к более строгой или измененной диагностике. Планируйте поэтапный развертывание: проверяйте в CI, запускайте полный набор тестов/проверок типов и фиксируйте версии в сборочных конвейерах перед переключением.
  • Влияние на экосистему: Инструменты (пакетные менеджеры, плагины IDE, кэши сборки), которые интегрируются с API TypeScript или языковым сервисом, должны подготовиться к новой нативной реализации и проверить совместимость; анонс предоставляет рекомендации и репозиторий для экспериментов.

Источник

Читать дальше