Node.js вводит экспериментальную поддержку TypeScript

Недавно в Node.js была добавлена экспериментальная возможность выполнения файлов на TypeScript. Эта новая опция активируется с помощью флага —experimental-strip-types, что означает, что Node.js будет транслировать исходный код TypeScript в JavaScript перед выполнением.

Node.js — это кроссплатформенная, асинхронная среда выполнения JavaScript с открытым исходным кодом, построенная на движке V8 от Google Chrome. Она использует событийный, неблокирующий режим ввода-вывода и позволяет выполнять JavaScript вне веб-браузера.

Причины Нововведения

Марко Ипполито, разработчик TypeScript, объяснил, почему это дополнение было добавлено:

«Возможность исполнять файлы TypeScript напрямую крайне важна для развития всей экосистемы. Пользователи просили об этом во всех опросах, и мы не можем игнорировать их запросы. Мы должны предоставить возможность запускать node foo.ts без необходимости установки дополнительных зависимостей или загрузчиков,» — сказал Марко.

По его словам, это нововведение было востребовано сообществом и может значительно упростить работу с TypeScript в Node.js, позволяя обойтись без сторонних инструментов для выполнения TypeScript-кода.

Технические Подробности

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

Будущее TypeScript в Node.js

Существует также предложение TC39 по внедрению аннотаций типов в стандарт JavaScript, что может в будущем упростить интеграцию TypeScript с Node.js и другими инструментами.

Версию Node.js 22, включающую это экспериментальное нововведение, можно загрузить уже сейчас.

Читайте также
Дайджест новостей по Java
Дайджест новостей по Java
Дайджест новостей по Java

В обзоре обновления OpenJDK, JDK 22, Azul Code Inventory, Spring Shell 3.1.4, 3.0.8 и 2.1.13, Testcontainers 1.19.1.

Browserling добавила 20 новых инструментов для работы с JPG
Browserling добавила 20 новых инструментов для работы с JPG
Browserling добавила 20 новых инструментов для работы с JPG

Среди новых инструментов: наложение водяного знака в формате jpg, удаление фона, создание JPG для социальных сетей и другие.

Dev новости: SolidStart и выпуск Next.js 15
Dev новости: SolidStart и выпуск Next.js 15
Dev новости: SolidStart и выпуск Next.js 15

Райан Карниато, создатель Solid, признался, что не является поклонником метафреймворков. Однако 21 мая он представил SolidStart, метафреймворк для создания приложений на Solid. Карниато отметил, что SolidStart предназначен для «строителей и людей с собственным мнением» и подчеркнул, что это не последний фреймворк на основе Solid. Уже сейчас появляются новые метафреймворки, построенные на SolidStart, такие как CreateJDApp и MediaKit.

Dev новости: React 19, Bun приходит в Angular и GitHub AI Fund
Dev новости: React 19, Bun приходит в Angular и GitHub AI Fund
Dev новости: React 19, Bun приходит в Angular и GitHub AI Fund

React 19 вот-вот выйдет, спустя два года после выхода предыдущей версии, а еще обновления Angular и Astro, а также фонд искусственного интеллекта на GitHub.