tsx para TypeScript: guia completo com exemplos práticos

Treinador Online de Python para Iniciantes

Aprenda Python facilmente sem sobrecarga teórica. Resolva tarefas práticas com verificação automática e escreva código diretamente no navegador.

Start Course

tsx para TypeScript: guia completo com exemplos práticos

1. O que é e para que serve

tsx é um runner moderno e de alto desempenho para TypeScript e ESM (ECMAScript Modules) que permite executar arquivos .ts, .tsx e .mts diretamente, sem necessidade de compilação prévia para JavaScript. Construído sobre o esbuild (um bundler ultrarrápido em Go), o tsx oferece uma execução praticamente instantânea de código TypeScript, tornando-se a ferramenta ideal para desenvolvimento, prototipagem, criação de scripts e testes.

Para que serve o tsx? Tradicionalmente, para executar arquivos TypeScript é necessário um processo de duas etapas: primeiro compilar o código com tsc (TypeScript Compiler) e depois executar o JavaScript resultante com Node.js. Isso torna as iterações de desenvolvimento mais lentas. O tsx resolve esse problema unindo compilação e execução em uma única etapa. Ele processa automaticamente a sintaxe TypeScript, módulos ESM, JSX e até mesmo a resolução de node_modules. Em resumo, o tsx é um substituto para o ts-node, porém muito mais rápido e moderno.

Principais vantagens do tsx em relação a alternativas: velocidade (usa o esbuild, que é de 10 a 100 vezes mais rápido que o tsc), suporte nativo a ESM (sem necessidade de configurar tsconfig.json para módulos), detecção automática da configuração TypeScript e suporte integrado ao modo --watch. O tsx é perfeito para: criar utilitários de linha de comando em TypeScript, executar testes (Jest, Vitest), desenvolver scripts de automação, prototipagem rápida e aprendizado de TypeScript.

2. Instalação

O tsx é distribuído via npm (Node Package Manager) e pode ser instalado globalmente ou localmente em um projeto. A instalação local é recomendada para isolar as dependências do projeto.

Instalação local (recomendada):

npm install --save-dev tsx

Ou usando yarn:

yarn add --dev tsx

Ou pnpm:

pnpm add --save-dev tsx

Instalação global (para acesso rápido de qualquer lugar):

npm install -g tsx

Verificando a instalação:

npx tsx --version

Após a instalação, você pode executar arquivos TypeScript com o comando npx tsx nome_do_arquivo.ts (instalação local) ou tsx nome_do_arquivo.ts (instalação global).

Importante: O tsx requer Node.js versão 18 ou superior. Para trabalhar com ESM, certifique-se de que seu package.json tenha o campo "type": "module" ou use a extensão .mts para seus arquivos.

3. Início rápido — exemplo mínimo funcional

Crie um arquivo chamado hello.ts com o seguinte conteúdo:

// hello.ts
const greet = (name: string): string => {
    return `Olá, ${name}! Bem-vindo ao mundo do tsx!`;
};

const userName: string = "PythonLib";
console.log(greet(userName));

// Usando recursos modernos do JS
const numbers: number[] = [1, 2, 3, 4, 5];
const doubled = numbers.map((n) => n * 2);
console.log("Números dobrados:", doubled);

// Código assíncrono
const fetchData = async (): Promise => {
    const data = await Promise.resolve({ id: 1, name: "Exemplo" });
    console.log("Dados assíncronos:", data);
};

fetchData();

Execute o arquivo com o comando:

npx tsx hello.ts

Saída esperada:

Olá, PythonLib! Bem-vindo ao mundo do tsx!
Números dobrados: [ 2, 4, 6, 8, 10 ]
Dados assíncronos: { id: 1, name: 'Exemplo' }

Este exemplo demonstra o funcionamento básico do tsx: ele compila automaticamente TypeScript para JavaScript, suporta

Recommendations