Angular теперь поддерживает TypeScript isolatedModules начиная с версии Angular 18.2. Благодаря этой поддержке мы сможем заметить увеличение производительности до 10% во времени сборки для production на своих проектах.

Разработчики всегда заинтересованы в улучшении производительности и в этом материале опишу, как можно воспользоваться этой функцией на проектах.

Как isolatedModules работает?

При использовании сборщика приложений в Angular-приложении и включенной опции TypeScript - isolatedModules, а также отключенных sourcemaps для скриптов, код TypeScript будет транспилироваться через бандлер вместо текущего поведения, использующего TypeScript. Использование опции isolatedModules гарантирует, что код TypeScript может быть безопасно транспилирован без необходимости использования проверки типов.

Как настроить?

Чтобы включить эту функцию в вашем проекте, обновите файл конфигурации TypeScript вашего проекта, обычно tsconfig.json, чтобы включить isolatedModules: true в секцию compilerOptions:

"compilerOptions": {
  ...
  "isolatedModules": true
}

Примечание: для обеспечения оптимального размера выходного кода в этой настройке опция TypeScript useDefineForClassFields должна быть либо удалена, либо установлена в true, что включает поведение, соответствующее стандарту ECMAScript.

Чтобы узнать больше о функции isolatedModules в TypeScript, ознакомьтесь с документацией.

Кто уже успел познакомится с isolatedModules, делитесь своими мыслями в комментариях.