Como o TypeScript sofre em escala com tRPC
Descubra como a performance do TypeScript impacta projetos grandes com inferência profunda de tipos e como a comunidade está lidando com isso.
Por que isso é importante
Grandes projetos que usam TypeScript até o limite de sua inferência enfrentam sérias limitações de performance, tornando o desenvolvimento frustrante e improdutivo. Compreender esses gargalos é essencial para escalar aplicações modernas com segurança, produtividade e velocidade.
O amor pelo TypeScript vem com um preço
TypeScript é incrível para segurança de tipos e experiência de desenvolvimento, mas à medida que os projetos crescem — especialmente com ferramentas como tRPC — conhecer suas limitações de performance se torna crítico.
O problema não é o tempo de execução
Diferente do que muitos imaginam, a lentidão não vem do run time como no Node ou Bun, mas sim no Language Server Protocol (LSP) do TypeScript — o coração por trás da experiência de autocomplete, erros e refactors em tempo real no editor.
tRPC: o sonho que pesa
Com tRPC, front-end e back-end compartilham tipos automaticamente graças à inferência nativa do TypeScript, mas essa mágica esbarra em limites reais de performance à medida que a base cresce.
Como a inferência extrema afeta tudo
Cada vez que você altera um tipo em um endpoint, o TypeScript precisa reinferir toda a cadeia: input, retorno, validações, consumidor no front — e isso vira um problema de complexidade ao estilo O(n²) numa base com centenas de rotas.
⚠️Atenção
O uso intensivo de inferência pode causar travamentos frequentes do tsserver, obrigando o reinício manual do servidor de linguagem e impactando diretamente a produtividade do time.
Uma auditoria de verdade
Para investigar a fundo, o time contratou um especialista em performance de TypeScript. O objetivo: entender como o tRPC burla os limites do compilador e por que isso afeta tantas ferramentas modernas baseadas em inferência.
O que foi descoberto
A investigação revelou gargalos profundos no design interno do tsserver — problemas que agora começaram a ser resolvidos com mudanças no próprio compilador, já disponíveis no beta do TypeScript 5.9.
✅Boas notícias
As melhorias no TypeScript 5.9 prometem grandes ganhos de performance na validação e inferência de tipos profundos no editor, mesmo em bases grandes como as do T3Stack.
Mas e a segurança das APIs?
Além da performance, surge outro desafio: proteger endpoints que usam IA ou recursos sensíveis de consumo — especialmente com bots tentando explorar esses pontos gerando gastos.
❌Atenção com bots e IA
Se seus endpoints de IA estão desprotegidos, bots podem gerar milhares de requisições e consumir recursos muito caros — prejudicando financeiramente sua aplicação.
Conheça a ArcJet
ArcJet foi criada por desenvolvedores para desenvolvedores. Ao invés de painéis distantes do código, ela integra-se diretamente ao ambiente de desenvolvimento, permitindo proteção de endpoints, limites de taxa e validação local via WebAssembly.
ℹ️Dica técnica
Evite definir tipos de retorno manualmente em funções tRPC — isso atrapalha a inferência. Deixe o TypeScript deduzir os tipos automaticamente sempre que possível.
Para quem usa o T3Stack
Se você utiliza o T3Chat ou qualquer projeto baseado no T3Stack com tRPC, vale a pena aplicar essas otimizações imediatamente. O ganho em responsividade no editor já deve ser perceptível.
A beleza do tRPC continua
Apesar dos desafios de performance, o modelo de desenvolvimento com inferência de tipos ponta a ponta do tRPC ainda é revolucionário — e com os ajustes certos, agora ele também é viável em escala.