Вишла preview версія TypeScript Native

💡 Усі статті, обговорення, новини про Front-end — в одному місці. Приєднуйтесь до Front-end спільноти!

Команда розробників TypeScript представила попередні версії нового нативного компілятора — TypeScript Native. Спробувати його можна вже зараз, встановивши через npm:

npm install -D @typescript/native-preview

Основні можливості

Новий інструмент tsgo виконує ті ж функції, що й звичний tsc, — компілює код та перевіряє типи. Він уже здатен обробляти повноцінні проєкти:

npx tsgo --project ./src/tsconfig.json

У майбутньому tsgo планують перейменувати на tsc і зробити його частиною офіційного пакета TypeScript.

Для користувачів Visual Studio Code також доступне спеціальне розширення — TypeScript (Native Preview), яке можна знайти у Visual Studio Marketplace.

Оскільки розширення перебуває на етапі активної розробки, воно поки що працює разом із вбудованим розширенням TypeScript у VS Code. Тому після встановлення його потрібно окремо увімкнути.

Щоб зробити це, треба відкрити палітру команд у VS Code (Ctrl+Shift+P) і знайти команду:

 "TypeScript Native Preview: Enable (Experimental) 

Якщо зручніше — це можна зробити й через інтерфейс налаштувань, увімкнувши опцію:

“TypeScript > Experimental: Use Tsgo”. 

"Use tsgo" in the VS Code Settings UI

А для тих, хто звик усе налаштовувати вручну, достатньо додати в settings.json такий рядок:

"typescript.experimental.useTsgo": true

Обмеження preview-версії

Як і будь-яка preview версія, TypeScript Native наразі має певні обмеження:

  • Відсутня підтримка --build, --declaration та старих цільових версій JavaScript
  • Функції редактора (автоімпорт, пошук посилань, перейменування) поки що не реалізовані

Підтримка JSX і JavaScript

Одним із головних оновлень стала повноцінна підтримка JSX. Якщо раніше tsgo просто ігнорував JSX-синтаксис, то тепер він його аналізує. Наприклад, у великому проєкті (такому як кодова база Sentry) час перевірки скоротився з 72 секунд до 6,7 — тобто більш ніж у 10 разів.

Також додано підтримку JavaScript з JSDoc-коментарями. Підхід до типізації у цьому режимі був оновлений, щоб уникнути технічного боргу, що накопичився у класичному компіляторі.

LSP та редакторські функції

Розробники поступово переносять інструменти редактора у нову LSP-архітектуру. Уже працюють діагностика, перехід до визначення, підказки (hover) та автодоповнення. У планах — додати перейменування, пошук усіх згадок (find-all-references) та допомогу з підписами функцій (signature help).

Взаємодія з Node.js та API

Для інтеграції з Node.js був створений модуль на Rust — libsyncrpc. Він дозволяє синхронно взаємодіяти з процесом TypeScript навіть з Node-середовища.

Подальші кроки

Розробники планують випустити стабільну версію до кінця року, а поки закликають спробувати попередній реліз, поділитися своїми враженнями та залишити відгуки, аби допомогти вдосконалити продукт.

А як вам новий TypeScript Native? Відчули приріст швидкості?

👍ПодобаєтьсяСподобалось2
До обраногоВ обраному0
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Підписатись на коментарі