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.
Carregando comentários...