tsx README

The project's README from github.com/privatenumber/tsx. As one markdown file: README.md.


tsx

TypeScript Execute (tsx): The easiest way to run TypeScript in Node.js

Documentation    |    Getting started →


Already a sponsor? Join the discussion in the Development repo!

Sponsors

tsx (privatenumber/tsx)

Searching Database…

12.2K ·GitHub
Что это такое?tsx (TypeScript Execute) — это утилита командной строки, которая позволяет запускать файлы TypeScript и JSX/TSX напрямую в Node.js. Она транспилирует код на лету с помощью esbuild, без отдельного шага компиляции.
Нужно ли сначала компилировать TypeScript или tsx запускает его сразу?tsx запускает файлы .ts/.tsx (и .js/.jsx) напрямую вместо команды `node`. Он транспилирует исходный код в памяти с помощью esbuild перед выполнением, так что отдельную сборку настраивать не нужно.
Как запустить с его помощью файл TypeScript?Можно запустить разово командой `npx tsx file.ts` или добавить tsx как devDependency (`npm install --save-dev tsx`) и вызывать `tsx` там, где обычно пишете `node`.
Что ему нужно под капотом?Нужна Node.js версии 18 или новее. Единственная зависимость времени выполнения — esbuild, которая входит в состав пакета, так что для начала работы дополнительная настройка tsconfig не требуется.
Проверяет ли tsx типы в моем коде на TypeScript?Нет. Поскольку tsx полагается на esbuild ради быстрой транспиляции, а не на полноценный компилятор TypeScript, он не выполняет проверку типов. Поэтому ошибки типов не помешают коду запуститься.
Чем tsx отличается от ts-node?tsx построен на esbuild, а не на официальном компиляторе TypeScript, который использует ts-node. Благодаря этому запуск и выполнение работают заметно быстрее, но проверка типов не выполняется.
Можно ли использовать его для автоматического перезапуска во время разработки?Да, команда `tsx watch file.ts` автоматически перезапускает скрипт при изменении любой из его зависимостей. Это похоже на nodemon, но с поддержкой TypeScript и JSX из коробки.
Можно ли использовать его без изменения команды запуска?Да, tsx также может работать как хук-загрузчик для Node.js, например `node --import tsx script.ts`. Тогда он добавляет поддержку TypeScript существующему процессу Node, не заменяя исполняемый файл `node`.
What are similar projects?chokidar, nodemon, scriptc, ava, rspack, tsc-ts, bun, esbuild
Size
3 MB
Stars
12.2K
Age
4y
Commits · 90 Days