Что это такое?
tsx - инструмент для запуска TypeScript-файлов в Node.js без отдельной ручной компиляции через tsc.
Он полезен для:
- локальных скриптов;
- миграций;
- seed-скриптов;
- CLI;
- разработки backend-приложений;
- одноразовых maintenance-задач.
Установка
pnpm add -D tsx typescriptЗапуск файла
pnpm tsx scripts/seed.tsWatch mode
pnpm tsx watch src/index.tspackage.json
{
"scripts": {
"dev": "tsx watch src/index.ts",
"seed": "tsx scripts/seed.ts"
}
}Когда использовать
tsx удобно использовать в разработке и для скриптов. Для production-сборки чаще оставляют отдельный шаг tsc, tsup, esbuild или фреймворковый build.
Плюсы
- простой запуск TypeScript в Node.js;
- удобный watch mode;
- не требует отдельной dev-сборки для скриптов.
Минусы
- не заменяет
tsc --noEmitдля проверки типов; - не является полноценным production bundler;
- в больших backend-проектах всё равно нужен отдельный build pipeline.
Когда использовать
- нужны seed-скрипты, миграции, CLI и локальные задачи;
- backend хочется запускать напрямую из TypeScript в dev;
- production-сборка выполняется отдельным инструментом.