Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Para desenvolvedores que trabalham com TypeScript, testar pequenas partes do código de forma rápida e eficiente pode ser um desafio, especialmente ao usar extensões como o Code Runner no VSCode. A dificuldade aumenta quando a configuração padrão do ambiente tenta compilar arquivos considerados scripts globais, o que causa erros como o TS1208. Este artigo apresenta uma abordagem prática, passo a passo, para configurar o Code Runner de modo que ele execute snippets de TypeScript sem complicações.
Ao tentar executar um arquivo TypeScript isolado, como um trecho de código importado ou uma função específica, é comum receber erros de compilação relacionados ao modo de execução. Um erro típico é o TS1208, que indica que o arquivo está sendo tratado como script global, mas o compilador está configurado para modos mais restritivos, como '--isolatedModules'. Isso acontece porque o arquivo não possui uma exportação ou importação, fazendo com que o TypeScript o considere como um script global. A decisão fica mais saudável quando o time consegue medir o impacto depois. Sem esse critério, a solução pode parecer simples no começo e cara no suporte.
Na prática, ao executar o comando do Code Runner para rodar um arquivo TS, o compilador tenta validar o código, mas sem uma configuração adequada, acaba bloqueando a execução. Além disso, o modo de execução padrão do TypeScript no VSCode não considera o uso de interpretadores como o ts-node ou o bun, que podem facilitar a execução de snippets.
A estratégia mais efetiva é usar o runtime Bun, que trata TypeScript como primeira classe e simplifica a execução de trechos de código.
1. Instale o Bun no seu ambiente, se ainda não tiver:
curl -fsSL https://bun.sh/install | bash"code-runner.executorMap": {
"typescript": "bun $fullFileName"
}
3. Certifique-se de que o 'fullFileName' seja o caminho completo do arquivo que deseja rodar. Essa configuração faz com que o Code Runner utilize o Bun, que suporta TypeScript nativamente, evitando problemas de compilação.
4. Para garantir que o arquivo TS seja interpretado como módulo, adicione uma linha vazia com exportações ou importações no início do arquivo, se necessário:
export {}. Suponha que você tenha um arquivo 'teste.ts' assim:
import { minhaFuncao } from './utils'. console.log(minhaFuncao()). export {}. import { minhaFuncao } from './utils'. console.log(minhaFuncao()). Essa abordagem é prática para testes rápidos e snippets isolados. Para projetos maiores, mantenha o tsconfig adequado e utilize scripts de build ou dev server que suportem TypeScript de forma integrada. Além disso, o Bun ainda está em evolução, por isso, sempre valide se a versão instalada suporta suas necessidades específicas. Esse contexto ajuda a separar ganho real de novidade difícil de sustentar. A decisão fica mais saudável quando o time consegue medir o impacto depois. Sem esse critério, a solução pode parecer simples no começo e cara no suporte. O valor aparece melhor quando operação, produto e engenharia olham para o mesmo risco. Por isso, o recorte precisa considerar manutenção, validação e caminho de volta.
A configuração apresentada resolve o problema de execução de trechos de código TypeScript de forma ágil, sem perder produtividade no dia a dia de desenvolvimento. Assim, você consegue testar funções e pequenos trechos de código de forma mais fluida, evitando retrabalho e otimizando sua rotina. A decisão fica mais saudável quando o time consegue medir o impacto depois. Sem esse critério, a solução pode parecer simples no começo e cara no suporte. Sem esse critério, a solução pode parecer simples no começo e cara no suporte. Sem esse critério, a solução pode parecer simples no começo e cara no suporte. Sem esse critério, a solução pode parecer simples no começo e cara no suporte.
Seja qual for o seu fluxo, adaptar o ambiente às suas necessidades é fundamental para manter a produtividade alta, e usar o Bun como executor para o Code Runner é uma alternativa bastante prática neste cenário.
Boa, Mariana. Eu faria o mesmo, mas cuidado com versões do bun que possam não estar estáveis ainda. Recomendo testar em um ambiente separado antes de colocar em produção.
Muito útil essa dica, já tinha tentado de tudo e esse jeito com bun resolveu lindamente. Acho que valeu a pena investir no setup só pra ganhar agilidade nos testes rápidos.
No meu time, pra esses casos, eu recomendo criar scripts específicos de build ou usar um ambiente dedicado, assim evita ficar dependendo de configurações de IDE.
Eu uso o bun pra tudo, funciona bem. Mas uma dúvida: e se precisar rodar testes mais complexos que envolvem várias dependências? Aí não fica mais complicado?