вот тема:
Запуск Typescript в Node js без сборки и сложных конфигов
Вот сводная, кратко объясняющая разные способы запуска
Возможность
tsx
ts-node
node --experimental-strip-types
Принцип работы
Самостоятельный транспайлер (esbuild), запускает «как есть» без отдельного tsc.
Использует компилятор TypeScript (можно esbuild/swc), но требует зависимости @swc/core или ttypescript для скорости.
Встроенный «strip-only» проход: вырезает аннотации типов и подсасывает оставшийся JS.
Поддержка ESM
«из коробки» (import, import.meta.url, package.json "type": "module").
Нужен флаг --esm или "module": "ESNext" в tsconfig + "type": "module" в package.json.
Полностью нативный ESM – работает ровно как обычный Node.
Поддерживаемые версии Node.js
16.17+ (LTS).
14+, но быстрый SWC-путь только с 18+.
22.3+ (экспериментальный флаг).
source-maps / отладка
Генерирует встроенные source maps, работает с --inspect.
Генерирует source maps, но иногда требует доп. настроек.
Source maps не выдаёт – отладка только по «обрезанному» JS.
Тип-чекинг
Нет (только транспайл).
Да, если не отключить transpileOnly.
Нет (только strip).
Итог
Самый быстрый «1-командный» способ запуска TS без компиляции.
Универсальный, но чуть сложнее в настройке и медленнее.
Почти «zero-deps», но пока экспериментален и без диагностики типов.
Особенно важно обратить внимание на ES модули, т.к они обычно встречаются в любом не helloworld коде, и tsx их нормально жует без доп. настроек. Еще важно, что node --experimental-strip-types пока не полностью поддерживает весь синтаксис ts, например enum