Skip to content
Latchkey

tsx vs ts-node no CI: executando TypeScript mais rápido

O ts-node executa TypeScript com a semântica completa do tsc; o tsx usa esbuild para rodar rápido, removendo tipos sem type-checking.

O ts-node roda TypeScript via o compilador do TypeScript, suportando execução completa ciente de tipos. O tsx usa esbuild para transpilar e rodar TypeScript rapidamente com suporte transparente a ESM, mas não faz type-check.

tsxts-node
Motoresbuild (rápido)tsc
Type checkingNão (só remove)Opcional (mais lento)
Suporte a ESMTransparenteFunciona (precisa de config)
Velocidade de startupMuito rápidaMais lenta
Melhor paraRodar scripts/testes rápidoExecução ciente de tipos

No CI

O tsx inicia rápido e lida com ESM com pouca config, o que é ideal para rodar scripts, tooling e testes rapidamente no CI. O ts-node pode fazer type-check conforme executa, mas isso é mais lento; a maioria dos pipelines roda um runner rápido como o tsx e uma etapa separada tsc --noEmit para segurança de tipos. Se você só precisa executar TypeScript rapidamente, o tsx é a escolha mais leve.

Type-check separado

Rode tsc --noEmit como sua própria etapa (em paralelo) para que a execução rápida não pule a segurança de tipos. Ambos rodam em managed runners; runners gerenciados mais rápidos encurtam longas passagens de type-check em bases de código grandes.

O veredito

Quer a forma mais rápida de rodar scripts e testes TypeScript: tsx, combinado com uma verificação separada tsc --noEmit. Precisa de execução ciente de tipos em uma só ferramenta: ts-node. A maioria dos pipelines separa a execução rápida do type-checking.

Guias relacionados