TypeScript 4.5 Beta



Стала доступна бета TypeScript 4.5 и интересных изменений достаточно много. Мне больше всего приглянулись эти:



1. Поддержка компиляции в ESM и новых файловых расширений .mts и .cts. Ишью на эту тему недавно исполнилось 4 года, дождались!



2. Tail-Recursion Elimination on Conditional Types позволит увеличить глубину вычисления рекурсивных типов, потребляя при этом меньше памяти. Об этом я, пожалуй, напишу отдельно, т.к. оптимизация довольно интересная.



3. Теперь с type Modifiers on Import Names можно в рамках одного импорта указать, что нужно импортировать именно тип. Т.е. вместо

import type { BaseType } from "./some-module.js"

import { someFunc } from "./some-module.js"


использовать

import { someFunc, type BaseType } from "./some-module.js"

Меня всегда бесила необхоидмость указывать два импорта, и я прям в восторге от этого нововведения.



Все остальные изменения можете почитать в блог-посте. Ну а основной релиз 4.5 ожидается 16 ноября.