Нативные превью TypeScript (компилятор в 10 раз быстрее) теперь широко доступны

TypeScriptИнструментыПроизводительность

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

Команда TypeScript опубликовала широкую доступность нативных превью TypeScript (Проект Corsa). Нативно скомпилированный компилятор (распространяемый как @typescript/native-preview с исполняемым файлом под названием tsgo) и расширение "TypeScript (Native Preview)" для VS Code доступны для тестирования. Нативный порт демонстрирует стабильное ускорение примерно в 10 раз на больших реальных кодовых базах для проверки типов и предоставляет языковой сервис на основе LSP и новый API (с нативным модулем Node, libsyncrpc, для синхронных сценариев IPC). Эти превью предназначены для того, чтобы стать TypeScript 7, но в настоящее время они функционально неполны (недостающие некоторые эмиты и функции редактора).

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

  • Влияние на реальных разработчиков: время проверки типов сокращается с минут до секунд на больших монорепозиториях (в блоге демонстрируется сокращение с ~72с до ~6–7с на большой кодовой базе JSX). Это напрямую улучшает локальные циклы обратной связи, продолжительность CI-задач и продуктивность разработчиков для команд, использующих тяжелый TypeScript.
  • Практические оговорки: нативное превью в настоящее время не включает несколько функций командной строки и редактора (например, некоторые флаги, связанные с эмитом, рабочие процессы --build, автоимпорты, поиск всех ссылок и переименование все еще ожидаются). Также существуют преднамеренные различия в совместимости, связанные с некоторыми целями разрешения и понижения уровня, поскольку команда согласовывает будущие устаревания TS6/TS7.
  • Как безопасно оценить: попробуйте превью в некритических ветках и измерьте как время проверки типов, так и время CI. Используйте пакет npm preview для запуска tsgo для проверок --noEmit и установите расширение предварительного просмотра для VS Code, если хотите оценить отзывчивость редактора (расширение должно быть явно включено, пока оно все еще экспериментальное). Не переключайте производственные сборочные конвейеры на превью, если вы полагаетесь на в настоящее время отсутствующие функции эмита или сборки — вместо этого используйте его для проверки скорости и выявления любых расхождений в проверке типов на ранней стадии.
  • Последствия для инструментов и миграции: ожидайте, что авторы инструментов (линтеры, бандлеры, обновления интеграций на основе tsserver) постепенно примут API Corsa или создадут мост к нему; командам с большими кодовыми базами следует начать тестирование сейчас, предоставлять обратную связь и планировать поэтапный путь миграции, когда нативный компилятор станет стандартным (команда планирует ночные превью и в конечном итоге переименование в основной пакет typescript).

Источник

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