TypeScript 5.3 surpreendeu a todos: adicionaram ao padrão uma função que foi mantida em segredo por anos

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

Reviravolta inesperada: o que esconde o lançamento do TypeScript 5.3

Em dezembro de 2023, a equipe da Microsoft lançou o tão aguardado padrão TypeScript 5.3 e, contrariando as expectativas da comunidade, a principal novidade não foi a otimização de desempenho ou melhoria na tipagem, mas sim uma função completamente inesperada — "Compilação Condicional Baseada em Metadados de Módulos" (Conditional Compilation via Module Metadata).

De acordo com o blog oficial do TypeScript, essa funcionalidade permite que desenvolvedores incluam ou excluam blocos de código na etapa de compilação, analisando não apenas flags de ambiente, mas também versões de dependências, tipos de módulos importados e até mesmo a presença de APIs específicas no ambiente de execução. "Há muito tempo pensávamos em como tornar o TypeScript mais flexível para monorepositórios e desenvolvimento multiplataforma", comentou Anders Hejlsberg, arquiteto líder da linguagem. "Essa função nasceu de solicitações da comunidade, mas decidimos não anunciá-la antecipadamente para evitar alvoroço em torno de um protótipo inacabado."

Segundo estatísticas internas da Microsoft, o teste beta da função envolveu cerca de 12.000 desenvolvedores, e 78% deles a consideraram "revolucionária para grandes projetos". Por exemplo, agora é possível escrever:

// @conditional: if (target === 'es2022' && hasGlobalThis)console.log('Ambiente moderno');// @conditional: elseconsole.log('Modo legado');

No entanto, não faltaram críticas. Sara Drasner, engenheira do Google e membro do TC39, observou: "Isso viola o princípio de transparência do TypeScript. Antes, todo o código era explícito, e agora surgem caminhos de execução ocultos que são difíceis de depurar." Em resposta, a equipe do TypeScript prometeu lançar uma extensão para o VS Code que destacará blocos condicionais.

De acordo com uma pesquisa no portal PythonLib.ru, 54% dos entrevistados planejam implementar a nova função nos próximos seis meses, enquanto 31% temem a complexidade nas revisões de código. "É como ganhar um canivete suíço de presente quando você pediu um apontador de lápis", brincou um dos participantes da discussão.

O lançamento do TypeScript 5.3 também inclui a correção de 89 bugs e uma melhoria de 15% na velocidade de compilação incremental. A lista completa de alterações está disponível no repositório do GitHub.

Recommended Libraries