Команда Angular представила бета-версию компилятора для перехода на TypeScript 7

Команда Angular представила бета-версию компилятора для перехода на TypeScript 7

Изображение: OpenAI

Разработчики Angular выпустили бета-версию Angular Preprocessor (ngp) для перехода на TypeScript 7, в котором Microsoft удалила API, необходимый прежнему компилятору ngc. Как сообщает InfoQ, этап анализа исходного кода переписали на Rust, а существующий компилятор шаблонов на TypeScript сохранили.

В тестах Ninja Squad на трёх проектах с 15–1714 компонентами ngp ускорил холодную сборку в 2–3 раза по сравнению с ngc. На крупнейшем проекте потребление памяти снизилось с 2,8 до 1,4 ГБ.

Прежний компилятор использовал ts.Transformer для преобразования декораторов Angular в исполняемые инструкции. Этап анализа в ngp построили на Oxc — наборе инструментов VoidZero, который также лежит в основе Vite. Компиляцию отделили от API TypeScript: проверку типов и генерацию JavaScript теперь могут выполнять независимые инструменты.

Кристофер Холдер из push-based.io написал для ngp плагин vite-plugin-ngp, который компилирует файлы Angular по запросу. На проекте Super Productivity правки шаблонов применялись за 112 мс вместо полной перезагрузки за 2,6 секунды при использовании ng serve. При этом автор плагина предупреждает, что тот пока остаётся прототипом, как и сам ngp, и привязан к версии 22.3.0-next.2.

Внедрение ngp ожидается в одном из минорных выпусков Angular 22 после того, как TypeScript 7.1 вернёт API компилятора. До этого для выпуска приложений следует использовать ngc, а командам, которые работают с более старыми версиями Angular, нужно сначала обновиться до v20 или выше по стандартному руководству.

Сергей
Автор: Сергей
Пишу о кибербезопасности и информационных технологиях на простом и понятном языке
Комментарии:

Как мы обрабатываем данные: политика обработки персональных данных