Вишла preview версія TypeScript Native
Команда розробників 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”.
А для тих, хто звик усе налаштовувати вручну, достатньо додати в 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? Відчули приріст швидкості?
Немає коментарів
Додати коментар Підписатись на коментаріВідписатись від коментарів